Ethical DIY

Progetti hardware & software etici


Menu orizzontale con sottomenu CSS








 


Versione di ESP32

NodeMCU ESP32 (standard)

ESP32 - Cam (con telecamera)

ESP32 CYD (con display)



La basetta sperimentale (BDS)

La basetta sperimentale (BDS)  per ESP32x: intro e download

Assemblare la basetta sperimentale

Il settaggio della basetta

La gestione delle porte (GPIOx)

Le cinque  configurazioni della basetta sperimentale (BDS)

Elenco dei sensori/attuatori testati per ogni slot di collegamento




Informazioni di base:

- Come installare la IDE di Arduino
- Configurazione e piedinatura
- Caricamento dei programmi
- Come caricare le librerie necessarie

Piedinatura di ESP32 a 30 o 38 pin



Programmi per ESP32x




Link utili


 















ESP32/ESP32S/ESP32S LVGL:
La basetta sperimentale

Javascript HTML:it - Demo Slideshow con effetto fade
ESP32S_DSP ESP32 ESP32_Dsp ESP32 ESP32_LGVL



 




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.


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.
cc4
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,


tens
scelta della tensione
gpio
scelta del GPIO
swconnessione di 8 switch
ic24
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:
  • un buon saldatore e stagno di qualità;
  • un piccolo tronchese
  • Strumenti utili (ma non indispensabili):
  • un tester
  • una lente di ingrandimento
  • "la terza mano"

Clicca qui per la pagina con le istruzioni dettagliate per l'assemblaggio della BDS e la lista dei componenti necessari.



tester
Un tester
3mani
"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:
  • settori di colore rosso: relativi all'alimentazione della scheda. Alcuni jumper devono essere settati, affinchè la basetta venga alimentata + zoccoli dedicati all'alimentazione (3,3v o 5v)
  • settori di colore verde: jumper relativi alla selezione delle porte per alcuni zoccoli (di colore giallo). Anch'essi devono essere settati per il funzionamento delle porte a cui sono dedicati.
  • settori di colore bianco: zoccoli (slot) su cui collegare i sensori/attuatori/display ecc.
  • settori di colore azzurro: zoccoli dedicati alle porte "programmabili", utilizzando dei cavetti.
  • settori di colore giallo: zoccoli a cui inserire (alternativamente) i microcontroller ESP32x.
  • settore di colore grigio: jumper di settaggio per l'alimentazione del display LGVL da 2.8"
  • settore di colore nero: zoccolo con segnale di massa (ground)



set
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:
tab32

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:
  • più periferiche che seguono il protocollo I2C (zoccolo I2C1, I2C2, I2C3, I2C4) possono essere connesse contemporaneamente, sempre che abbiano indirizzi interni differenti;
  • per tutti gli altri zoccoli (escluso ESP32 CYD, che verrà trattato a parte) non si possono connettere contemporaneamente periferiche che utilizzino anche un solo GPIO in comune, pena confitti,  malfunzionamenti o risultati inprevisti.
  • lo zoccolo ESP32 CYD è a tutti gli effetti uno slot di un microcontroller; per cui si potranno collegare ad esso solamente le periferiche che utilizzino i pin corrispondenti, ovvero: GPIO21/22/26/27 e 35. Per cui saranno adeguati: I2C1, I2C2, I2C3, e parzialmente I2C4; MT1 (motore elettrico); BZ1 (altoparlante o buzzer); GPS1 o GPI2 (sensore GPS); DA2 e DA4 (periferiche che utilizzano un solo GPIO).
  • gli zoccoli "RELAY" e "SWITCH" hanno entrambi uno zoccolo da 8 pin di dati, che possono essere connessi allo zoccolo "DATA", che è lo zoccolo universale su cui sono presenti tutti  i GPIO utilizzabili dall'utente. Valgono le stesse regole per gli zoccoli non-I2C2: essi non possono essere connessi a un GPIO a cui è già collegato un'altra periferica, pena conflitti e malfunzionamenti.

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"



pag1
Pagina 1

pag2
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à.


ESP32
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à.


esp32S
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à.


esp32D
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à.


esp32SD
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à.

espcyd
La BDS con un ESP32  CYD





Per contatti: info@ethicaldiy.org