Go Down

Topic: Proyecto para Braille (Read 268 times) previous topic - next topic

RawrCharly

Hola que tal.

les platico,tengo este código el cual permite traducir texto por medio del monitor serial a braille y después se muestra en los 6 Leds que se han conectado en el arduino. Mi pregunta es, habrá una forma de cargar un archivo .txt y que se muestre sin tener que escribirlo, o en su defecto, dejarlo ya escrito y que haga la secuencia sin tener que hacer letra por letra de "X" texto?

ojala me puedan ayudar y muchas gracias!

Code: [Select]

int Leds[]={2,4,6,8,10,12};

void led1()
{
digitalWrite(Leds[5], HIGH);
}

void led2()
{
digitalWrite(Leds[4], HIGH);
}

void led3()
{
digitalWrite(Leds[3], HIGH);
}

void led4()
{
digitalWrite(Leds[2], HIGH);
}

void led5()
{
digitalWrite(Leds[1], HIGH);
}

void led6()
{
digitalWrite(Leds[0], HIGH);
}

void apagadoLeds()
{
delay(750);// tiempo de espera de leds encendidos

digitalWrite(Leds[0],LOW);
digitalWrite(Leds[1],LOW);
digitalWrite(Leds[2],LOW);
digitalWrite(Leds[3],LOW);
digitalWrite(Leds[4],LOW);
digitalWrite(Leds[5],LOW);

delay(750);// tiempo de espera de leds apagados
}

void setup()
{
for(int i = 0; i <= 5; i++ )
{
pinMode(Leds[i], OUTPUT);
}

Serial.begin(9600);

}

void loop()
{
if(Serial.available() >= 0)
{
int informacion = Serial.read();

switch(informacion)
{
case'a':
led1();
apagadoLeds();
break;

case'b':
led1();
led2();
apagadoLeds();
break;

case'c':
led1();
led4();
apagadoLeds();
break;

case'd':
led1();
led4();
led5();
apagadoLeds();
break;

case'e':
led1();
led5();
apagadoLeds();
break;

case'f':
led1();
led2();
led4();
apagadoLeds();
break;

case'g':
led1();
led2();
led4();
led5();
apagadoLeds();
break;

case'h':
led1();
led2();
led5();
apagadoLeds();
break;

case'i':
led2();
led4();
apagadoLeds();
break;

case'j':
led2();
led4();
led5();
apagadoLeds();
break;

case'k':
led1();
led3();
apagadoLeds();
break;

case'l':
led1();
led2();
led3();
apagadoLeds();
break;

case'm':
led1();
led3();
led4();
apagadoLeds();
break;

case'n':
led1();
led3();
led4();
led5();
apagadoLeds();
break;

case'ñ':
led1();
led2();
led4();
led5();
led6();
apagadoLeds();
break;

case'o':
led1();
led3();
led5();
apagadoLeds();
break;

case'p':
led1();
led2();
led3();
led4();
apagadoLeds();
break;

case'q':
led1();
led2();
led3();
led4();
led5();
apagadoLeds();
break;

case'r':
led1();
led2();
led3();
led5();
apagadoLeds();
break;

case's':
led2();
led3();
led4();
apagadoLeds();
break;

case't':
led2();
led3();
led4();
led5();
apagadoLeds();
break;

case'u':
led1();
led3();
led6();
apagadoLeds();
break;

case'v':
led1();
led2();
led3();
led6();
apagadoLeds();
break;

case'w':
led2();
led4();
led5();
led6();
apagadoLeds();
break;

case'x':
led1();
led3();
led4();
led6();
apagadoLeds();
break;

case'y':
led1();
led3();
led4();
led5();
led6();
apagadoLeds();
break;

case'z':
led1();
led3();
led5();
led6();
apagadoLeds();
break;

default:
break;

}//FIN del switch(informacion)
}//FIN del if(Serial.available() &gt; 0)

}

noter

¿Te refieres a cargar el archivo en el propio arduino, o cargarlo en el monitor serie y enviarlo?
En el primer caso, y para saber si cabría en progmem o en EEPROM ¿Qué tamaño puede tener el texto a enviar?

Por cierto, el código que pones se puede optimizar mucho.

Go Up