In questo articolo vi mostro il progetto della lampada d’emergenza che mi sono autocostruito con l’utilizzo di arduino e qualche componente low-cost.
Introduzione
Quante volte vi sarà capitato che va via la luce e sembra di tornare all’età della pietra? Ovviamente senza corrente non funziona più nulla e, considerato che in casa ormai tutto è elettrico, rimaniamo bloccati con quel senso di smarrimento e quella faccia da “E ora?!”.
Per limitare il senso di smarrimento è utile avere in casa una lampada d’emergenza che appena va via la corrente, entri in funzione e illumini l’ambiente in cui è installata, magari per “accorgersi” che viviamo con altre persone e chissà, magari rafforzando proprio i rapporti interpersonali con i presenti.
A parte gli scherzi è di indubbia utilità avere una lampada d’emergenza. Io ne possedevo una dismessa da chissadove non più funzionante, ma non era il neon che si era guastato, bensì la parte elettronica di controllo. E’ così che ho deciso di rifarla funzionare ma a modo mio e con cosa se non con il solito e mitico arduino?
Cosa occorre
Prima di ogni cosa ribadisco sempre che non sono responsabile dei danni che possono derivare dall’uso delle informazioni contenute in queste pagine, questi sono solo progetti che io faccio per me e condivido con voi. Per chi è alle prime armi consiglio di farsi consigliare da qualcuno esperto, perchè oltre a rischiare incendi per sovraccarichi o corto-circuiti potreste “prendere la corrente” ad alta tensione e vi assicuro che non è una bella sensazione. Usate queste informazioni a vostro rischio e pericolo.
Per iniziare ovviamente ci servono alcuni materiali di seguito elencati:
- una vecchia lampada d’emergenza per usarne l’involucro (potreste anche crearlo da voi)
- un trasformatore AC-DC 220v-12v da almeno 500mA (io ho usato uno simile a questo)
- un pacco batterie da 7,2V ricaricabile (io ho usato 6 batterie in serie da 1,2V – 2000 mAh)
- arduino pro mini (o uno qualsiasi)
- modulo relè 5v
- modulo boost DC-DC (step-up)
- integrato LM317 con dissipatore annesso
- integrato L4940V5 (potrebbe andare bene anche L7805)
- una striscia a led tagliata a 7 watt di consumo
- 3 diodi 1N4007
- 1 resistenza da 1/2 watt da 6.8 Ω
- 1 resistenza da 670 Ω
- 1 resistenza da 400 Ω
- 2 resistenze da 300 Ω
- 2 resistenze da 200 Ω
- 1 resistenza da 100 Ω
- manualità con il saldatore 🙂
Procedimento
Considerate le ridotte dimensioni degli spazi disponibili all’interno dell’involucro della lampada, ho dovuto smontare ed estrarre l’integrato del trasformatore come in foto
Dopo avere tolto tutta la componentistica dalla vecchia lampada d’emergenza ho collegato in serie ed incollato due striscette a led per un carico totale di 7 Watt (30 led tipo 5050) nella parte anteriore della lampada come si evince dalla foto seguente
Ho chiaramente provato le strisce a led prima di incollarle per evitare falsi contatti che avrebbero reso il processo più difficoltoso. Come potete vedere ho fissato le strisce, oltre che con la propria colla adesiva, anche con qualche punto di colla a caldo perchè, per esperienza, so che nel tempo tendono a scollarsi, il che avrebbe portato ad una manutenzione futura che, dopo il fissaggio al muro, sarebbe stata alquanto scomoda.
Dopo ho saldato le 6 pile da 1,2v in serie e ho iniziato a provare le connessioni con i componenti su una breadboard per verificarne il funzionamento e settare i limiti di carica/scarica della batteria.
Dopo piccole modifiche ed aggiustamenti pubblico lo schema della mia lampada perfettamente funzionante
L’utilizzo di varie resistenze per creare dei partitori di tensione è stato necessario per da avere in ingresso delle porte analogiche dell’arduino una tensione massima di circa 5v, per tale ragione vi ho allegato sulla sinistra uno schema con la formula dei partitori, così da potervi, all’occorrenza, personalizzare il circuito.
Ho adoperato l’LM317 come limitatore di corrente (circa 200 mAh), ma che necessita ovviamente di un dissipatore e di una resistenza di almeno 1/2 watt.
Inoltre ho utilizzato l’integrato L4940V5 che dà in uscita una tensione fissa di 5v per alimentare l’arduino, nonchè il modulo relè. Si può usare anche il meno costoso L7805, ma il primo ha una caduta di tensione molto più bassa e considerato che l’alimentazione la prende dalle batterie, se la tensione scende sotto i 6v potrebbe non alimentare correttamente l’arduino.
Il resto del circuito è abbastanza chiaro, se presente la 220v, quindi la 12v, in automatico si accende il led verde e l’ingresso A0 rileva circa 5v, accendendo il led giallo segnale di carica.
La tensione in ingresso verso il positivo delle batterie, dopo i diodi e LM317, è di circa 8.4v, tensione ideale per caricarle.
Al raggiungimento della carica, l’ingresso A1 rileva la tensione e spegne il led giallo.
Quando la tensione di ingresso su A0 viene a mancare, quindi va via la corrente dal trasformatore, il pin 4 eccita il relè che chiude il circuito del boost converter e porta la corrente necessaria ai led per accendersi (io per prolungare il tempo di illuminazione ho diminuito il voltaggio in uscita verso i led a circa 10v, illumina meno ma nel buio totale va comunque bene).
Quando però il pin A1 rileva una tensione troppo bassa (limite di scarica delle batterie), apre il circuito staccando il relè, accende il led rosso e imposta una variabile (batteria_bassa) a 1 che inibisce la riaccensione dei led fino a quando non torna la corrente dal trasformatore.
Questo passaggio è necessario poichè la batteria senza carico tende a risalire di tensione, e senza questo blocco, accenderebbe ad intermittenza i led fino al danneggiamento totale delle batterie.
Come potete vedere in foto ho dovuto dividere i componenti in più moduli così da poterli posizionare all’interno dello spazio ristretto disponibile nell’involucro della lampada come in foto sotto
Come da foto molti componenti li ho dovuti fissare con una goccia di colla a caldo per evitare che possano muoversi durante il trasporto o il montaggio.
I due fili rosso e giallo che sono inseriti all’interno del foro mi servono per staccare manualmente l’alimentazione da batteria, almeno fino a quando non la monterò a muro nella sua posizione definitiva.
Video di funzionamento
Codice Arduino
Di seguito lo sketch per programmare l’arduino
/* Lampada d'emergenza by Sandro */ const int presenza_rete = A0; const int livello_batteria = A1; int led_orange = 3; int attiva_luce = 4; int led_red = 8; int batteria_bassa = 0; void setup(){ Serial.begin(9600); pinMode(attiva_luce, OUTPUT); pinMode(led_orange, OUTPUT); pinMode(led_red, OUTPUT); pinMode(presenza_rete , INPUT); pinMode(livello_batteria , INPUT); } void loop(){ const int presenza_rete = analogRead(A0); const int livello_batteria = analogRead(A1); Serial.print("Valore presenza rete: "); Serial.println(presenza_rete); delay(500); Serial.print("Valore batteria: "); Serial.println(livello_batteria); delay(1000); if(batteria_bassa == 1){ digitalWrite(led_red, HIGH); } else { Serial.println(batteria_bassa); digitalWrite(led_red, LOW); digitalWrite(led_orange, LOW); digitalWrite(attiva_luce, LOW); //Accendi } if (livello_batteria <= 600){ Serial.println(batteria_bassa); digitalWrite(led_red, HIGH); digitalWrite(led_orange, LOW); digitalWrite(attiva_luce, HIGH); //spegni batteria_bassa = 1; } else { if (presenza_rete > 250 ) { digitalWrite(led_red, LOW); digitalWrite(attiva_luce, HIGH); //spegni if (livello_batteria < 990 ){ digitalWrite(led_orange, HIGH); //in carica digitalWrite(led_red, LOW); batteria_bassa = 0; } if (livello_batteria >= 1000 ){ digitalWrite(led_orange, LOW); } } } }