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è. |
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 |
Il modulo con un relè... ...e quello con due. |
|
E per la gestione di due relè: 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 |
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. |
Il
collegamento del relè sulla scheda in formato 1:1.
Per semplicità il relè appare in orizzontale. |
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" |
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. |
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. |
Un relè su scheda, KY-019, usato in questo progetto |
video |
Programma per gestire DUE relè via WiFi |
Lo
schema elettrico |
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è. |
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 |
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". |
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è: 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è. |
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". |