In questa pagina, piuttosto ricca, potrai trovare informazione sintetiche sui seguenti argomenti relativi alla basetta didattica e sperimentale (BDS): |
|
Una
breve introduzione su ESP32x |
I
vari modelli di ESP32x ("x"
sta per i vari modelli disponibili) sono dei
microcontroller veramente potenti: un processore
dual-core, 448 Kb di memoria ROM, 520 Kb di RAM;
connessioni Wi-Fi e Bluetooth; molte porte di
entrata/uscita disponibili (24 digitali, di cui 18 possono
convertite in analogiche a 12 bit); fornisce periferiche
capacitative, ADC, DAC, UART, SPI, I2C, PWM e molto altro.
Può essere programmato con il linguaggio di Arduino
(Arduino IDE) e con il linguaggio di MicroPython. Clicca qui per maggiori info (in
inglese). Inoltre i vari modelli si possono trovare anche ad un prezzo oscillante tra 4 e 7 euro! Mentre il modello con video da 2.8" integrato, si può trovare a circa 12 euro. Esistono diverse versioni di ESP32x, con diverso numero di pin (30, 36 o 38); di diverse dimensioni; con telecamera integrata (ESP32 Cam); con video da 2.8" integrato (ESP32 CYV). Non sarebbe stato possibile integrarli tutti nella basetta sperimentale; sono stati selezionati i modelli a 30 e 38 pin, oltre che quello con il display integrato. Clicca qui per la nostra pagina per ESP32. |
ESP32S a 38 pin |
|
La licenza del progetto |
I file (png, pdf, gerber, ecc.) necessari per la realizzazione di questa basetta didattica e sperimentale, sono rilasciati sotto licenza Creative Common 4.0. Ecco una piccola sintesi della licenza, che non si sostitiusce ad essa. Sei tenuto a leggerla nel suo formato originale ed attenerti esclusivamente ad essa. Sei libero di copiare, utilizzare, modificare questo materiale, sotto la stessa licenza e come l'originale. Devi però mantenere l'attribuzione al proprietario (Riccardo Grosso), fornire il collegamento alla licenza e indicare se sono state effettuate delle modifiche, senza suggerire che il licenziante approvi te o l'uso che ne fai. Non sono date alcune garanzie rispetto al progetto qui condiviso. Leggi qui il contenuto della licenza. |
|
La filosofia del progetto |
Nel
Web si trovano molti ottimi progetti di basette per
realizzare dei singoli circuiti specifici per ESP32x (dove
per "x" intendo i vari modelli di ESP32). L'obiettivo di questo progetto, come per le precedenti basette didattiche e sperimentali (Arduino Nano, ESP01 ed ESP8266), è differente, in quanto tenta di fornire allo sperimentatore, allo studente o insegnante, al tecnico, un valido strumento con cui eseguire i propri test, specialmente per progetti complessi, con vari sensori, attuatori, ecc. sostituendosi alla basetta millefori (che ritengo comunque utilissima, e in certi casi addirittura indispensabile) e eliminando - o riducendo drasticamente - l'uso di cavetti di connessione. Questo progetto permette di realizzare rapidamente un progetto anche complesso(con vari sensori, attuatori, ecc.) inserendo semplicemente le varie periferiche desiderate negli appositi zoccoli, in modo da potersi dedicare maggiormente alla programmazione e al debugging, riducendo al minimo il rischio di errori nella realizzazione pratica dello schema. Per ottenere questo risultato, ho progettato vari zoccoli (18) in grado di ospitare nativamente un notevole numero di periferiche, sia sensori che attuatori (vedi tabella). Alcuni di questi zoccoli possono fornire diverse tensioni (3,3v, 5v); per pilotare i motori elettrici, anche tensioni superiori; altri di connettersi a un diverso GPIO in alternativa a quello di default, spostando alcuni jumper. Ho pensato a questa soluzione per evitare conflitti, e poter gestire in uno stesso progetto un maggior numero di periferiche. Questo anche per ESP32 CYD, che avendo poche porte disponibili potrebbe essere maggiormente penalizzato nell'uso. Già progettando la basetta per ESP8266, ho inserito in embrione la possibilità di connettere tre led e due touch switch alle porte desiderate, connettendoli con dei cavetti ai GPIO desiderati. In questo progetto ho ampliato questa possibilità, inserendo uno zoccolo in cui si possono connettere otto pulsanti, uno in cui si può inserire una batteria di otto led (o di otto relè) da connettere poi ad uno zoccolo "universale", per rendere del tutto flessibile la programmazione. Inoltre c'è un altro zoccolo, denominato "I2C4", a cui oltre le periferiche che utilizzano il protocollo I2C, è possibile connettere qualunque periferica, alimentata a 3,3v o 5v, che utilizzi fino a quattro GPIO (16, 21/27,22, 0). Naturalmente questa è una semplice e rapida carrellata; in un paragrafo dedicato sono stati trattati nel dettaglio, |
scelta
della tensione
scelta del GPIO connessione
di 8 switch
scelta dei pin su I2C4 |
|
L'assemblaggio della basetta sperimentale (BDS) |
Il montaggio della basetta è relativamente semplice, in quanto il numero di componenti elettronici da inserire è piuttosto modesto; tuttavia sono necessarie centinaia di saldature che devono essere eseguite in modo perfetto e senza sbavature. Per cui è necessario un minimo di esperienza e manualità. Strumenti necessari:
Clicca qui per la pagina con le istruzioni dettagliate per l'assemblaggio della BDS e la lista dei componenti necessari. |
Un tester "La terza mano" |
L'immagine della BDS e dei componenti sarà disponibile a breve |
|
Uno sguardo alla basetta sperimentale e al suo settaggio (breve introduzione) |
La
basetta sperimentale, come si vede dall'immagine
sottostante, è abbastanza affollata; per riuscire a
contenere tutti i componenti al suo interno, è sato
necessario porre i vari componenti abbastanza vicini. Le varie sezioni sono state rappresentate di colori diversi, di cui si darà una rapida speigazione. Cliccando su questo link, si verrà indirizzati ad una pagina con le spiegazioni dettagliate. |
Ecco
una spiegazione sintetica dei vari settori logici:
|
La basetta sperimentale, in scala 1:1, suddivisa nei vari settori logici. Clicca qui per la
pagina con le spiegazioni dettagliate per il settaggio
della basetta sperimentale.
|
|
La tabella relativa alle gestione delle porte (GPIO) |
In
questa tabella in verticale sono indicate le porte (GPIO)
disponibili; mentre in orizzontale appaiono i nomi dei
vari zoccoli su cui si possono collocare i vari
sensori/attuatori/display. Ecco una immagine ridotta della tabella: |
Scarica la tabella in formato ".pdf" o in formato ".ods" (foglio elettronico) per la gestione delle porte. Scarica la tabella in formato ".pdf" o in formato ".ods" (foglio elettronico) per lìelenco delle periferiche gestione delle porte. Clicca qui per la pagina della gestione delle porte e dell'elenco delle periferiche compatibili. |
Ecco
una breve descrizione degli elementi presenti in tabella:
Clicca qui per collegarsi alla pagina relativa agli approfondimenti per la gestione degli zoccoli. |
|
Elenco delle periferiche da
connettere ai vari zoccoli della BDS |
La
basetta sperimentale presenta una nutrita serie di zoccoli
a cui connettere direttamnete o con dei cavi una lunga
serie di periferiche, siano essi sensori, attuatori,
display, ecc. La disposizione dei pin sui vari zoccoli è
stata studiata per permettere la connessione del maggior
numero di periferiche direttamente, senza l'uso di cavi (o
con un numero modesto di essi). In questa pagina del file di foglio elettronico, sono indicati i sensori che sono stati provati durante la progettazione e la realizzazione di questa basetta. Naturalmente questa è una minima parte rispetto a tutte le periferiche che possono essere collegate a questi microcontroller. Sono presenti alcuni zoccoli di ccollegamento particolari; alcuni sono "universali" (ovvero hanno presente tutte le porte di accesso); alcuni sono modificabili, utilizzando dei brevi connettori; in alcuni, utilizzando dei jumper si possono selezionare alcune porte, per evitare conflitti ed espandere la possibilità; altri sono ridondanti, ovvero zoccoli con la stessa disposizioni dei pin, ma collegati a porte diverse, in modo da poter collegare più periferiche simili in un unico progetto. Nell'immagine qui di seguito potrai vedere una parte del file: cliccando qui sarai rimandato/a alla pagina relativa. |
|
Lo schema elettrico del
progetto |
Lo
schema elettrico del progetto, disegnato con il programma
"Easyeda"
è piuttosto articolato, per cui è riportato su due pagine. Nella prima pagina è disegnato lo schema principale, mentre nella seconda pagina è presente lo schema delle porte relative alle varie periferiche. Clicca qui per scaricare i file del circuito elettrico in formato ".zip" |
Pagina
1
Pagina
2
Clicca qui per
andare alla pagina dello schema elettrico e dei file
"Gerber", necessari per costruire la basetta.
|
|
Le cinque configurazioni della basetta sperimentale e didattica (BDS) |
Questa
è solo la pagina introduttiva; nelle varie sezioni si
troveranno i link alle varie pagine in cui la bds viene
illustrata nel dettaglio. Nel progettare una basetta sperimentale, sorgono anche alcuni problemi: infatti esistono modelli di ESP32x a 30, 36, 38 pin; poi c'è un modello di ESP32 con un video integrato; inoltre è possibile collegare a un ESP32x un bel video a colori, anche touch, fino a 4,3". Quindi è necessario fare delle scelte (a volte dolorose) su ciò che verrà inserito e quanto verrà ignorato, ovvero sulla filosofia del progetto. In questo progetto, derivato dall'esperienza maturata dalla realizzazione di basette sperimentali per Arduino Nano, ESP01 ed ESP8266, ho cercato di creare un progetto che permettesse una buona gamma di possibilità, senza per questo rendere la scheda nè troppo voluminosa, nè troppo complessa. Non so se ci sono riuscito... Come per le altre basette sperimentali, sono presenti molti zoccoli, in grado di ospitare un grande numero di sensori/attuatori, anche contemporaneamente, in modo da poter testare rapidamente progetti anche complessi,senza utilizzare - o utilizzando in modo estremamente modesto - dei cavi di collegamento. Ma questo aspetto verrà analizzato in dettaglio più avanti. Ho pensato di dotare questa basetta sperimentale e didattica (per brevità, BDS) dalle dimensioni di 200 x 140 mm circa (A5) di cinque modalità di base, che ora verranno rapidamente illustrate. Ecco le cinque modalità di utilizzo di base: |
1:
basetta sperimentale con ESP32 (30 pin) a bordo. La scheda sperimentale possiede un alloggiamento per un ESP32 (30 pin), che permette di gestire tutti gli zoccoli in grado di ospitare del le periferiche sensori o attuatori. L'unica porta che non è utilizzabile è quella connessa a GPIO0, perchè non presente in questo modello. Questa mancanza non pregiudica la flessibilità di utilizzo, in quanto GPIO0 è usato solo in alternativa ad altre porte. Clicca qui per andare alla pagina del progetto in questa modalità. |
La BDS con ESP32 (30 pin) |
2:
basetta
sperimentale con ESP32S (38 pin) a bordo. In questa seconda configurazione, la sceda alloggia un ESP32S (38 pin). In uno stesso progetto è possibile usare in alternativa un ESP32S o un ESP32, perchè le varie porte sono connesse in parallelo, e collegandoli entrambi, ci sarebbero sicuramente malfunzionamnti, se non addirittura danni ai microcontroller. ESP32S edispone di più porte di un ESP32, però visto che i GIPO dal 6 al 11non sono consigliate per l'uso da parte dell'utente, non sono utilizzati nello schema della BDS. Clicca qui per andare alla pagina del progetto in questa modalità. |
La BDS con ESP32S (38 pin) |
3:
basetta sperimentale con ESP32 (30 pin) + un display LVGL da 2.8" a bordo. Spesso è molto utile collegare il proprio microcontroller a un display, per avere un accesso immediato alle informazioni fornite da un sensore/attuatore, o direttamente dal Web. Per questo è stato inserito uno zoccolo per ospitare un display LGVL da 2,8". La BDS è stata progettata in modo tale che le porte utilizzate dal display non vadano in conflitto con quelle dedicate ai sensori/attuatori. Clicca qui per andare alla pagina del progetto in questa modalità. |
La BDS con un ESP32 + display |
4:
basetta sperimentale con ESP32S (38 pin) + un display LVGL da 2.8" a bordo. Lo stesso ragionamento è stato fatto, collegando un ESP32S al display LVGL da 2.8". Si noti che per effettuare questo collegamento è sufficiente collegar il display su di uno slot dedicato, senza utilizzare alcun cavetto accessorio! Clicca qui per andare alla pagina del progetto in questa modalità. |
La BDS con un ESP32S + display |
5:
basetta sperimentale con ESP32 CYD (cheap yellow
display).
Questa configurazione è un po' differente dalle precedenti, perchè un ESP32 e un display LGVL touch da 2.8" sono integrati in una stessa struttura, per forme e dimensioni molto simili a quello del solo display. Le porte disponibili all'utente sono poche, quindi questa particolare configurazione permetterà di collegare un numero minore di sensori/attuatori, ma nella progettazione si è cercato di ottimizzarne l'uso. Una serie di cavetti, collegati alle porte CN1, P3, Tx/Rx, Speaker permetteranno una connessione su di uno zoccolo specifico della BDS. Questo permetterà di gestire con più facilità lil collegamento con sensori/attuatori; tuttavia avrà meno flessibilità rispetto a ESP32/32S. Sono previsti del fori sulla basetta, in modo da inserire dei perni che consentano una connessione stabile tra ESP32 CYD e la basetta sperimentale. Clicca qui per andare alla pagina del progetto in questa modalità. |
La BDS con un ESP32 CYD |