lunedì 18 luglio 2016

ESP-01 Guida al primo utilizzo e DIY programmer


Finalmente andiamo ad utilizzare la versione più piccola e comune della ESP8266, appunto la ESP-01 . 
Collegamenti e primo utilizzo.

PINS:

Per prima cosa, vediamo i veri nomi dei pins:


Per non creare ambiguità, i numeri da mettere in Arduino per abilitare i pin sono quelli che iniziano per "GPIOn" dove n sta per il numero del pin.

I pin che si possono utilizzare sono :
  • GPIO0 
  • GPIO2
  • TX - GPIO1 - internal led
  • RX - GPIO3 
Mentre RST,CH_PD, VCC e GND hanno funioni ben specifiche. I primi due verranno discussi a breve.


Alimentazione:

Primo e fondamentale punto da tenere sempre ben presente:

La ESP-01 funziona con 3.3V , non 5V. 

Ergo non è compatibile con i segnali e l'alimentazione d'Arduino.

Vorrei essere il più chiaro possibile:

  • Arduino è alimentato, tipicamente, da USB = 5V . Alimentare la nostra ESP-01 a 5V la ucciderà!
  • I pins d'uscita d'Arduino sono a 5V, quelli della nostra ESP-01 sono a 3.3V.
    Questo significa, per esempio, che se dobbiamo controllare un servo motore tramite il pin di controllo, tipicamente a 5V, questo non sentirà il segnale.

Soluzioni? analizziamole:
Questo semplice dispositivo, attivo, vi permetterà di collegare un dispositivo con segnale 5V (TTL) ed avere in uscita lo stesso segnale ma a 3.3V. Essendo attivo, permette anche l'opposto!

Completo e veramente multi uso, permette di convertire un segnale USB Seriale, in uno parallelo ad un determinato voltaggio. Esattamente quello che ci serve!
Consiglio caldamente, è molto molto utile per tantissime applicazioni.

L'ultima spiaggia, se proprio avete solo delle resistenze!


Questa guida utilizzerà l'FTDI, essendo quello più completo e più facile da utilizzare.

Collegamenti e abilitazioni:

Facendo fede a questo semplice schematico, facciamo tutti i collegamenti e studiamone il funzionamento.

Ricordate, mettete il jumper sulla posizione 3.3 V sulla FTDI.


Analizziamo rapidamente i collegamenti più importanti. 
Subito salta all'occhio la doppia alimentazione, cavo rosso, e la doppia massa, cavo nero.

Ma perchè?

L'ESP-01 ha due modalità di Boot da tener ben presenti:
NB: queste combinazioni sono richieste solo all'avvio della scheda.


  • UART/Abilitazione alla scrittura, quando andiamo a riprogrammare la scheda, caricando il nostro codice su di essa.
    Questa procedura si abilita collegando pin GPIO 0 -> LOW.
    Insomma dobbiamo collegare il pin GPIO 0 a GND.
  • Flash, andrà a caricare il programma che è stato scritto i modalità UART.
    In pratica basta collegare il pin CH_PD -> High (VCC).
ALT, ma non sono due combinazioni che devo effettuare per inserire le due modalità di Boot?
Si è vero, ( se non vi interessa saltate direttamente al capitolo successivo):
In UART basta forzare GPIO0 a GND, l'altro flotterà a HIGH.
In Flash se collegate CH_PD -> HIGH ( avvio effettivo della scheda ) GPI0e2 flotteranno HIGH.
Altre combinazioni intermedie non danno origine a nulla, quindi non possono capitare in Boot.

Esempio con l'Arduino IDE:

Dopo aver correttamente configurato l'Arduino IDE per ogni tipo di ESP8266, selezioniamo seguendo l'immagine.

Successivamente andiamo a caricare l'esempio:


Questo primo esempio farà accedere un led interno alla scheda, di colore blu. Un po' come il led 13 sulla scheda Arduino.

Carichiamo il nostro programma sulla ESP - 01, ricordando d'abilitare la scheda con il pin CH_PD -> High ( VCC )  & per l'abilitazione alla scrittura GPIO 0 -> Down ( GND ).

Una volta terminato il caricamento, scolleghiamo il nostro FTDI dal PC, rimuoviamo il collegamento GPIO 0 -> Down ( GND ) e ricolleghiamo l'FTDI.

Dopo qualche secondo il led inizierà a lampeggiare.

ESP01 programmer:

Perchè dover collegare ogni volta i fili manualmente al nostro FTDI?
Spesso ci si sbaglia o si dimenticano i collegamenti, meglio costruirsi un programmer DIY.

Schematico DIY programmer per ESP01
Nella foto sottostante vediamo il programmer ultimato. 
Ovviamente non ho collegato CH_PD -> High e la scheda non è accesa.


Ora colleghiamo CH_PD -> High ( VCC ) con un jumper. La scheda è ora accesa.
Nel caso ci fosse già caricato un programma, questo verrà eseguito.


Per inserire la modalità scrittura colleghiamo GPIO 0 -> Down ( GND ) &  l'accensione CH_PD -> High ( VCC ) .


Nessun commento:

Posta un commento