Solucionado Gracias
Hola, ya pude hacer el cliclo distinto
byte D[] = { 0x0, 0x8, 0xC, 0xFE, 0xFE, 0xFE, 0xC, 0x8};
byte O[] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
byte I[] = { 0x0, 0x10, 0x30, 0x7F, 0xFF, 0x7E, 0x30, 020};
void setup() // Prog_36_1
{ for (int j = 2; j < 19; j++)
pinMode(j, OUTPUT);
Serial.begin(9600);
}
void SetChar(char p)
{
Clear();
for (int fil = 0; fil < 8 ; fil++)
{
digitalWrite( fil + 10 , LOW) ; // Activamos la fila para el barrido
//byte F = N[fil] ;
byte F = Selecciona( p, fil);
for (int col = 7; col >= 0 ; col--)
{
digitalWrite(8 - col, LOW); //Bajamos la columna
bool b = GetBit(F, col) ;
if (b)
digitalWrite( 9 - col , HIGH); //Levantamos la columna, con su pin
else
digitalWrite( 9 - col , LOW); // Si 0, apagamos
} // Solo si b es 1
digitalWrite( fil + 10 , HIGH) ; // Apagamos fila antes de salir
}
}
bool GetBit( byte N, int pos)
{ // pos = 7 6 5 4 3 2 1 0
int b = N >> pos ; // Shift bits
b = b & 1 ; // coger solo el ultimo bit
return b ;
}
void Clear()
{
for (int j = 2; j < 10; j++) // Valores de los pines de columna
digitalWrite(j, LOW); // Todos apagados
for (int k = 10 ; k < 18 ; k++)
digitalWrite(k, HIGH); // Todas las filas cortadas
}
byte Selecciona( char c, byte fil)
{
if ( c == 'D') return ( D[fil]) ;
if ( c == 'O') return ( O[fil]) ;
if ( c == 'I') return ( I[fil]);
}
void loop()
{
int n = 1; // Se utiliza para controlar si va a la izquierda o a la derecha (0 para Derecha, uno para izquierda)
String s = "" ;
if (n == 0)
s = "DOODOODO";
else
s = "IOOIOOIOO";
int l = s.length(); // Calcula la longitus de s
for ( int n = 0; n < l; n++ )
{
long t = millis();
char c = s[n];
while ( millis() < t + 1000)
SetChar(c);
}
}
La cosa es, como hago para integrar un Bluethoot H-05, para poder controlar la variable “n”
Gracias
Que es Solucionado Gracias y luego el código, no se entiende nada?
Dame una razón para no borrar este hilo porque no puedes comenzar algo con
Andres1421:
Solucionado Gracias