cioa a tutti, sono ai primi tentativi di utilizzo di Arduino e ho la necessità di far accendere un led dopo alcuni secondi che ho chiuso un interruttore, ma si deve spegnere immediatamente quando lo apro.
Ho modificato un listato, non mio, ma quando riapro l'interruttore il led si spegne con un ritardo piu o meno lungo. Qualcuno mi suggerisce come correggerlo ? grazie
#define LED 13 // LED collegato al pin digitale 13 #define BUTTON 7 // pin di input dove è collegato il pulsante
int val = 0; // si userà val per conservare lo stato del pin di input
void setup() {
pinMode(LED, 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
// controlla che l'input sia HIGH (pulsante premuto)
if (val == HIGH) {
delay(15000); // ritarda x secondi
digitalWrite(LED, HIGH); //accende il led
}
else {
digitalWrite(LED, LOW); //spegne il led
}
}
#define LED 13 // LED collegato al pin digitale 13
#define BUTTON 7 // pin di input dove è collegato il pulsante
void setup() {
pinMode(LED, OUTPUT); // imposta il pin digitale come output
pinMode(BUTTON, INPUT); // imposta il pin digitale come input
}
void loop() {
while (digitalRead(BUTTON)) {
delay(15000); // ritarda x secondi
digitalWrite(LED, HIGH); //accende il led
}
digitalWrite(LED, LOW); //spegne il led
Questo preclude che se l' ingresso è alto continua a ciclare all' infinito, ma appena cambia di stato smette e quindi fa l' istruzione dopo.
Ricordati di mettere la resistenza di pull-down
Ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post (in basso a destra del post, bottone More -> Modify) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra).
paulus1969:
Sarebbe meglio sistemare il regolamento, fa riferimento al vecchio sistema.
... lo so, ma NON è possibile toccare/correggere quel post
Difatti, come avrai notato, tutte le novità sono state messe in post successivi, quello originale di "Nick Gammon" non può essere più toccato causa le limitazioi che hanno successivamente introdotto sulla lunghezza dei post.
Per questo io ogni volta metto la spiegazione di come fare !