L'ESP8266
_ESP12E è un eccellente chip, che permette di realizzare una
vasta serie di programmi. Esso ha un costo modesto, un
bassissimo consumo energetico, diverse porte digitali e una
analogica disponibile. Vedi la pagina
dedicata ai pin disponibili. Specialmente quando si debbono testare sketch complessi, con varie periferiche, sulla basetta millefori si dovranno collegare molti cavi, con il richhio di errori e malfunzionamenti. Inoltre quando si assembla uno schema complesso, che richiede parecchio tempo per essere realizzato, poi si è restii a disassemlarlo, per provare altri schemi. I vantaggi della basetta sperimentale e didattica:
Clicca qui per visualizzare la basetta Clicca qui per visualizzare i conflitti Clicca qui per i moduli che vanno su ogni zoccolo Clicca qui per le istruzioni per la costruzione della basetta sperimentale Clicca
qui per il download dei file necessari per la
costruzione della basetta |
ESP8266 - ESP12E |
Una soluzione personale al problema: realizzare una basetta ad hoc. |
Prima
di lanciarmi nel progetto definitivo, che ha prodotto una
basetta di stile professionale, ne ho realizzate un paio di
modelli in modo "arigianale", disegnando personalmente le
tracce, che poi ho stampato sulla basetta con superficie
ramata, trattata con l'acido, eseguta la serigrafia
superiore, la foratura, ecc. Ecco l'immagina della seconda
versione. Rispetto alla terza versione, aveva già a bordo un paio di pulsanti e tre led, però la gestione delle periferiche era piuttosto spartana e richiedeva dei cavi di collegamento, ma era comunque utile per i primi test. |
Ecco
la seconda versione in formato 1:1
|
La basetta nella sua versione definitiva |
La
basetta in formato 1:1, versione definitiva, V3.
|
La
basetta sperimentale per ESP8266 nella versione ESP12E. In
basso al centro sii vede l'alloggiameto per il
microcontroller, sia nella versione con chip seriale CH340C
e CP2101/2. Oltre agli zoccoli previsti per alloggiare una vasta gamma di sensori/attuatori e display, sono presenti on-board due pulsanti e tre led che possono servire per effettuare alcuni test rapidi. La differenza tra le due versioni è subito evidente. |
Ora
eseguiremo un'analisi dettagliata delle varie parti
logiche che compongono la basetta.
|
L'alloggiamento
del chip principale.
|
In
questa sezione si inserisce il microcontroller. Le due
versioni, quella con adattatore seriale CP2101/2 e CH340C,
hanno la stessa piedinatura, ma un ingombro laterale
diverso. ESP12E con chip CP2101/2 è più stretto, e si inserisce nel profilo indicato da "NODE1"; mentre quello con chip CH340C usa lo zoccolo di destra più esterno, etichettato "ESP2". Gli zoccoli ALL_SX e ALL_DX, replicano fedelmente i piedini dell'ESP8266 rispettivamente di sinistra e di destra. Disponendo di queste uscite, si possno effettuare tutti i collegamenti al nostro ESP8266; semplicemente i connettori sono femmine invece che maschi. |
In
questa sezione ci sono (da sinistra a destra): gli zoccoli
relativi alla sezione analogica, a quella dedicata ai moduli
SPI e infine a quelli che seguono il protocollo I2C. Nel
dettaglio:
Nota 1: I2C1, I2C2, I2C3 permettono di collegare, anche simultaneamente, tre moduli I2C. Ogni zoccolo ha i piedini in configurazioni diverse, il modo da poter accogliere un vasto numero di periferiche. Nota
2: naturalmente sugli zoccoli I2C1,
I2C2, I2C3 possono essere connessi anche dei semplici
moduli digitali, con una o due uscite. Però a differenza
di quelli I2C, non possono essere collegati più moduli
alla stessa porta. Nota
3: JP1 (riquadro giallo) permette, utilizzando la
corretta ponticellatura dei pin maschi, di utilizzare per
questi moduli una tensione di +3,3v o di 5v (solo se
collegato ad un alimentatotre esterno. Per non danneggiare
ESP8266, usare tutte le volte che possibili solo
la tensione di 3,3v. |
In
questa sezione, si vedono le porte per i moduli digitali:
DG1, DG2, DG3, DG4. Ecco la descrizione dettagliata:
Nota
1: JP1 (riquadro giallo) permette, utilizzando la
corretta ponticellatura dei pin maschi, di utilizzare per
questi moduli una tensione di +3,3v o di 5v (solo se
collegato ad un alimentatotre esterno. Per non danneggiare
ESP8266, usare tutte le volte che possibili solo
la tensione di 3,3v. |
Nell'immagine
di sinistra si vedono due zoccoli, BT1 e BT2, su cui
verranno saldati due pulsanti e tre led, LD1, LD2, LD3, con
le loro resistenze. Essi sono stati inseriti nativamente
sulla basetta sperimentale per poter realizzare vari
progetti. I due pulsanti possono sostituire per i test tutti
quei sensori che si comportano come switch digitali, con
valore "0" o "1", quali sensori magetici, radar, pir,
ultrasuoni, luci, suoni, ecc.; mentre i led possono essere
usati come indicatori, oppure simulare la presenza di relè.
Essi sono connessi al connettore presente sulla destra, evidenziata in giallo; possono essere collegati con un breve cavo al connettore inferiore "data" selezionando individualmente a quale porta collegarli, avendo quindi la massima libertà e flessibilità. |
I
pulsanti e i led on-board
|
Questa
immagine, che visualizza la zona destra in basso della
basetta, mostra un connettore universale, denominato
"DATA". Infatti su questo connettore sono presenti tutte le
porte che possono essere facilmente utilizzate. Sulla
sinistra ci sono altri due file di connettori: uno per la
tensione dei +3,3v e l'altro della massa. Sopra di essi sono
presenti altri due piccoli connettori, uno per i +5v (solo
se la basetta è connessa all'alimentatore esterno e questa
tensione è assolutamente necessaria) e il successivo ancora
per la massa. Sotto di essi si vede un altro piccolo connettore con solo sue pin maschi: ponticellandolo, per qualche secondo, si "risveglia" l ESP8266 da un "deep sleep". Clicca qui per la lista dei moduli. Clicca qui per visualizzare un programma di test per lo zoccolo "DATA" Nota
1: alimentare i moduli esterni a +5v solo se è
assolutamente necessario, perchè si potrebbe
danneggiare l'ESP8266.
Nota 2: praticamente usando questo zoccolo, si possono connettere qualsiasi modulo presenti nelle tabelle relative ai singoli zoccoli, e probabilmente anche molti altri. |
Ed
infine, le zone predisposte per l'alimentazione: nel
riquadro rosa, si vede il connettore per la'imentatore
esterno e il led con la sua resistenza che segnala che la
basetta è alimentata. Il semiconduttore L7805 portaa +5v l'alimentazione prelevata dal connettore a cui si inserisce l'alimentatore esterna, che può essere compresa tra 6 e 10v. I condensatori C1 e C2 livellano il valore della tensione esterna. Dei jumper JP1 e JP2 sono già stati illustrati precedentemente. Nota: l'alimentazione a +5v è attiva solo se l'alimentatore esterna è collegato al connettore della basetta sperimentale. |
Le
parti coinvolte per la gestione dell'alimentazione.
|
Il rendering in 3D della basetta sperimentale |
I conflitti nell'uso delle porte
della basetta sperimentale |
L'ESP8266
-ESP12E monta a bordo 1 porta analogica e 8 porte digitali
che possono essere utilizzate facilmente e senza problemi.
Progettando la basetta, e nel tentativo di inserire più
zoccoli che possano ospitare una vasta gamma di moduli, ci
si trova inevitabilmente nel dubbio di quali porte
attribuire a ogni connettore, e purtroppo è necessario fare
delle scelte, non sempre facili. Poichè le porte a disposizione non sono tantissime, nel corso della realizzazione dei programmi, sarà necessario fare attenzione a non creare conflitti. La seguente basetta pemetterà di verificare rapidamente come procedere. |
Ecco la lista degli zoccoli che non possono essere usati contemporaneamente, pena conflitti |
Gli
zoccoli che usano le stesse porte, usualmente
non possono usati contemporaneamente, pena la creazione di
conflitti e malfunzionamenti. Fanno eccezione:
|
I moduli che possono essere
connessi su ogni zoccolo |
In
questo paragrafo si trova la lista, piuttosto articolata,
dei sensori che possono essere connessi su ogni zoccolo
disponibile. Questa lista non è esaustiva, perché il numero
di periferiche che possono essere connessi al nostro
ESP8266, come per Arduino, sono tantissimi. Qui troverete la lista di quelli che semplicemente ho testato personalmente, per cui nel tempo verrà sicuramente ampliata. |
I
moduli adatti per AD1: |
Note: L'ultima colonna a destra mostra se i sensori hanno superato il test dell'alimentazione a 3,3v. I sensori di gas in particolare, che hanno un notevole assorbimento, specialmente in riscaldamento, non possono essere sostenuti dai pochi mA forniti da ESP01. In questo caso necessitano di alimentazione a 5v, che però potrebbe danneggiare il microcontroller. Attenzione, quindi! Alcuni moduli, pur utilizzando una porta analogica e una digitale, purtroppo hanno una diversa piedinatura; pertanto devono essere collegati con dei cavetti allo zoccolo, facendo attenzione alle corrispondenze. |
I moduli adatti per AN1: |
Note: valgono le stesse indicazioni geneali che per AD1. Su questo zoccolo possono essere collegati vari semplici sensori che abitualmente sono connessi sulle porte digitali. |
I
moduli adatti per SPI1: |
Note: su questo zoccolo si può connettere direttamente solo il modulo RFID RF522. Per tutti gli altri è necessario usare dei cavetti, facendo attenzione alla loro sequenza. Questo connettore si collega a ben cinque porte dell'ESP8266. E' quasi una porta universale... Non si possono collegare contemporaneamente moduli su AD1 e DG4, pena conflitti e malfunzionamenti. |
I moduli adatti per I2C1: |
Note: tutti i moduli che si connettono con I2C2 e I2C3 possono essere connessi anche su questo zoccolo, usando dei cavetti, da collegare con attenzione. I moduli che seguono il protocollo I2C possono essere connessi su uno qualsiasi di questi zoccoli, se hanno indirizzi interni differenti. |
I moduli adatti per I2C2: |
Note: tutti i moduli che si connettono con I2C1 e I2C3 possono essere connessi anche su questo zoccolo, usando dei cavetti, da collegare con attenzione. I moduli che seguono il protocollo I2C possono essere connessi su uno qualsiasi di questi zoccoli, se hanno indirizzi interni differenti. |
I moduli adatti per I2C3: |
|
I moduli adatti per DG1 - DG2: |
Note: questi zoccoli hanno la stessa configurazione. Però DG1 usa la porta GPIO0; DG2 usa GPIO2. Il trasmettitore a 433 MHz con 3,3v ha una portata ridotta. Alcuni moduli devono essere ruotati di 180° quando .verranno inseriti nello zoccolo; altri, come lo shok sensor e 18B20 non hanno superato il test a 3,3v. Naturalmente usando dei cavetti, ognuno di questi moduli può essere connesso sullo zoccolo DG3. Questo zoccolo non può essere usato in contemporanea con .DG3, perchè usano la stessa porta dell'ESP8266. |
I moduli adatti per DG3: |
Note: I moduli PIR non amano la tensione a 3,3v... Naturalmente usando dei cavetti, ognuno di questi moduli può essere connesso sullo zoccolo DG1. Questo zoccolo non può essere usato in contemporanea con .DG2, perchè usano la stessa porta dell'ESP8266. |
I moduli adatti per DG4: |
Note: come si può vedere, alcuni moduli non funzionano correttamente a 3,3v. Alcune periferiche usano due porte per connettersi al microcontroller, ma richiedono un cavetto causa diversa disposizione delle connessioni. Questo zoccolo non può essere usato in contemporanea con .SPI1, perchè usano alcune porte in comune. |
I moduli adatti per "DATA": |
Note: In questa tabella sono inseriti solo i moduli che richiedono più di cinque porte, e che quindi non possono essere connessi singolarmente sugli altri zoccoli. Naturalmente si può collegare su questo connettore, praticamente universale, qualsiasi modulo descritto per i singoli zoccoli. |
Programma
di test per lo zoccolo "DATA" Si può testare questa porta, usando ben otto porte digitali: da d1 a d8, collegando una batteria da otto led, che funzionano perfettamente anche a 3,3v. Ne esistono due versioni, e bisogna verificare se si ha la versione ad anodo comune o a catodo comune. Collegare i pin d1/./d8 dei led agli omonimi d1/./d8 del connettore "DATA". Se i led hanno l'anodo in comune, collegare "COM" al +3,3v delle basetta; se invece i led hanno il catodo comune, collegare "COM" alla GND della nostra basetta. Clicca qui per visualizzare il programma ad anodo comune; Clicca qui per scaricare in formato ".zip" il programma ad anodo comune; Clicca qui per visualizzare il programma a catodo comune; Clicca qui per scaricare in formato ".zip" il programma a catodo comune. Nota: i led sostituiscono egregiamente i relè nelle procedure di test. |
Lo
zoccolo "DATA"
il modulo da 8 led |