Ethical DIY

Progetti hardware & software etici


Menu orizzontale con sottomenu CSS








 


Progetti hardware

 Home di ESP01

Basetta sperimentale per ESP01

Dati costruttivi della basetta sperimentale

Download dei file necessari per la realizzazione della basetta sperimentale




Informazioni di base:

- Come installare la IDE di Arduino
- Configurazione della IDE 
- Caricamento dei programmi
-Procedura con la basetta sperimentale
- Come caricare le librerie necessarie
- Piedinatura di ESP01

I sensori/attuatori compatibili con ESP01



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 ThingSpeak






 
Programmi con in Db Firebase









Sensori/attuatori per ESP01




ESP01 ha solo due porte digitali a disposizione del programmatore, e quindi sembrerebbe che le scelte siano estremamente limitate, ma non è così, e non solo per la possibilità di utilizzare periferiche che usano il protocollo I2C, infatti potremo collegare:
  • un sensore/attuatore che utilizza una porta digitale (es.: DHT11);
  • due sensori/attuatori che utilizzano una singola porta digitale (es.: 1 x DHT11 + 1 KY-019);
  • un sensore/attuatore che utilizza due porte digitali;
  • un sensore/attuatore che utilizza una porta digitale + una porta analogica. in questo caso si usa solamente la porta digitale (es.: MQ135);
  • due sensori/attuatori che utilizzano una porta digitale + una porta analogica. in questo caso si usano solamente le porte digitale (es.: MQ135);
  • un sensore/attuatore che utilizza una porta digitale + una porta analogica. in questo caso si usa solamente la porta digitale (es.: MQ135) + 1 sensore/attuatore che usa una singola porta digitale (es.: KY-019);
  • vari sensori/attuatori che utilizzano il protocollo I2C, come per esempio un display SSD1306, un sensore BMP280, BMP680, ecc. Il numero delle periferiche che possono essere collegate in serie dipendono dalla nostra fantasia e dalle disponibilità di ESP01 a fornire la corrente necessaia per alimentarle.



La nostra basetta sperimentale ha tre zoccoli che gestiscono una porta digitale, ovvero DG1 (GPIO2), DG2 (GPIO0) e DG3, anch'essa su GPIO0. DG2 e DG3 utilizzano la stessa porta, ma hanno una diversa disposizione dei pin in modo da poter gestire una gamma più ampia di periferiche.  L' alimentazione di queste tre porteviene gestita da JP2.
Anche se sulla basetta sono presenti tre zoccoli, se ne possono usare sempre solo due: DG2 e DG3 sono in alternativa l'uno con l'altro.
Esistono poi tre zoccoli per il protocollo I2C, ovvero I2C1, I2C2 e I2C3. Tutte si collegano sulle porte GPIO0 (SDA - data) e GPIO2 (SCL - clock). Sono stati inseriti tre zoccoli con diversa disposizione dei pin per poter gestire un numero maggiore di periferiche contemporaneamente.
Naturalmente uno di questi zoccoli può essere usato per gestire una periferica non I2C che utilizzi due porte digitali contemporaneamente.

sensor
La basetta sperimentale con evidenziato il nome e la posizione degli zoccoli.

Nota 1: se si effettualo i ponticelli su JP3 e/o JP4, verranno collegati rispettivamente il LED2 su GPIO2 e/o il LED3 su GPIO0. In questo modo, il - o i led - accendendosi o spegnendosi  potranno servire per verificare il funzionamento di attuatori, come per esempio i relè KY-019, simulandoli senza che ci sia la necessità di inserirli effettivamente sulla basetta.

Nota 2: "Power mode" (riquadro violetto) riguarda il metodo di alimentazione della basetta. Quando i cinque jumper mettono in contatto "J1" con "J2", l'alimentazione viene fornita dal computer, attraverso il collegamento della presa USB con l'adattatore seriale, che per mezzo di un suo riduttore di tensionne fornisce alla basetta esclusivamente la tensione di 3,3v. Perciò se JP2 e/o JP1 saranno settati su +5v, le periferiche corrispondenti non verranno alimentate.
Se "Power mode" sarà settato in modo che i cinque jumper colleghino "J2" con "J3", la basetta sarà alimentata da una fonte esterna, con una tensione compresa tra 6 e 12 v se applicata al connettore "PW1"; esclusivamente  con 5v se fornita al connettore "PW2". Questo settaggio per l'alimentazione può essere opzionale quando l'adattatore seriale è collegato alla presa USB del computer, ma diventa indispensabile se la basetta è sconnessa da esso. Inoltre in questo caso l'alimentazione delle periferiche è indipendente da ESP01, quindi potranno essere collegati anche sensori o attuatori che richiedano una corrente elevata, come per esempio i sensori atmosferici MQ135 e simili, o attuatori come relè specialmente se in batterie di 4,6, o 8 relè.

Nota 3: ricordarsi che alimentando le periferiche a + 5 v, si potrebbe danneggiare in modo irreparabile ESP01. Eseguire eventuali prove con attenzione, a proprio rischio e pericolo!

Nota 4: se si usano dei relè, e alla loro uscita si collegano periferiche allacciate alla rete elettrica a 230 v, richiedere sempre l'intervento di un elettricista qualificato. La tensione di rete può provocare gravi danni e in alcuni casi essere anche mortale.




Lista delle periferiche compatibili con ESP01




In questa sezione verranno indicate alcune periferiche compatibili con ESP01, indicando per quanto possibile su quale zoccolo possono essere inserite. Nel caso che nessuno zoccolo le possa accogliere nativamente, nelle note verrà indicato come collegarle.

Nota: questa lista non ha alcuna pretesa di completezza. Le periferiche che possono essere collegate a ESP01 sono tantissime. In questa lista ho inserito solo quelle che ho testato personalmente su ESP01 o Arduino.



Periferiche con una porta digitale, che si possono collegare a DG1, DG2 o DG3



Sigla
Descrizione
Note
KY-031  HW500
Tap module
DG1/DG2
KY-002   HW513
Shock sensor
DG1/DG2
KY-020   HW501
Tilt switch
DG1/DG2
KY-005    HW489
IR emission led
DG1/DG2
KY-019   HW482
Relay
DG1/DG2
KY-015   HW507   DHT11
Temp. & humidity sensor
DG1/DG2
KY-004   HW483
Button
DG1/DG2
KY008   HW493
Laser emit led
DG1/DG2
433 MHz Tx
433 MHz transmitter
DG1/DG2
KY-033   HW511
Tracking Sensor
DG1/DG2
KY-001   HW506  18B20
Digital themperature sensor
DG1/DG2
KY-010   HW487
Photo interr. sensor
DG1/DG2
KY-022   HW490
IR receiver sensor
DG1/DG2
KY-017   HW505
Mercury tilt sensor
DG1/DG2
KY-035   HW492/495
Hall effect sensor
DG1/DG2
KY-021   HW497
Reed switch sensor
DG1/DG2
KY-032   HW201
Avoiance sensor
DG1/DG2
Magnetic sensor Magnetic sensor (+ resist.)
DG1/DG2
KY-007   HC-SR501 
Pir (presence) sensor
DG3
HC-SR505
Pir (presence) sensor DG3
No code
Laser detector
DG3
TTP223
Touch sensor
DG3
433 MHz Rx 433 MHz receiver
DGx piedinatura diversa
usare un connettore
KY-012   HW512
Active buzzer
DG1/DG2
KY-006   HW508
Passive buzzer
DG1/DG2
HW038
Water sensor
DG1/DG2



Periferiche con UNA porta digitale, che si possono collegare a I2C1, I2C2, I2C3



Sigla
Descrizione
Note
RCWL-0516
Sonar sensor I2C1
HLK-LD2410C
Radar 24 GHz
I2C1



Periferiche con DUE porte digitali, che si possono collegare a I2C1, I2C2, I2C3



Sigla
Descrizione
Note
GPS NEO7M
GPS sensor
I2C1
NEO6MW2
GPS sensor I2Cx piedinatura diversa
usare un connettore
KY-050  HC-SR04
Ultrasonic sensor
I2Cx piedinatura diversa
usare un connettore
HX711 + Load cell
Weight module
I2Cx piedinatura diversa
usare un connettore

MAX9814

Audio analizer
I2Cx piedinatura diversa
usare un connettore



Periferiche con una porta digitale e una analogica, che si possono collegare a DG1, DG2, DG3



Sigla
Descrizione
Note
KY-037  HW485 Big sound sensor DG1/DG2
KY-038  HW496 Small sound sensor DG1/DG2
KY-024  HW509 Linear Hall sensor DG1/DG2
KY-036  HW494 Metal touch sensor DG1/DG2
KY-025  HW484 Magnetic spring sensor DG1/DG2
KY-026  HW491 Flame sensor DG1/DG2
KY-028  HW503 Digital temperature sensor DG1/DG2
Nota: naturalmente nel progetto si userà solo la porta digitale, perché ESP01 non gestisce porte analogiche.
Usare solo i primi tre pin (GND, +, DO).



Periferiche con una porta digitale e una analogica, che si possono collegare a I2C1, I2C2, I2C3



Sigla
Descrizione
Note
HW103 Soil moisture sensor
I2C1
MQ2 - KY-030
Gas sensor
I2Cx piedinatura diversa
usare un connettore
MQ3
Gas sensor I2Cx piedinatura diversa
usare un connettore
MQ4
Gas sensor I2Cx piedinatura diversa
usare un connettore
MQ5
Gas sensor I2Cx piedinatura diversa
usare un connettore
MQ6
Gas sensor I2Cx piedinatura diversa
usare un connettore
MQ7
Gas sensor I2Cx piedinatura diversa
usare un connettore
MQ8
Gas sensor I2Cx piedinatura diversa
usare un connettore
MQ9
Gas sensor............ I2Cx piedinatura diversa
usare un connettore
MQ135......................
Gas sensor I2Cx piedinatura diversa
usare un connettore

Nota: naturalmente nel progetto si userà solo la porta digitale, perché ESP01 non gestisce porte analogiche.



Periferiche che usano il protocollo I2C



Sigla Descrizione Note
SSD1306 128x32 Display OLED 128x32
I2C1
SSD1306 128x64 Display OLED 128x64 I2C1
SGP30
Air quality sensor
I2Cx piedinatura diversa
usare un connettore
BMP390
Weather station
I2C1
BMP280/BME280
Weather station I2C1
BMP388
Weather station I2Cx piedinatura diversa
usare un connettore
BMP390 Weather station I2C3 (verificare)
BMP680
Weather station
I2C1 (usare solo i primi 4 pin)
GY-302   BHT1750
Light sensor
I2C2
GY-85
9 axis sensor
I2C2 (attenzione a connettere
correttamente)
GY-521   MPU6050
Accelerometer - giroscope

I2C2 (usare solo i primi 6 pin)
GY-273   HMC5883L
3 axis magnetic sensor (compass)
I2C3
VL53LOX
Distance sensor
I2C2
DS1307
RTC Digital clock
I2Cx piedinatura diversa
usare un connettore