In
questa pagina potrai trovare alcune brevi note su come
configurare la IDE di Arduino per poter trasferire i tuoi
sketch sui microcontroller con processore ESP8266, ed
inoltre la piedinatura per ESP8266
- ESP12E, oltre ad alcuni link utili per l'approfondimento
di questi temi. |
La configurazione della IDE di Arduino per ESP01 - ESP8266 |
Per
caricare un programma su di un ESP01 o ESP8266, che usano
lo stesso processore, è necessario eseguire una piccola
configurazione della IDE di Arduino, identica per entrambi
i microcontroller. Per prima cosa, aprire la IDE
stessa, selezionare "file" e poi "preferences" ( se la IDE è
in inglese) o file/preferenze in italiano. Nota: l'immagine riguarda la IDE nella versione 1.8.19. Nel frattempo è stata rilasciata la versione 2.x.x. Se si desidera vedere le istruzioni per questa versione (comunque molto simile alla precedente versione), si possono reperire le informazioni (in inglese) presso il sito "randomnerdstutorial", al seguente link: https://randomnerdtutorials.com/installing-esp8266-nodemcu-arduino-ide-2-0/ |
Quando
si appre la finestra, Spostarsi su "Additionals Boards
manager URLs/URL aggiuntive per il Gestore schede e inserire
questo link: http://arduino.esp8266.com/stable/package_esp8266com_index.json
, che permette di gestire il chip 8266. e confermare con OK. Nota: nel caso avessimo già inserito un'altra url, per esempio per l'ESP32, separarle da una virgola. |
Aprire
Tools/Boards/Boards Manager (Strumenti/Scheda/Gestore
schede): |
Nel
campo di ricerca inserire "esp8266". Quando appare "esp8266 by ESP8266 Community" e premere su "Install". Dopo pochi secondi la libreria verrà installata. |
Per
verificare se tutto è andato a buon fine, aprire la IDE di
Arduino, cliccare su Tools/Board/Board Manager e selezionare
"Generic ESP8266 Module"/"Strumenti/Scheda/Gestore
schede/". |
Si
vedono le informazioni della scheda. In genere vanno bene i
settaggi proposti. Ricordarsi di selezionare pa porta di comunicazione: Con Linux in genere è "/dev/tty/USB0"; con Windows in genere è "COMx". |
A
questo punto si può caricare il primo programma che
normapmente si usa: il famosissimo "blink": il programma che
semplicemente fa lampeggiare il led interno e vedere se
funziona. Per caricarlo sulla IDE di Arduino: file esempi 01 basics blink Poi cliccare sul pulsante con la freccia verso destra per caricare il programma sul microcontroller. |
Il programma è tutto compreso nel rettangolo...
|
In
caricamento...
|
Nella
immagine di sinistra si vede il processo di caricamento
dello sketch, mentre a destra esso è terminato. Eè
sufficiente scollegare e ricollegare il microcontroller alla
USB per vedere il led lampeggiare. Operazione compiuta! |
...
caricamento terminato.
|
A questo punto, il nostro microcontroller è pronto per caricare e testare tutti i nostri progetti! |
La piedinatura di ESP8266 -ESP12E |
Descrizione
e uso dei Pin |
ESP8266
include:
|
I
pin migliori pin da usare nei programmi A differenza di Arduino, in cui tutti i pin analogici e digitali possono essere utilizzati per sviluppare i nostri programmi, con ESP8266 è necessaruio fare una scelta accurata, pena malfunzionamenti o impossibilità di avviare il microcontroller. Inoltre è importante notare che i codici serigrafati sul chip non corrispondono ai GPIO, per cui è necessaria una tabella di conversione, con alcune indicazioni. |
Chip |
GPIO |
Ingresso |
Uscita |
Note |
...D0... |
..GPIO16... |
no
interrupt |
manca il supporto per il PWM e I2C |
High all'avvio. Usato per
riavviarlo dal "deep sleep". |
D1 |
GPIO5 |
Ok |
Ok |
Usato per SCL (I2C) |
D2 |
GPIO4 |
Ok |
Ok |
Usato per SDA (I2C) |
D3 |
GPIO0 |
"High"
durante il boot |
Ok |
Connesso al pulsante "Flash". L'avvio fallisce se settato a "Low". |
D4 |
GPIO2 |
"High" durante il boot | Ok |
High all'avvio. Connesso
al led interno. L'avvio fallisce se settato a "Low". |
D5 |
GPIO14 |
Ok |
Ok |
SPI (SCLK) |
D6 |
GPIO12 |
Ok |
Ok |
SPI (MISO) |
D7 |
GPIO13 |
Ok |
Ok |
SPI (MOSI) |
D8 |
GPIO15 |
"Low"
durante il boot |
Ok |
SPI (CS) L'avvio fallisce se settato a "High". |
RX |
GPIO3 |
Ok |
Pin per
Rx |
High all'avvio |
TX |
GPIO1 |
Pin
per Tx |
Ok |
High all'avvio L'avvio
fallisce se settato a "Low". Uscita del debug all'avvio. |
A0 |
ADC0 |
Input
analogico |
NO |
GPIO
connessi al chip "Flash" GPIO6 e GPIO11 sono connessi al chip di Flash, per cui non è raccomandato usarli nei nostri programmi. |
I
pin usati durante l'avvio
|
I
pin settati "High" all'avvio Ci sono alcuni pin che forniscono una tensione di 3,3 volt all'avvio. Ciò potrebbe creare dei problemi se si collegano relè o altre periferiche all'avvio. Ecco i pin che cono attivi all'avvio: GPIO16, GPIO3, GPIO1, GPIO10, GPIO9 Inoltre, gli altri GPIO, eccettuati GPIO4 e GPIO5, possono fornire una leggera tensione durante l'avvio, e questo potrebbe creare dei problemi se si collegano relè o transistor ad essi. Perciò GPIO4 e GPIO5 sono i GPIO più sicuri nel caso si utilizzino relè o transistor. |
Ingressi
analogici ESP8266 - ESP12E hanno un'unica porta analogica, utilizzabile solo in ingresso. Accetta tensioni tra 0 e 3,3v, con risoluzione a 10 bit (0 - 1023) |
Il
led integrato ESP12E possiede un led integrato, connesso al GPIO2. Il led lavora con logica invertita. Si accende quando è settato a Low e si spegne se settato a High. |
Il
pin di Reset (RST) Quando il pin RST è settato a Low, resetta il Chip. E' la stessa azione che si ottiene premendo il tasto di reset. |
La
modalità "bootloader" Quando il GPIO0 è settato a Low, forza l'ESP8266 nella modalità "bootloader". Si ottiene lo stesso effetto premendo il pulsante Flash/Boot. |
"Svegliare"
il chip dal "deep sleep" il GPIO16 può essere utilizzato per svegliare il chip dal deep sleep. Per fare ciò, va connesso al pin RST |
Il
protocollo I2C L'ESP8266 non ha dei pin hardware per I2C, ma può essere implementato via hardware. Ecco i pin:
|
Il
protocollo SPI I pin usati per SPI sono i seguenti:
|
I
pin PWM Il PWM (Pulse Wave Modulation), permette di simulare, per esempio, la variazione di luminosità di un led. I pin da GPIO0 a GPIO15 permettono l'effetto PWM via software. La risoluzione è a 10 bit (0 - 1023). |
I
pin di interrupt L'esp8266 permette l'uso di interrupt su tutti i GPIO, tranne GPIO0. |
Ho
tradotto le informazioni da questo link: https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/ Ringrazio i curatori del sito per la chiarezza e ricchezza delle informazioni. |