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



Informazioni di base

Come installate la IDE di Arduino

Configurazione di ESP01

Caricamento dei programmi

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)







ESP01 con DHT11/21/22 e un relè

Con questo progetto si collega  un ESP01 con un sensore di umidità e temperatura DHT11 e con un relè (KY-019 o similare), che si attiva/disattiva automaticamente al raggiungimento di una temperatura limite.
Sul browser apparirà, oltre alla temperatura e l'umidità, lo stato del relè.

Questo programma può avere molte applicazioni: attivare una caldaia quando la temperatura si abbassa, o al contrario, accendere un condizionatore quando la temperatura e/o l'umidità raggiungono un certo valore.
Personalmente ho usato questo progetto per un essiccatore di frutta e verdura: quando la temperatura supera un certo valore, accende una serie di ventole che riportano la temperatura a un valore accettabile, perché devo far seccare lentamente i miei vegetali e non cuocerli!

Il progetto


ky019
KY-019

Ecco i due componenti che collegheremo al "nostro " ESP01. Entrambi hanno la stessa disposizione dei piedini, per cui fare attenzione a non invertirli quando si inseriscono, perchéil primo è una periferica di imput (DHT11) mentre il secondo di output (il relè). In questo progetto, DHT11 va inserito su DG1 (porta GPIO2) e il relè su DG2 (porta GPIO0).

dht11
DHT11




dhtrel
La disposizione dei componenti.


Ecco l'immagine di come inserire i due moduli sulla basetta sperimentale. Naturalmente essi andranno in verticale; nell'immagine appaiono in orizzontale per visualizzare i particolari con maggiore facilità.

P.s.: i componenti non sono in scala tra di loro.



In questa foto invece appare la reale disposizione dei componenti sulla basetta sperimentale. Il relè presenta nella parte superiore un connettore a tre  posizioni. quello centrale è il comune, mentre i laterali corrispondono ad abitualmente aperto e l'altro abitualmente chiuso.
reldht
I componenti sulla basetta sperimentale.



I dettagli dello sketch.
Come prima cosa, è necessario verificare se si sono installate tutte le librerie necessarie. Verificando o lanciando la compilazione del programma, verranno visualizzate quelle eventualmente mancanti. In questo caso, provare prima di tutto a scaricarle attraverso la Ide di Arduino. Nel caso non si trovassero tutte, scaricarle dalla finestra che appare sulla destra.
Nel caso di dubbio, controllare la pagina relativa alla gestione delle librerie.


ESP8266WiFi.h
ESPAsyncTCP.h
ESPAsyncWebServer.h
Adafruit_Sensor.h
DHT.h



Di seguito, inserire la SSID (il nome esatto) della propria rete WiFi e la password di rete.
passw



Nel programma ho inserito una variabile contenente la temperatura limite in cui si attiva/disattiva il relè. Per convenzione ho inserito 24 gradi, ma si può facilmente variare, in base alle proprie esigenze.
limit


Il programma funziona indifferentemente con i sensori DHT11, DHT21 o DHT22, però è necessario selezionare il sensore corretto nello sketch.
dhtx
E' necessario togliere le due barre "//" (che trasformano quello che segue in un semplice commento) per rendere attivo il sensore utilizzato: il sensore attivo il questo caso è quello nel quadrato verde  (DHT11) . Se si usasse un DHT22, togliere le barrette alla seconda riga e porle davanti  a DHT11; lo stesso per DHT21.
Attenzione: mi è capitato di acquistare, sia su Amazon che su Ali Express, dei sensori venduti come DHT11, e apparentemente perfetti. Però quando li ho utilizzati, davano risultati strani, come la temperatura di -0,5° invece che 22°! Variando i parametri nel programma e utilizzando la definizione relativa a DHT22, tutto è andato a posto!



dht21DHT22

dht21
DHT21
Successivamete ho inserito due stringhe di testo per avere le informazioni sullo stato del relè. La variabile "relayon" restituisce una scritta "Relè attivato", mentre "relayoff" corrisponde a "Relè disattivato". Naturalmente si possono variare le scritte, che appariranno anche sul Browser in base alle proprie esigenze.
varrele



Alcuni relè si attivano quando sono posti ad "HIGH"; altri se posti a "LOW". Quindi non sempre le scelte impostate nel programma daranno il risultato voluto. In caso di necessità, invertire nel programma i valori evidenziati.
In queta routine, se la temperetura è uguale o maggiore di quello impostato inizialmente (nel caso in oggetto 24°), il relè viene forzato ad "HIGH"; la variabile stringa "relay1" sarà uguale a "relayon", che corrisponde a "Relè attivato". Questa variabile verrà utilizzata per inserire il valore nel browser.
"Serial.println" scriverà la stessa informazione nel serial monitor (impostato a 115200 bps).
Se la temperatura è inferiore a 24 gradi, "relay1" sarà uguale a "relayoff", e sia sul browser che sul monitor seriale apparirà "Relè disattivato".

state



Dopo aver caricato il programma, disinserire e reinserire dopo qualche secondo il programmatore sulla porta USB del computer. Aprire il monitor seriale e prendersi nota dell'indirizzo IP assunto dal ESP01 sulla rete.
Non preoccuparsi del messaggio per non aver trovato il sensore DHT11. Questo è normalein quanto non è collegato

ip



A questo punto, dopo aver riconnesso l'ESP01 programmato sulla basetta, inserito nella posizione corretta il relè e il DHT11 , alimentare la basetta e aprire un browser, inserendo il codice IP , si aprirà una finestra simile a questa:

In questo caso, la temperatura è inferiore a 24 gradi, quindi il relè sarà disattivato;
se e quando la temperatura raggiungerà i 24 gradi (o la temperatura inserita nella variabile "Temp"), il relè verrà attivato, e quindi metterà in funzione qualche periferica.

Clicca qui per visualizzare il programma

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


disp




Per contatti: info@ethicaldiy.org