Collegamento di ESP8266 NodeMCU ad Arduino

Buonasera,
ho collegato un ESP8266 NodeMCU ad Arduino per invio di dati via Wifi tramite seriale.
In particolare il collegamento è costituito da 3 cavi:

  • TX (ESP) -> pin 5 (Arduino)
  • RX (ESP) -> pin 6 (Arduino)
  • GND (ESP) -> GND (Arduino)
    Tutto funziona correttamente.
    Ho però letto che ESP8266 NodeMCU funziona a 3.3 V e che potrei danneggiare il componente, ma non riesco a trovare e capire come dovrei correggere il collegamento ed eventualmente che componente aggiuntivo acquistare per effettuare la conversione.

Se qualcuno può aiutarmi ne sarei grato.

Grazie mille

Ciao, hai bisogno di un convertitore logico simile a questo:

link

Saluti

Grazie mille per l'indicazione!
Esiste una guida su come effettuare il collegamento con questo convertitore?

Obiamente TX e RX possono essere qualsiasi pin da convertire.
Saluti

conversor.jpg

conversor.jpg

Comunque ti basta un diodo

Schematic.png

Schematic.png

Ma la cosa del diodo non è bidirezionale.
Saluti.

@gonpezzi, ovviamente in una comunicazione seriale solo in una linea da Arduino a Node hai 5V, l'altra è a 3,3V perchè va dal Node ad Arduino. Ed Arduino 3,3V li sente come HIGH
Con il convertitore hai una cosa più "pulita" mentre con il diodo devi essere sicuro che i 5V vengano abbassati abbastanza per andare sotto i 3,3V ma non troppo

@ nid69ita,

Ed Arduino 3,3V li sente come HIGH

E come è possibile se il diodo non consente il passaggio di alcuna corrente? Non essendoci flusso di corrente, NON c'è variazione nel pin di arduino, a meno che non si superi la tensione di breakdown inversa del diodo, (circa 100V, credo di ricordare), che ovviamente sarebbe dannosa per il nostro arduino.
Dovresti fare qualcos'altro come il seguente.
H1RJ2.png
Penso che sia secondo le foto quello che dovrebbe fare questo modulo.
Saluti.

EDIT: dove dico arduino intendo ESP8266

H1RJ2.png

nid69ita:
Con il convertitore hai una cosa più "pulita" mentre con il diodo devi essere sicuro che i 5V vengano abbassati abbastanza per andare sotto i 3,3V ma non troppo ...

In realtà, se sul pin RX dell'ESP si mette una resistenza di pull-up verso i 3.3V (che normalmente tiene alto il pin) e si mette il diodo, come disegnato, in senso diretto ... quando il TX di Arduino è HIGH, i 5V non passano (diodo polarizzato al contrario) e il pin RX del ESP viene tenuto HIGH dalla pull-up, quando il pin TX di Arduiono diventa LOW, il diodo conduce e il pin RX dell'ESP viene portato LOW anche lui.

Ovviamnete occorre scegliere bene il diodo ... ad esempio un economico BAT82 ha una tensione inversa di 40V ed una caduta di tensione diretta di soli 0.33V (per correnti inferiori al 0.1mA) :slight_smile:

Però, onestamente, per quello che costa un level shifter quadruplo (su AliExpress intorno ai 0.15 US$) ... io uso sempre quest'ultimi :smiley:

Guglielmo

gonpezzi:
@ nid69ita,
E come è possibile se il diodo non consente il passaggio di alcuna corrente?

Io ho interpretato la frase di @brunello per l'uso di un diodo per abbassare la tensione dai 5V di Arduino sfruttando la caduta di tensione del diodo.
Non avevo letto bene lo schema di @brunello. Per me il diodo sarebbe su TX di arduino verso RX della node, quindi 5V vengono abbassati dal diodo. E non bastando un diodo 1N4148 ne metterei due.

nid69ita:
Perciò penso lo schema di @brunello sia errato. Per me il diodo sarebbe su TX di arduino verso RX della node, quindi 5V vengono abbassati dal diodo

None, il diodo blocca i 5V provenienti da Arduino quando il TX di Arduino è alto, e porta a massa (diciamo a 0,65V per un diodo normale) il RX dell'ESP quando il TX di Arduino è basso. Si da per scontato (??) che lato RX dell'ESP ci sia una pull-up.

Nello schema #8 di gonpezzi manca appunto il diodo intrinseco nel mos con anodo verso i 3,3V e catodo verso Arduino.

Claudio_FF:
... Si da per scontato (??) che lato RX dell'ESP ci sia una pull-up.

... e difatti, non essendone sicuro, nel mio post #8 qui sopra consigliavo di metterla ... poi magari c'è già sul pin RX ... ::slight_smile:

Guglielmo

Buongiorno a tutti,
mi fa piacere che ne sia nata una bella discussione e molti confronti.
Ho provato a seguire il consiglio iniziale di gonpezzi, e ho acquistato un convertitore di livello logico 4 canali I2C SPI LLC, mi è arrivato ieri quindi farò delle prove e vi farò sapere.

Intanto grazie mille a tutti

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.