Ethical DIY

Progetti hardware & software etici


Menu orizzontale con sottomenu CSS








 


Progetti hardware

Basetta sperimentale per ESP01

Dati costruttivi della basetta sperimentale

Download dei file necessari per la realizzazione della basetta sperimentale

Configurazione di ESP01


Informazioni di base:

- Come installare la IDE di Arduino
- Configurazione e piedinatura 
- Caricamento dei programmi
- Come caricare le librerie necessarie



Programmi vari

Creare un Web server

Temperatura e umidità con
DHT11/DHT/21/DHT22


Controllo di 1/2 relè via WiFi

DHT11/DHT21/DHT22 + 1 relè

Una stazione meteorologica con BMP280

Ricevere la data e l'ora esatta

Una stazione meteorologica con OpenWeatherMap

Monitorare la qualità dell'aria con BMP680



Programmi con Telegram

Verifica l'apertura di uno/due vani

Controllo di due relè



Programmi con ThingSpeak




 
Programmi con in Db Firebase




Programmi con Mosquitto (MQTT)





Il controllo di uno/due relè con ESP01

ESP01 ha due porte digitali disponibili, GPIO0 e GPIO2, quindi può gestire due periferiche, entrambe in entrata o in uscita, oppure anche miste, come un relè e un sensore di temperatura.
In questa pagina ci occuperemo della gestione di uno o due relè.


rele
Il modulo ESP01 + relè

In commercio si trova a pochi euro (3 euro circa, spedizione gratuita oltre 10 € di spesa) questo modulo, che permette di controllare con un cellulare, per mezzo della rete WiFi un relè, aprendo tantissime possibilità: gestire una caldaia, un condizionatore, una luce o un elettrodomestico... basta usare la propria fantasia.
E poi, con un po' di lavoro in più, si può gestire anche attraverso la rete internet, per esempio con un database "Firebase" o Telegram, controllando i propri apparati virtualmente da ogni parte del mondo!




Il problema dei comandi per l'accensione/spegnimento delle periferiche




1rele
Il modulo con un relè...







2rele...e quello con due.
Ho riscontrato che ci può essere un problema sui comandi relativi all'accensione e spegnimento delle periferiche. Abitualmente un relè o un led si attivano/accendono quando la porta viene portata a livello "HIGH" e disattivano/spengono quando essa ritorna a livello "LOW", e questo vale anche per la nostra basetta sperimentale.
Però ho notato che utilizzando il modulo commerciale con un relè (immagine in alto a sinistra), tutto funziona alla rovescia, per cui quando si dà il comando di accensione, si spegne il led o il relè, e quando si invia il comando di spegnimento, esso si attiva!

Questo comportamento del programma non è corretto, per cui ho inserito una routine che risolve il problema in modo semplice. All'inizio di ogni programma si troverà la variabile "changeVal": se ha valore "1", i relè si accenderanno se "relayon" è uguale a "1"(ovvero HIGH); se il valore di "changeVal" è un qualsiasi valore numerico intero diveso da "1", per esempio "0"), i relè si attiveranno quando "relayon" prende il valore "0", ovvero "LOW"
          ***
Lo stesso avviene con i programmi che attivano due relè; semplicemente le righe da attivare/disattivare saranno quattro invece che due.
ch1
La variabile numerica changeVal

r0
Se changeVal = 1 il relè si attiva se il suo valore è "HIGH";

ch1
se changeVal è diverso da 1, il relè si attiva se il suo valore è "LOW".


E per la gestione di due relè:

ch2

ecco la routine completa, simile alla precedente, ma aggiornata per gestire due relè. Il comportamento di changeVal è identico.

Di dalault il valore di  "changeVal"
è posto a "1".




Il programma per gestire un relè via WiFi




Lo schema elettrico



rele1
Questo è lo schema elettrico per il collegamento tra ESP01 e il relè KY-019, che d si comporta come un interruttore, o meglio, come un deviatore, avendo un filo comune,  un "nc" (normalmente chiuso) e un terzo "na" (normalmente aperto). Nello schema, per semplicità ne ho considerato solo una coppia. Il relè ha tre piedini: quello di segnale di controllo "S", il negativo "-" e il positivo "+". ESP01 deve essere alimentato a 3,3v. Ho notato che il relè non si eccita a questa tensione, quindi ho preferito di alimentarlo a +5v. Nei miei test, anche prolungati, questo schema non ha dato alcun problema all'ESP01.



Questo invece è lo stesso schema di collegamento, però adattato  per la nostra  basetta sperimentale. Come si vede, il cavo di segnale, contrassegnato con "S", andrà collegato sullo zoccolo "DG2", relato alla porta di ingresso "GPIO0" di ESP01.
Se si vuole semplicemente testare il programma senza utilizzare il relè, si potrà ponticellare il jumper "JP4", nascosto dal relè, e il led "Led3"si accenderà/spegnerà in base ai messaggi inviati da Telegram.

1rele
Il collegamento del relè sulla scheda in formato 1:1.
Per semplicità il relè appare in orizzontale.



telepcb1
Il pulsante KY-004 è evidenziato nel riquadro colorato.

Ed infine, il collegamento sulla scheda sperimentale "reale". Il relè è inserito sullo zoccolo "DG1" (connesso alla porta GPIO0 di ESP01)



Il programma



Con questo programma relativamente semplice, si può controllare un relè a mezzo rete WiFi. In questo sketch, il relè è collegato alla porta GPIO0, in modo che sia compatibile sia con la nostra basetta sperimentale, sia con il modulo commerciale illustrato nel riquadro precedente.
Per prima cosa è necessario verificare se è installata la libreria necessaria:
ESP8266WiFi.h

Successivamente si potrà aprire il programma e inserire la SSID della tua rete WiFi e la password

Clicca qui per visualizzare il programma

Clicca qui per scaricare il programma in formato ".zip"

ssid



serial

I dati che appaiono sul monitor seriale.




Dopo aver caricato il programma, scollegare e ricollegare ESP01 al computer, per entrare in modalità "esecuzione": Aprire il monitor seriale e impostare la comunicazione a 115200 bps. Se tutto ha funzionato regolarmente, dopo pochi secondi si sarà agganciato alla vostra rete WiFi. Prendere nota dell'indirizzo indicato.






Il test del programma





Aprire un qualsiasi Browser (Firefox, Google Chrome, ecc.) e inserire l'indirizzo IP trovato sul monitor seriale (nel mio caso 192.168.1.177) e digitarlo nella ricerca dell'indirizzo.
Premere su "Turn On" o su "Turn Off" e il relè si attiva o disattiva.
Naturalmente si potrà controllare con il browser di un pc, di uno smartphone, un tablet, ecc.

Nota: alcuni relè si attivano quando il segnale è "HIGH", altri quando il segnale è "LOW". Nel caso testando il programma ci si accorgesse che i comandi sono invertiti, semplicemente cercare le righe del programma interessate e modificatele.



browser


La videata che apparirà sul browser. Può essere un PC, uno smartphone, un tablet...





 







Troverai qui un breve video che illustra questo progetto.







Si possono trovare informazioni dettagliate su questo progetto alla seguente pagina del sito "randomnerdtutorials": https://randomnerdtutorials.com/esp8266-web-server/
Ringrazio come sempre
randomnerdtutorials per la qualità e la cura dei progetti presentati.






Il video che verrà presentato ora, è relativo allo stesso progetto, però applicato al piccolo modulo commerciale descritto all'inizio di questa pagina.  Esso è così piccolo, che è stato inserito all'interno di una vecchia multipresa, con un esito quasi professionale.

Tutte le informazioni date precedentemente sono valide anche per questo modulo.


rele
Un relè su scheda, KY-019, usato in questo progetto

video







Programma per gestire DUE relè via WiFi




Lo schema elettrico



2 re
Ecco lo schema elettrico generale per il collegamento di due relè a un ESP01. Il primo relè sarà collegato alla porta digitale GPIO2 /DG1); il secondo relè alla porta  GPIO0.(DG2).



Lo schema elettrico del collegamento dei due relè sulla basetta sperimentale. Il collegamento del secondo relè è del tutto simmetrico al primo e si collega su DG2.
Come per il primo programma, per i test i due relè possono essere sostituiti dai led presenti sulla basetta. E' sufficiente ponticellare i jumper  "JP3" e "JP4" per poterli vedere accendere/spegnere in base ai comandi lanciati da Telegram.
P.s.: i due jumper sono coperti dalle immagini dei due relè.

pcb2



tele2pcb
La basetta sperimentale con i due relè.

Ed infine la foto del collegamento sulla basetta effettiva. Si vedono i due jumper LP3 e JP4 sono stati ponticellati. In questo modo, quando arriva l'impulso, si attivano contemporaneamente i led e i relè.
Naturalmente per i test si possono usare per praticità solo i led, che funzionano perfettamente anche a +3,3v.



Il programma



2rele
Il modulo con 2 relè

Poichè ESP01 possiede 2 porte digitali (GPIO0 e GPIO2), si potranno controllare  contemporaneamente due relè. Questo programma, abbastanza simile al precedente, crea un web server. All'interno del lo sketch si programma una pagina web, che aperta da un qualsiasi browser (Firefox, Google Chrome, ecc.) di un PC, smartphone o tablet, permette di gestire separatamente i due relè e di conseguenza accendere o spegnere a piacere due diverse periferiche in modo del tutto indipendente.
La procedura per caricare il programma, individuare l'indirizzo IP del modulo, collegarlo al browser è esattamente identica a quella per il singolo relè.
Il modulo commerciale a due relè si trova a circa 6 euro (7,5 euro con ESP01 incluso) e la spedizione gratuita per un acquisto di almeno 10 €.






Il collegamento simmetrico del secondo relè, posto su "DG1", che corrisponde alla porta "GPIO2".Anche in questo caso l'immagine del relè è posta in orizzontale, per indicare bene la collocazione dei vari piedini, ma in effetti sarà posto in verticale.
Nella basetta autocostruita, vengono usati due relè su scheda, reperibili con il codice "KY-019".


2rele




2rele

Ed ecco la foto  della basetta con i due relè. Anche in questo caso, fare attenzione a inserire i relè nella posizione corretta. In alto si vedono tre contatti: quello centrale è il comune; quelli esterni sono rispettivamente normalmente aperto e normalmente chiuso. Quando i relè si attivano, le porte logiche vengono invertite.

Clicca qui per visualizzare il programma

Clicca qui per scaricare il programma in formato ".zip"




Ecco come si presenta la schermata del browser per la gestione dei due relè:

2relst
I quattro pulsanti sono permettono il controllo completo e indipendente dei due relè.
"Relays status" mostra in ogni momento il loro stato.
Nota: se si usa uno smartphone, i quattro pulsanti saranno presentati su di un'unica fila.






Video




Personalmente non ho acquistato il modulo commerciale a due relè, ma il funzionamento è identico a quello mostrato con la basetta sperimentale. Anzi, è ancora più facile, perché tutti i componenti sono già stati montati. Esufficiente collegarlo alla tensione di alimentazione e alle periferiche che devono essere controllate dai due relè.
2rele



Le informazioni dettagliate sul programma e sul suo funzionamento si trovano a questo link
(esterno a Etichal Diy):
https://randomnerdtutorials.com/esp8266-web-server/

Il progetto era stato scritto in origine  per ESP8266; quindi sono state apportate alcune modifiche e sono state cambiate le porte: "0" e "2" invece che "4" e "5".


Per contatti: info@ethicaldiy.org