Salve a tutti. Sono alle prime armi e mi scuso in anticipo se scrivo delle inesattezze. Sto usando due pulsanti con la libreria oneButton. Entrambi servono per comandare due relè (al momento sostituiti con due led). Sono utilizzati all'interno di due funzione static void click1() e static void click2(). Nella click2(), sono presenti due if che verificano se il rele è acceso o spento. Ora avrei la necessità d'inserire un ritardo allo spegnimento del relè di 10 secondi.
Ho provato ad implementare una funzione millis() ma non ci sono riuscito. Potete aiutarmi? Grazie in anticipo.
static void click1() {
int ledMute = digitalRead(8);
digitalWrite(8, LOW);
u8x8.display();
u8x8.clearDisplay();
int ledOff = 0;
digitalWrite(4, !digitalRead(4));
ledOff = digitalRead(4);
if (ledOff == LOW) {
EEPROM.update(0, ledIngressi);
EEPROM.update(1, ore);
EEPROM.update(2, minuti);
delay(200);
//Funzione spegnimento
int valPot = analogRead(A0);
int percVolume = map(valPot, 0, 1023, 0, 99);
valoreVolume();
u8x8.setFont(u8x8_font_8x13_1x2_r);
u8x8.setCursor(2, 5);
u8x8.print("ATTENDERE...");
while (percVolume >= 10) {
digitalWrite(led_down, HIGH);
valPot = analogRead(A0);
percVolume = map(valPot, 0, 1023, 0, 100);
valoreVolume();
}
u8x8.display();
u8x8.clearDisplay();
u8x8.setFont(u8x8_font_8x13_1x2_r);
u8x8.setCursor(0, 4);
u8x8.print(" <<< OFF >>> ");
delay(5000);
u8x8.clearDisplay();
}
//Fine funzione spegnimento
if (ledOff == HIGH) {
switch (ledIngressi) {
u8x8.setFont(u8x8_font_8x13_1x2_r);
case 1:
u8x8.setFont(u8x8_font_8x13_1x2_r);
u8x8.draw2x2String(3, 4, "PHONO");
break;
case 2:
u8x8.setFont(u8x8_font_8x13_1x2_r);
u8x8.draw2x2String(2, 4, " CD ");
break;
case 3:
u8x8.setFont(u8x8_font_8x13_1x2_r);
u8x8.draw2x2String(2, 4, " AUX1 ");
break;
case 4:
u8x8.setFont(u8x8_font_8x13_1x2_r);
u8x8.draw2x2String(2, 4, " AUX2 ");
break;
default:
break;
}
}
}