Hola mi nombre es Marcos y estoy empezando en el mundo arduino. Y quiero dar las gracias a los cradores de este foro, por que creo que sin el muchos de los problemas que tenemos con arduino no se solventarian.
Queria hacer una pregunta a ver si me la pod茅is ayudar, se que esta mas que hablado...pero no me entero .
He conectado una tira de led al arduino y quiero saber si se puede sustituir y como, los delay. es decir
ense帽o un trozo de c贸digo para ver de lo que hablo.
Hay alguna forma de sustituir los delay por millis() para que siga ejecutandose el c贸digo a la vez de que hace el FOR y no se bloque la hora?
Con lo que tengo ahora y veis, cuando se ejecuta el loop() (l贸gicamente) muestra en pantalla lcd la hora minutos y segundos pero cuando
llega al for, la hora deja de funcionar y se bloquea, hasta que el delay acaba, no se si me explico bien, se que se puede sustituir los delay por millis....pero no se que como meter el c贸digo
he visto por ahi tutos pero no soy capaz...me podr铆ais decir como y donde poner los mills??
MIL GRACIAS
PARTE DEL CODIGO A CONTINUACION
C贸digo:
//falta los include (ya lo se)
void setup()
{pinMode(ledBlanco, OUTPUT);
lcd. clear();
Serial.begin(9600); // Establece la velocidad de datos del puerto serie
Wire.begin(); // Establece la velocidad de datos del bus I2C
RTC.begin(); // Establece la velocidad de datos del RTC
lcd.begin(16, 2); //Configuramos el numero de caracteres y filas a utiliza
}void loop()
{
if (now.month()==1 && now.day () >=1 && now.day () <=15 && now.hour()==8 && now.minute()==35)
{lcd.setCursor(3,1);
// DateTime now = RTC.now();
lcd.print(now.hour(), DEC);
lcd.print('/');
lcd.print(now.minute(), DEC);
lcd.print('/');
lcd.print(now.second(), DEC);for (int brillo=0; brillo<255; brillo++) {
analogWrite(ledBlanco, brillo);
delay (4615);}lcd.setCursor(3,1);
// DateTime now = RTC.now();
lcd.print(now.hour(), DEC);
lcd.print('/');
lcd.print(now.minute(), DEC);
lcd.print('/');
lcd.print(now.second(), DEC);analogWrite(ledBlanco, 255);
delay (33480000);lcd.setCursor(3,1);
// DateTime now = RTC.now();
lcd.print(now.hour(), DEC);
lcd.print('/');
lcd.print(now.minute(), DEC);
lcd.print('/');
lcd.print(now.second(), DEC);for (int brillo=255; brillo>0; brillo--) {
analogWrite(ledBlanco, brillo);
delay (6923);
analogWrite(ledBlanco, 0);}