Arduino POV controlado desde Android (5 / 6 steg)
Steg 5: El código de Arduino
SI deseas descargar el código haz clic aca
byte largo = 0; Tamaño de la palabra / storlek av ordet
char letra; Almacena cada caracter /Stores varje brev
Sträng palabra;
int caracterDepurado;
int lysdioder [] = {4,5,6,7,8,9,10}. Matrisen para los lysdioder
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 en [] = {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 jag [] = {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 / inställning portarna på lysdioderna till utgång och sensor till INPUT pinMode (4, OUTPUT);
pinMode (5, OUTPUT);
pinMode (6, OUTPUT);
pinMode (7, OUTPUT);
pinMode (8, OUTPUT);
pinMode (9, OUTPUT);
pinMode (10, OUTPUT);
pinMode(sensor,INPUT);
Serial.BEGIN(9600);
Serial.flush();
Espacio entre cada letra /Space mellan varje bokstav
espaciado = 9;
definiera tid prickar visas (ms)
Retardo = 3;
}
Para limpiar la columna / för rengöring kolumn ***
void borrar()
{
för (int z = 0; z < 7; z ++)
{
digitalWrite(z+4,LOW);
}
}
//*******************************************
void imprimir (int caracter[]) {int y;
Imprime la primera columna/Prints första kolumnen
för (y = 0; y < 7; y ++)
{
digitalWrite (y + 4, caracter[y]);
}
Delay(Retardo);
borrar();
Imprime la segunda columna/skriver ut den andra kolumnen
för (y = 0; y < 7; y ++)
{
digitalWrite (y + 4, caracter[y+7]);
}
Delay(Retardo);
borrar();
Imprime la tercera columna/Prints den tredje kolumnen
för (y = 0; y < 7; y ++)
{
digitalWrite (y + 4, caracter[y+14]);
}
Delay(Retardo);
borrar();
Imprime la cuarta columna/Prints fjärde kolumnen
för (y = 0; y < 7; y ++)
{
digitalWrite (y + 4, caracter[y+21]);
} delay(retardo);
borrar();
Imprime la quinta columna/Prints femte kolumnen
för (y = 0; y < 7; y ++)
{
digitalWrite (y + 4, caracter[y+28]);
}
Delay(Retardo);
borrar();
skriva ut utrymmet mellan bokstäverna för (y = 0; y < 7; y ++)
{
digitalWrite (y + 4, 0);
}
Delay(espaciado);
}
//****************************************************************
void loop()
{
om (Serial.available())
{
Serial.flush(); Limpio el buffert/Clean bufferten
Palabra = "";
medan (Serial.available() > 0)
{
Delay(5);
Letra = Serial.read(); Lee cada caracter de la palabra //Reads varje bokstav i ordet
Palabra = palabra + letra;
} / / fin del medan
} / / fin del om
Estado = digitalRead(sensor); verifico si ya pasó por el sensor de posición / check om redan korsa lägesgivare
Largo = palabra.length(); Cálculo la longitud de la palabra / kontrollerar längden på ordet
IF(Estado==High) //si ya pasó / / om har precis passerat
{
för (int x = 0; x < largo; x ++)
{char caracter = palabra.charAt(x); //Obtengo cada letra y la almacendo en la variabel / erhåller varje bokstav och lagrar på den variabla caracterDepurado=(caracter-'0'); om (caracterDepurado > 0) //Esto es para evitar que se envien caracteres ingen deseados
{
Switch (smak)
{
fallet "A":
Imprimir(A);
bryta;
fallet "B":
Imprimir(B);
bryta;
fallet "C":
Imprimir(C);
bryta;
fall skulle ":
Imprimir(D);
bryta;
fallet "E":
Imprimir(E);
bryta;
fallet "F":
Imprimir(F);
bryta;
fallet "G":
Imprimir(G);
bryta;
fallet "H":
Imprimir(H);
bryta;
fallet "I":
Imprimir(I);
bryta;
fallet "J":
Imprimir(J);
bryta;
fallet "K":
Imprimir(K);
bryta;
fallet "L":
Imprimir(L);
bryta;
fallet är ":
Imprimir(M);
bryta;
fallet 'N':
Imprimir(N);
bryta;
fallet ' o ':
Imprimir(O);
bryta;
fallet "P":
Imprimir(P);
bryta;
fallet "Q":
Imprimir(Q);
bryta;
fallet "R":
Imprimir(R);
bryta;
fallet ":
Imprimir (S);
bryta;
'T i mål ":
Imprimir(T);
bryta;
fallet "U":
Imprimir(U);
bryta;
fallet "V":
Imprimir(V);
bryta;
fallet "W":
Imprimir(W);
bryta;
fallet "X":
Imprimir(X);
bryta;
fall "Y":
Imprimir(Y);
bryta;
fallet "":
Imprimir(_);
bryta;
} //fin del switch
} //fin del om
} //fin del för
} //fin del om estado
} / / fin del loop