Paso 5: El código de Arduino
Si deseas descargar el código haz clic aca
byte largo = 0; Tamaño de la palabra / tamaño de la palabra
char letra; Almacena cada caracter /Stores cada letra
String palabra;
int caracterDepurado;
int leds [] = {4,5,6,7,8,9,10}; Matriz para los leds
const int sensor = 2; sensor de posición
int estado = 0;
int [] _ = {0,0,0,0,0,0,0 0,0,0,0,0,0,0 0,0,0,0,0,0,0, 0,0,0,0,0,0,0, 0,0,0,0,0,0,0};
int A [] = {0,1,1,1,1,1,1, 1,0,0,1,0,0,0, 1,0,0,1,0,0,0, 1,0,0,1,0,0,0, 0,1,1,1,1,1,1};
int B [] = {1,1,1,1,1,1,1, 1,0,0,1,0,0,1, 1,0,0,1,0,0,1, 1,0,0,1,0,0,1, 0,1,1,0,1,1,0};
int C [] = {0,1,1,1,1,1,0, 1,0,0,0,0,0,1, 1,0,0,0,0,0,1, 1,0,0,0,0,0,1, 1,0,0,0,0,0,1};
int D [] = {1,1,1,1,1,1,1, 1,0,0,0,0,0,1, 1,0,0,0,0,0,1, 1,0,0,0,0,0,1, 0,1,1,1,1,1,0};
int E [] = {1,1,1,1,1,1,1, 1,0,0,1,0,0,1, 1,0,0,1,0,0,1, 1,0,0,1,0,0,1, 1,0,0,1,0,0,1};
int F [] = {1,1,1,1,1,1,1, 1,0,0,1,0,0,0, 1,0,0,1,0,0,0, 1,0,0,1,0,0,0, 1,0,0,1,0,0,0};
int G [] = {1,1,1,1,1,1,1, 1,0,0,0,0,0,1, 1,0,0,1,0,0,1, 1,0,0,1,0,0,1, 1,0,0,1,1,1,1};
int H [] = {1,1,1,1,1,1,1, 0,0,0,1,0,0,0, 0,0,0,1,0,0,1, 0,0,0,1,0,0,0, 1,1,1,1,1,1,1};
int I [] = {1,0,0,0,0,0,1, 1,0,0,0,0,0,1, 1,1,1,1,1,1,1, 1,0,0,0,0,0,1, 1,0,0,0,0,0,1};
int J [] = {0,0,0,0,1,1,0, 0,0,0,0,0,0,1, 0,0,0,0,0,0,1, 0,0,0,0,0,0,1, 1,1,1,1,1,1,0};
[] int K = {1,1,1,1,1,1,1, 0,0,0,1,0,0,0, 0,0,1,0,1,0,0, 0,1,0,0,0,1,0, 1,0,0,0,0,0,1};
int L [] = {1,1,1,1,1,1,1, 0,0,0,0,0,0,1, 0,0,0,0,0,0,1, 0,0,0,0,0,0,1, 0,0,0,0,0,0,1};
int M [] = {1,1,1,1,1,1,1, 0,1,0,0,0,0,0, 0,0,1,1,0,0,0, 0,1,0,0,0,0,0, 1,1,1,1,1,1,1};
int N [] = {1,1,1,1,1,1,1, 0,1,0,0,0,0,0, 0,0,1,0,0,0,0, 0,0,0,1,0,0,0, 1,1,1,1,1,1,1};
int O [] = {0,1,1,1,1,1,0, 1,0,0,0,0,0,1, 1,0,0,0,0,0,1, 1,0,0,0,0,0,1, 0,1,1,1,1,1,0};
int P [] = {1,1,1,1,1,1,1, 1,0,0,1,0,0,0, 1,0,0,1,0,0,0, 1,0,0,1,0,0,0, 0,1,1,0,0,0,0};
int Q [] = {0,1,1,1,1,0,0, 1,0,0,0,0,1,0, 1,0,0,0,0,1,0, 1,0,0,0,0,1,0, 0,1,1,1,1,0,1};
int R [] = {1,1,1,1,1,1,1, 1,0,0,1,0,0,0, 1,0,0,1,0,0,0, 1,0,0,1,0,0,0, 0,1,1,0,1,1,1};
int S [] = {0,1,1,0,0,0,0, 1,0,0,1,0,0,1, 1,0,0,1,0,0,1, 1,0,0,1,0,0,1, 0,0,0,0,1,1,0};
int T [] = {1,0,0,0,0,0,0, 1,0,0,0,0,0,0, 1,1,1,1,1,1,1, 1,0,0,0,0,0,0, 1,0,0,0,0,0,0};
int U [] = {1,1,1,1,1,1,0, 0,0,0,0,0,0,1, 0,0,0,0,0,0,1, 0,0,0,0,0,0,1, 1,1,1,1,1,1,0};
int V [] = {1,1,1,1,1,0,0, 0,0,0,0,0,1,0, 0,0,0,0,0,0,1, 0,0,0,0,0,1,0, 1,1,1,1,1,0,0};
int W [] = {1,1,1,1,1,1,1, 0,0,0,0,0,1,0, 0,0,0,0,1,0,0, 0,0,0,0,0,1,0, 1,1,1,1,1,1,1};
int X[] = {1,0,0,0,0,0,1, 0,1,0,0,0,1,0, 0,0,1,1,1,0,0, 0,1,0,0,0,1,0, 1,0,0,0,0,0,1};
int Y [] = {1,1,1,0,0,0,0, 0,0,0,1,0,0,0, 0,0,0,0,1,1,1, 0,0,0,1,0,0,0, 1,1,1,0,0,0,0};
int Z [] = {1,0,0,0,0,1,1, 1,0,0,0,1,0,1, 1,0,0,1,0,0,1, 1,0,1,0,0,0,1, 1,1,0,0,0,0,1};
int espaciado;
int retardo;
void setup() {}
Configuro los puertos de entrada y salida / configuración de los puertos de los leds de salida y sensor a entrada pinMode (4, salida);
pinMode (5, salida);
pinMode (6, salida);
pinMode (7, salida);
pinMode (8, salida);
pinMode (9, salida);
pinMode (10, salida);
pinMode(sensor,INPUT);
Serial.Begin(9600);
Serial.Flush();
Espacio entre cada letra /Space entre cada letra
espaciado = 9;
definir los puntos de tiempo aparecen (ms)
retardo = 3;
}
Para limpiar la columna para limpiar la columna ***
void borrar()
{
para (int z = 0; z < 7; z ++)
{
digitalWrite(z+4,LOW);
}
}
//*******************************************
void imprimir (int caracter[]) {int y;
Fotografía de la primera columna/impresiones de la primera columna
para (y = 0; y < 7; y ++)
{
digitalWrite (y + 4, caracter[y]);
}
Delay(retardo);
borrar();
Fotografía de la segunda columna/imprime la segunda columna
para (y = 0; y < 7; y ++)
{
digitalWrite (y + 4, caracter[y+7]);
}
Delay(retardo);
borrar();
La fotografía tercera columna/imprime la tercera columna
para (y = 0; y < 7; y ++)
{
digitalWrite (y + 4, caracter[y+14]);
}
Delay(retardo);
borrar();
Fotografía de la cuarta columna/impresiones de la cuarta columna
para (y = 0; y < 7; y ++)
{
digitalWrite (y + 4, caracter[y+21]);
} delay(retardo);
borrar();
Fotografía de la quinta columna/impresiones de la quinta columna
para (y = 0; y < 7; y ++)
{
digitalWrite (y + 4, caracter[y+28]);
}
Delay(retardo);
borrar();
el espacio entre las letras para la impresión (y = 0; y < 7; y ++)
{
digitalWrite (y + 4, 0);
}
Delay(espaciado);
}
//****************************************************************
void loop()
{
Si (Serial.available())
{
Serial.Flush(); Limpio el buffer/limpiar el buffer
palabra = "";
mientras que (Serial.available() > 0)
{
Delay(5);
letra = Serial.read(); Lee cada caracter de la palabra //Reads cada letra de la palabra
palabra = palabra + letra;
} / / fin del mientras
} / / fin del si
Estado = digitalRead(sensor); verifico si ya pasó por el sensor de posición / verifica si ya el sensor de posición de la Cruz
largo = palabra.length(); Cálculo de la longitud de la palabra / comprueba la longitud de la palabra
if(estado==High) //si ya pasó / / si solo ha cruzado
{
para (int x = 0; x < largo; x ++)
{char caracter = palabra.charAt(x); la de y de letra de la cada de la //Obtengo almacendo en la variable obtiene cada letra y almacena en la variable caracterDepurado=(caracter-'0'); si (caracterDepurado > 0) //Esto es para evitar se envien inteligentes no deseados
{
interruptor (caracter)
{
caso 'A':
Imprimir(A);
rotura;
caso 'B':
Imprimir(B);
rotura;
caso 'C':
Imprimir(C);
rotura;
caso sería ':
Imprimir(D);
rotura;
caso 'E':
Imprimir(E);
rotura;
caso 'F':
Imprimir(F);
rotura;
caso 'G':
Imprimir(G);
rotura;
caso 'H':
Imprimir(H);
rotura;
caso 'I':
Imprimir(I);
rotura;
caso 'J':
Imprimir(J);
rotura;
caso 'K':
Imprimir(K);
rotura;
caso 'L':
Imprimir(L);
rotura;
caso soy ':
Imprimir(M);
rotura;
caso ' n ':
Imprimir(N);
rotura;
caso ' o ':
Imprimir(O);
rotura;
caso 'P':
Imprimir(P);
rotura;
caso 'Q':
Imprimir(Q);
rotura;
caso 'R':
Imprimir(R);
rotura;
de caso ':
Imprimir (S);
rotura;
caso ' t ':
Imprimir(T);
rotura;
caso 'U':
Imprimir(U);
rotura;
caso 'V':
Imprimir(V);
rotura;
caso 'W':
Imprimir(W);
rotura;
caso 'X':
Imprimir(X);
rotura;
caso 'Y':
Imprimir(Y);
rotura;
caso ' ':
Imprimir(_);
rotura;
} //fin del interruptor
} //fin del si
} //fin para
} //fin del si estado
} / / fin del bucle