Oggi leggerai come realizzare un Tinkercad Circuit led temporizzato ossia modificare il solo sketch di un circuito esistente per temporizzare l’accensione di un led
Fai un passo indietro e parti dal Tutorial led e pulsante se non ricordi come avevamo costruito il circuito e realizzato lo sketch, ti riporto anche il video tutorial realizzato per quell’occasione:
Nel precedente tutorial hai imparato a costruire un circuito in cui sono presenti un led ed un pulsante ed hai appreso come poter accendere facilmente un led.
Premessa sul Tinkercad Circuit led temporizzato
In questo Tinkercad Circuit led temporizzato userai il medesimo circuito e modificherai solo il codice del tutorial per ottenere una accensione temporizzata.
Per chiarezza una luce temporizzata è simile a quella che trovi in molti androni delle scale nei condomini, quando premi il pulsante di accensione essa si accende illuminando le scale e permettendoti di salire in tutta sicurezza.
Trascorso il tempo impostato per consentirti di compiere una o più rampe di scale la luce si spegne.
Taluni condomini impostano il tempo di accensione tale per cui tu possa raggiungere un successivo pulsante e procedere oltre tale tipo di accensione la vedremo in un successivo tutorial.
Tinkercad Circuit led temporizzato
Eccoci finalemente al tinkercad circuit led temporizzato, in primo luogo ti lascio alla visione del video:
Hai visto come è semplice la modifica che puoi eseguire per passare dalla accensione diretta del led alla temporizzazione della stessa?
Ecco il codice, che hai già intravisto nel tutorial e che puoi trovare nel progetto condiviso su tinkercad
#define pinLed 3 #define pinButt 2 void setup() { pinMode(pinLed, OUTPUT); pinMode(pinButt, INPUT); } void loop() { if (digitalRead(pinButt)) { digitalWrite(pinLed, digitalRead(pinButt)); delay(10000); // Wait for 10 seconds before light off the led } digitalWrite(pinLed, 0 ); // Otherwise light off the led delay(100); }
In cui le sole linee che dovrai aggiungere riguardano la condizione di IF atta a rilevare che il pulsante sia stato premuto e che impone allo sketch un delay di 10000 millisecondi ossia 10 secondi.
Ricorda che il delay è un comando di arresto dello sketch e che per tale motivo non potrà avvenire nessuna azione durante l’eseguzione del comando stesso da parte del’arduino.
Se vuoi, prova a modificare lo sketch per ottenere che il pulsante sia rilevato anche durante l’accensione del ed in questa situazione prolunghi di altri 10 secondi il tempo di accensione del led.
2 commenti
buona sera mi scuso del disturbo ho bisogno di un suo aiuto.
devo eseguire un circuito con arduino nano che esegue questa cosa:
quando un sensore magnetico (n.c.) a riposo si apre deve far accendere un led per 3 circa 15 secondi poi si spegne
pero se entro questi 15 secondi il sensore si chiude nuovamente il led deve spegnersi .
ovviamente se sono passati i 15 secondi e il led si e spento per accendere il tutto si deve portare il contatto magnetico alla condizione iniziale n.c. per poi ripetersi la procedura se lo si apre .
la ringrazio fin da ora
Autore
Ciao Christian,
ti suggerisco di leggere e studiare come funziona il comando millis() è certamente la soluzione migliore in questo caso.