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:
|
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. 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 |
|
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 |