Ragazzi buonasera a tutti eccomi qui di nuovo
ho preso spunto da un ragazzo per la mia soluzione che ho ed è perfetta ma mi occorrerebbe eccitare altri 5 relay in sequenza dal pin 3 al pin 8 uno alla volta qualcuno può darmi una dritta vi prego grazie mille.
Scusate ma da Imac non riesco a trovare la parte code per inserire gli sketch abbiate tanta pazienza.
#define RELE 3 // rele collegato al pin digitale 3
#define BUTTON 2 // pulsante collegato al pin digitale 2
int rele = 0;
int val = 0;
int tasto = 0;
unsigned long inizio_rele = 0;
unsigned long inizio_tasto = 0;
unsigned long durata_rele = 10000; // 10 secondi per velocizzare le prove
unsigned long durata_tasto = 2000; // 2 secondi per stesso motivo
void setup() {
pinMode(RELE, OUTPUT); // imposta il pin digitale come output
pinMode(BUTTON, INPUT); // imposta il pin digitale come input
}
void loop() {
val = digitalRead(BUTTON); // legge il valore dell'input e lo conserva
if (val == HIGH) { // controlla se è accaduto qualcosa
inizio_rele = millis ();
tasto = tasto + 1;
rele = 1;
if (tasto == 1) { // permette di eseguire inizio_tasto=millis solo UNA volta
inizio_tasto = millis();}
if (((millis()-inizio_tasto) > durata_tasto) && (tasto >= 1)) {
rele = 0;
tasto = 0;
inizio_tasto = 0;
digitalWrite(RELE, HIGH);
delay(4000); // ritardo fondamentale perchè altrimenti allo scadere dei 2 secondi tenendo premuto il pulsante riparte tutto
}
}
else {
tasto = 0;
inizio_tasto = 0;
}
if (rele == 1) {
digitalWrite(RELE, LOW);} //accende il rele
else {
digitalWrite(RELE, HIGH); //spegne il rele
inizio_rele = 0;
}
if ((millis()-inizio_rele) >= durata_rele) {
rele = 0;
inizio_rele = 0;
digitalWrite(RELE, HIGH);
}
delay(50); // serve per evitare leggeri rimbalzi
}
[end of the code]