Ciao a tutti!
Il tutorial di oggi è davvero veloce però il componente di cui vi parlerò potrà tornare molto utile in tanti progetti.
Si tratta di un convertitore di livello bidirezionale chiamato anche BD-LLC.
Questo circuitino ci semplifica la vita quando dobbiamo far comunicare Arduino con altri dispositivi via seriale, ad esempio moduli bluetooth e alcuni moduli radio e wifi.
In particolare quando si vuole interfacciare uno di questi moduli ad Arduino bisogna considerare il fatto che Arduino per comunicare via seriale porta il pin TX tra 0 e 5V, mentre molti moduli si aspettano in ingresso un livello di 3.3V, quindi oltre a non comunicare rischieremmo anche di danneggiarli.
Stesso discorso per il pin in ricezione, dove Arduino si aspetta un livello alto di 5V, mentre il suddetto modulo porterebbe il livello a 3.3V avendo potenzialmente una comunicazione non ottimale.
In particolare quando si vuole interfacciare uno di questi moduli ad Arduino bisogna considerare il fatto che Arduino per comunicare via seriale porta il pin TX tra 0 e 5V, mentre molti moduli si aspettano in ingresso un livello di 3.3V, quindi oltre a non comunicare rischieremmo anche di danneggiarli.
Stesso discorso per il pin in ricezione, dove Arduino si aspetta un livello alto di 5V, mentre il suddetto modulo porterebbe il livello a 3.3V avendo potenzialmente una comunicazione non ottimale.
Il convertitore di livello ci viene incontro in questi casi, dando in pasto ad Arduino o ai moduli collegati esattamente le tensioni che necessitano, convertendo istantaneamente i livelli logici.
Ecco lo schema elettrico di un canale di questo circuito:
Ed ecco un esempio pratico di collegamento tra Arduino ed un modulo bluetooth con alimentazione tra 3.6 e 6 V ma segnali seriali di livello 3.3V:
Se volete saperne di più ecco un'esaustiva guida (in inglese) dove potrete anche acquistare il level converter.
Per eventuali dubbi lasciate pure un commento qui sotto, ciao!
Seguimi sulle mie pagine per rimanere sempre aggiornato sui nuovi post!
buongiorno
RispondiEliminaio ho il problema inverso. Ho una MKR1000 che fornisce solo tensioni da 3,3V
ed ho un GPS che funziona con una VCC di 5V. E' possibile usare questo level converter
per fornire 5V su HV-GND partendo dai 3.3 su LV-GND?? Grazie Luca
Si il componente è bidirezionale, quindi nessun problema, come descritto anche nel link alla fine del post
Eliminaciao io sto utilizzando questo componente "
EliminaGaoxing Tech. 5PCS 2 canale logico convertitore di livello 3.3V a 5V TTL bidirezionale Module per Arduino " per leggere da seriale >Esp12F dei dati da un modulo modbus 485.
Putroppo non funziona.
In aggiunta devo passare anche un PIN D5 per il DERE del modulo mbus.
Lo faccio transitare sempre all interno del convertitore ?
se si su che pin Rx o TX? del convertitore.
ciao e grazie
Ho lo stesso problema di Luca Innocenti e non mi è chiara una cosa: vedo che il level converter è alimentato sia a 5v che a 3.3v, se la mia board fornisce solo alimentazione a 3.3v come port i 5v al level converter? Grazie :)
RispondiEliminaI 5v li devi portare tu al sensore se funziona a 5v. Il modulo non è uno step up ma solo un level converter per i segnali logici
Elimina