Étape 5: El código de Arduino
Si deseas descargar el código haz clic aca
largo octets = 0 ; Tamaño de la palabra / taille du mot
letra de char ; Où cada caracter /Stores chaque lettre
Palabra de chaîne ;
int caracterDepurado ;
la LED d’int [] = {4,5,6,7,8,9,10} ; Tableau para los LED
const int capteur = 2 ; capteur de posición
estado int = 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 ;
retardo int ;
void setup() {}
Configuro los puertos de entrada y salida / réglage des ports des leds pour sortie et capteur d’entrée pinMode (sortie 4) ;
pinMode (5, sortie) ;
pinMode (6, sortie) ;
pinMode (7, sortie) ;
pinMode (sortie 8) ;
pinMode (sortie 9) ;
pinMode (sortie 10,) ;
pinMode(sensor,INPUT) ;
Serial.Begin(9600) ;
Serial.Flush() ;
Espacio entre cada letra /Space entre chaque lettre
espaciado = 9 ;
définir les points de temps apparaissent (ms)
Retardo = 3 ;
}
Para limpiar la columna / pour nettoyer la colonne ***
Sub borrar()
{
pour (int z = 0; z < 7; z ++)
{
digitalWrite(z+4,LOW) ;
}
}
//*******************************************
imprimir Sub (int caracter[]) {int y ;
Imprime la primera columna/imprime la première colonne
pour (y = 0; y < 7; y ++)
{
digitalWrite (y + 4, caracter[y]) ;
}
Delay(retardo) ;
borrar() ;
Imprime la segunda columna/imprime la deuxième colonne
pour (y = 0; y < 7; y ++)
{
digitalWrite (y + 4, caracter[y+7]) ;
}
Delay(retardo) ;
borrar() ;
Imprime la tercera columna/imprime la troisième colonne
pour (y = 0; y < 7; y ++)
{
digitalWrite (y + 4, caracter[y+14]) ;
}
Delay(retardo) ;
borrar() ;
Imprime la cuarta columna/imprime la quatrième colonne
pour (y = 0; y < 7; y ++)
{
digitalWrite (y + 4, caracter[y+21]) ;
} delay(retardo) ;
borrar() ;
Imprime la quinta columna/imprime la cinquième colonne
pour (y = 0; y < 7; y ++)
{
digitalWrite (y + 4, caracter[y+28]) ;
}
Delay(retardo) ;
borrar() ;
impression de l’espace entre les lettres pour (y = 0; y < 7; y ++)
{
digitalWrite (y + 4, 0) ;
}
Delay(espaciado) ;
}
//****************************************************************
void loop()
{
Si (Serial.available())
{
Serial.Flush() ; Limpio el tampon/nettoyer le tampon
palabra = "" ;
tandis que (Serial.available() > 0)
{
Delay(5) ;
Letra = Serial.read() ; Lee cada caracter de la palabra //Reads chaque lettre du mot
palabra = palabra + letra ;
} / / fin del tout en
} / / fin del si
Estado = digitalRead(sensor) ; verifico si ya pasó por el capteur de posición / vérifier si elle a déjà traverser le capteur de position
Largo = palabra.length() ; Calculo la longitud de la palabra / vérifie la longueur du mot
if(Estado==High) //si ya pasó / / if vient de traverser
{
pour (int x = 0; x < largo; x ++)
{char caracter = palabra.charAt(x) ; //Obtengo cada letra y la almacendo variable de la fr / obtient chaque lettre et la stocke dans la variable caracterDepurado=(caracter-'0') ; si (caracterDepurado > 0) //Esto es para evitar que se envien caracteres sans deseados
{
commutateur (caracter)
{
case « A » :
imprimir(A) ;
rupture ;
case « B » :
imprimir(B) ;
rupture ;
case « C » :
imprimir(C) ;
rupture ;
affaire aurait ":
imprimir(D) ;
rupture ;
case « E » :
imprimir(E) ;
rupture ;
case « F » :
imprimir(F) ;
rupture ;
case « G » :
imprimir(G) ;
rupture ;
case « H » :
imprimir(H) ;
rupture ;
affaire « I » :
imprimir(I) ;
rupture ;
Case « J » :
imprimir(J) ;
rupture ;
case « K » :
imprimir(K) ;
rupture ;
case « L » :
imprimir(L) ;
rupture ;
cas suis ' :
imprimir(M) ;
rupture ;
cas ' n ' :
imprimir(N) ;
rupture ;
cas ' o ' :
imprimir(O) ;
rupture ;
case « P » :
imprimir(P) ;
rupture ;
case « Q » :
imprimir(Q) ;
rupture ;
case « R » :
imprimir(R) ;
rupture ;
de l’affaire ":
imprimir (S) ;
rupture ;
affaire ' t » :
imprimir(T) ;
rupture ;
case « U » :
imprimir(U) ;
rupture ;
case « V » :
imprimir(V) ;
rupture ;
case « W » :
imprimir(W) ;
rupture ;
case « X » :
imprimir(X) ;
rupture ;
affaire « Y » :
imprimir(Y) ;
rupture ;
cas ' ' :
imprimir(_) ;
rupture ;
} //fin del interrupteur
} //fin del si
} //fin del pour
} //fin del si estado
} / / fin de boucle del