Relè temporizzato luce scale con funzioni avanzate (a scopo didattico)

Salve a tutti.
Ebbene come da titolo stavo pensando di realizzare a scopo didattico un relè temporizzato luce scale aggiungendovi delle funzioni avanzate.

Il funzionamento che ho in mente è il seguente:

Funzionamento standard
Alla pressione di uno dei diversi pulsanti che andrò a collegare ai pin di Arduino si dovrà attivare un relè sul quale collegherò una lampada o una linea di lampade alimentate a 24V.
Le lampade dovranno accedersi subito e spegnersi topo un tempo prestabilito.

Funzioni avanzate
Alla pressione prolungata di uno dei vari pulsanti per più di 5 secondi vorrei che la lampada rimanga accesa in modo fisso (esclusione temporizzatore) questa funzione dovrà essere disattivata premendo nuovamente uno dei vari pulsanti anche solo per un secondo.

Successive varianti
Successivamente penso di aggiungerci ulteriori funzioni avanzate come del tipo:
Crepuscolare, orologio oppure entrambi, per far sì che sia possibile accendere le lampade in determinati orari/giorni e solamente se c’è una luminosità troppo bassa. Come ulteriore variante penso di sostituire i pulsanti e metterci al loro posto un sensore di movimento.

Per motivi didattici e di sicurezza credo che partirò nel realizzare tutto questo, con dei semplici led, breadbord, Arduino UNO, e pulsanti relativi.

Correggetemi se sbaglio ma uno starter kit dovrebbe andare bene, contenere tutto l’occorrente, giusto?

Partirò dal realizzare le funzioni più semplici e man mano che andrò avanti spero, soprattutto con il vostro aiuto, di poter implementare le funzioni più complesse.

Al fine di utilità, per esercitarmi nella programmazione di Arduino, capire il suo funzionamento, come programarlo, credo che già realizzare uno sketch circuito simile sia abbastanza impegnativo.

Consigli?

Grazie a tutti!!

Ahi ahi ahi REGOLAMENTO punto 15 e precisamente 15.3 correggi il post in modo da renderlo conforme al regolamento, sempre che non arrivi prima un mod :smiling_imp:

fabpolli:
Ahi ahi ahi REGOLAMENTO punto 15 e precisamente 15.3 correggi il post in modo da renderlo conforme al regolamento, sempre che non arrivi prima un mod :smiling_imp:

Fatto!! Grazie 1000!!!
Comunque non è mia intenzione mettere mano all'impianto elettrico!! :smiley:
Quanto da me riportato, sempre a fine didattico, per imparare ad usare Arduino, capire l’importanza, potenzialità della programmazione e quali possano essere le applicazioni di utilizzo di microcontrollore.
Grazie ancora, c’è sempre da imparare…

Al fine di utilità, per esercitarmi nella programmazione di Arduino, capire il suo funzionamento, come programarlo, credo che già realizzare uno sketch circuito simile sia abbastanza impegnativo.

Si forse anche troppo ambizioso, ma apprezzo la volontà e la visione. Ovviamente (ma non è detto che lo sia) partirai con un solo led e un solo pulsante. Studierai come eseguire del codice se e solo se il tempo trascorso è uguale o maggiore dell'intervallo desiderato, per fare ciò si usa la funzione millis().

Ciao.

Si, uno starter kit potrebbe fare al caso tuo, visto che sei all'inizio e non sono note le tue conoscenze di elettronica/programmazione magri valuta l'acquisto anche di uno starter kit con libro corredato da esempi ed esercizi,c'è anche questo scritto dal buon @leo72

E fin da subito come un mantra: no all'uso della classe String, no all'uso del delay() (visto quello che ti frulla in mente per il progetto) ma tutte le temporizzazioni fatte con codice non bloccante (quindi uso di millis() ) ed infine no all'uso della classe String :slight_smile:

Edit: Sovrapposto a @Maurotec