Purtroppo
nella famiglia ESP32x non è stata scelta la
stardandizzazione, infatti è commercializzata con diversi
numeri di pin (30, 36 o 38) e varie dimensioni, oltre una
versione con display integrato Ci si è sforzati di progettare la basetta sperimentale, che con dimensioni all'incirca di un foglio A5 (200 x 140 mm) possa ospitare alcune delle tipologie più utilizzate del nostro microcontroller. Infatti può ospitare alternativamente un ESP32 (30 pin), o un ESP32S (38 pin) e anche un ESP32 con display LGVL da 2.8" integrato. Inoltre è stato inserito uno slot per ospitare un display LGVL da 2.8", da abbinare con gli ESP32x senza display integrato, creando cinque configurazioni di base, ovvero:
Di seguito verranno illustrate maggiormente nel dettaglio le cinque configurazioni. |
La prima configurazione: ESP32
(30 pin) |
In
questa configurazione, il microcontroller verrà inserito
sullo zoccolo più interno, denominato "U2". Una curiosità:
nel programma "EasyEda", che ho usato per disegnare la
basetta sperimentale, non ho trovato un modello di un ESP32
a 30 pin corrispondente alle dimensioni del microcontroller
che acquistai; l'unico disponibile poneva ile due file di
piedini troppo distanti; ovviai al problema inserendo una
fila di piedini interna rispetto al modello originale.
So che non è una soluzione molto professionale, ma non mi
sentivo di disegnare un nuovo modello di ESP32 per conto
mio. Poichè le due file adiacenti di piedini sono collegati
in parallelo, nel caso chiuserà questa basetta con il
modello "più largo", avrà la possibilità di utilizzare anche
il suo microcontroller, aumentando ancora la flessibilità
del progetto. |
Nel riquadro rosso la pie-dinatura per il "mio" ESP32. |
Gli
zoccoli per ESP32s e ESP32 (rispettivamente U1 e U2),
sono connessi in parallelo; per esempio GPIO21 presente su
U1, corrisponde al GPIO21 presente su U2. E questo vale per
tutte le porte in comune tra i due microcontroller; ESP32 a
30 pin non presenta in uscita i pin corrispondenti alle
seguenti porte: - GPIO0 - GPIO6 - GPIO7 - GPIO8 - GPIO9 - GPIO10 - GPIO11 Questo però non è un grave problema, in quanto le porte da GPIO6 a GPIO11 non possono essere utilizzate dall'utente; l'unica porta che potrtebbe essere utilizzata con qualche cautela è GPIO0. Lateralmente allo zoccolo per ESP32S, sono presenti due file di connettori, denominati H1 a sinistra e H2 a destra del microcontroller, su cui sono duplicate tutti i 38 pin di ESP32s. Per cui se fosse necessario, inserendo dei cavetti nei connettori corrispondenti, si potrebbero effettuare i collegamenti con le periferiche. Naturalmente se si fosse inserito un ESP32 a 30 pin su U2, si potrebbero utilizare tutti i collegamenti per le porte comuni, escludendo quindi le sette porte indicate precedentemente. |
La duplicazione delle porte (H1 e H2) presenti lateralmente allo zoccolo per ESP32S. Nei riquadri rossi sono indicate le porte non presenti su ESP32 a 30 pin. |
La seconda configurazione:
ESP32S (38 pin) |
In
questa seconda configurazione, ESP32S verrà inserito sullo
zoccolo più esterno, denominato U1. Non c'è nulla di particolare da aggiungere, in quanto le considerazioni sulle porte disponibili sono già state discusse nel paragrafo dedicato a ESP32 con 30 pin. |
La terza configurazione: ESP32 con display
LVGL da 2.8" |
Questa
terza configurazione è pmolto interessante, perché se il
programma viene strutturato in modo corretto, è
possibile visualizzare sul display LVGL da 2,8" una
preziosa serie di informazioni, per esempio rilevate dai
sensori, oltre che a immagini ad altarisoluzione. Inoltre il
display integra anche uno slot per microSD, per cui è
possibile salvare/leggere/modificare o cancellare
informazioni presenti sulla schedina, ampliando le
possibilità del proprio progetto. Nota: il display LVGL si inserisce su uno zoccolo personalizzato, e a volte sarà necessario inserire un'istruzione nel programma per ruotare l'immagine di 180°. Il display usa delle porte dedicate solo ad esso, per cui non andrà in conflitto con alcuna altra periferica, se non nel caso che si utilizzi lo zoccolo universale "DATA", in cui sono presenti tutte le porte presenti sui microcontroller, e quindi anche quelle dedicate al display. |
La quarta configurazione: ESP32S con display LVGL da 2.8" |
Questa
configurazione, al di là del fatto che utilizza un ESP32S, è
molto simile alla precedente, per cui
valgono le
stesse considerazioni. |
La quinta configurazione: ESP CYD (ESP32 con display LVGL da 2.8" integrato) |
La
quinta configurazione è particolare e sicuramente
interessante: infatti si tratta di un ESP32 con integrato un
display LVGL da 2.8", spesso denominato ESP32 CYD (ovvero
Cheap Yellow Display - display giallo economico). Inoltre integra
anche uno slot per microSD, per cui è possibile
salvare/leggere/modificare o cancellare informazioni
presenti sulla schedina, ampliando le possibilità del
proprio progetto. Il
microcontroller può essere connesso fisicamente alla
basetta inserendo quattro perni che si inseriscono nei
fori corrispondenti presenti sulla scheda; mentre le
uscite presenti in varie zone di ESP32 CYD possono
confluire in un unico connettore maschio che si collega al
connettore "LVGL ESP32". In uno spazio simile a quello del semplice display (con dimensioni simili, ma non identiche, solito problema di standardizzazione!) si trova un sistema completo, che può quindi essere inserito con grande facilità in un progetto più ampio. Per contro, lascia a disposizione dell'utente un numero limitato di porte, ovvero: - GPIO21 - GPIO22 -GPIO26 -GPIO27 -GPIO35 Per questo motivo può utilizzare un numero minore di zoccoli dedicati agli utenti. Si potrebbe pensare che il suo utilizzo sia molto limitato. Però nel progettare la basetta sperimentale, si è tenuto conto di questo problema, in modo di massimizzare le possibilità di utilizzo. Infatti ESP32 CYD può collegarsi ai seguenti connettori: -IC21 -IC22 -IC23 -IC24 -GPS1 o GPS2 -DA2 -DA4 -MT1 o BZ1 Sfruttando bene le possibilità fornite dai vari zoccoli, in cui per alcuni si possono variare le porte collegate, si potrebbero collegare un buon numero di sensori/attuatori. A titolo di esempio, si potrebbero collegare ben quattro periferiche che utilizzano il protocollo I2C su IC21/2/3/4; un sensore GPS su GPS1 o GPS2; un altoparlante, un relè o un qualsiasi semplice sensore su BZ1. Perciò potrebbe gestire ben sei periferiche contemporaneamente! Si possono trovare informazioni complete su questa periferica al seguente indirizzo: https://randomnerdtutorials.com/lvgl-cheap-yellow-display-esp32-2432s028r/ |
Ecco lo zoccolo su cui si possono collegare i vari connettori presenti su ESP32 CYD, im modo da connetterlo alla nostra basetta sperimentale. |