# define TASTOQ 7 # define LED1 8 # define RELE 9 int ValueQ = 0; long Tempo1 = 0; long Tempo2 = 50; int ValueCombQ =20; void setup() { pinMode(TASTOQ,INPUT ); pinMode(LED1, OUTPUT); pinMode(RELE, OUTPUT); Serial.begin(9600); } void loop() { //********** TASTO Q ***************** int StatoTastoQ; int StatoTastoQa = LOW; int valoreTastoQ = digitalRead(TASTOQ); //-------- ANTIRIMBALZO----------- if (valoreTastoQ != StatoTastoQa) {Tempo1 = millis();} if ((millis() - Tempo1) > Tempo2) {StatoTastoQ = valoreTastoQ;} StatoTastoQa = valoreTastoQ; //--------INIZIO ESECUZIONE ------------ if (valoreTastoQ == HIGH) {digitalWrite(LED1, HIGH); delay (75); digitalWrite(LED1, LOW); ValueQ = (ValueQ + 1); Serial.print("APRI "); Serial.println(ValueQ); delay (350); } if (ValueQ == ValueCombQ) { digitalWrite(RELE, HIGH); Serial.println(ValueQ); delay (350); } else { delay (350); } }
Pigiando il tasto il led si accende per una frazione di secondo ad indicare l'avvenuta pressione, il relè si ecciterà dopo aver premuto 20 volte il pulsante.