Arduino bluetooth e convertitore di livello?

buonasera!
sto cercando di capirci qualcosa sui moduli bluetooth sia a livello hardware che software
oggi stavo guardando dei tutorial su youtube riguardo i collegamenti di arduino al modulo bluetooth
e si parlava di utilizzare un convertitore di livello dato che le schede arduino utilizzano la 5 volt rispetto al modulo che è 3 v
quindi dal convertitore va ai pini digitali
Mentre in un altro tutorial con lo stesso modulo hc-06 è andato a collegare il vcc al 3.5 volt di arduino e quindi ha collegato tx ed rx
come mai in un tutorial si utilizzava il convertitore e nell’altro no?

alexxandro:
come mai in un tutorial si utilizzava il convertitore e nell'altro no?

Perché il 95% di questi tutorial sono delle emerite "baggianate" fatti da gente che non ne capisce un accidente !

Il modulo HC-06, di per se, è un modulo a 3.3V ...


... ma nessuno ti vende il modulo HC-06 come esci di fabbrica, ma te lo monta su una piccola schedina con i classici pin.

In funzione di chi fa questa schedina ci può essere solo il regolatore di tensione da 5V a 3.3V o ci possono essere anche degli adattatori di livello.

Devi guardare le specifiche del tuo modulo o chiedere al venditore.

Guglielmo

il tutorial linkava a questa scheda:

Sul retro c'è chiaramente scritto che l'alimentazione deve essere tra i 3.6V e 6V, mentre TX ed RX e gli altri segnali vanno a 3.3V (... quindi NON hanno adattatore) ...

Puoi alimentarla direttamente con i 5V di Arduino, ma, per evitare possibili danni, devi adattare i livelli degli I/O.

Guglielmo

il tutorial è questo:

ma non poteva collegare il vcc a 3.5 di arduino e tx e rx del modulo ad arduino e basta?

Arduino lavora a 5V e tutti i suo I/O, quando vanno a livello HIGH, danno 5V ... quindi ...

Guglielmo

tutti i suoi pin digitali compreso tx rx danno 5 volt?
quindi in questo tutorial che collega direttamente tx rx al modulo bluetooth ,rischia di danneggiarlo?

Certo che rischia di danneggiarlo ( il modulo ), oltretutto rischia di danneggiare anche Arduino, visto che ci collega dei Led senza resistenza.
E per dirla tutta, il Vcc di quel modulo va collegato al +5V e non al 3.3V come ha fatto

ok a parte il collegamento della 5 volt
anche in quest’altro tutorial ,collega un modulo senza utilizzare un adattatore di livello,collega i pin di arduino tx e rx e basta al modulo bluetooth a 3.3 volt

anche in quest’altro tutorial ,collega un modulo senza utilizzare un adattatore di livello,collega i pin di arduino tx e rx e basta al modulo bluetooth a 3.3 volt

E ne troverai tanti di tutorial con quel collegamento, ma non vuol dire che sia corretto.
Il rischio è quello di rompere l’ HC-06 e anche se esistono dei modulini in cui vi è l’adattatore a bordo, quelli più comuni ( ed economici ) che si trovano in giro… come questi

hanno solamente il regolatore di tensione ed i segnali TX e RX vanno diretti sul connettore.
Vedi schema

Comunque non serve un convertitore di livello, bastano due resistenze solo sul piedino RX ( per evitare di fargli arrivare direttamente un livello 0-5V ), in questo modo

a35d0cee90ea3494d23542504b98da2665cf349f.jpg

Ok grazie!
Mi chiedo allora:in quale caso specifico viene utilizzato un convertitore di livello se bastano delle resistenze per abbassare la tensione?

Un convertitore serve sempre quando un pin é bidirezionale com per esempio nel I2C. Sia Il master che il/i slave pilotano le 2 linee di segnale (dati e clock) In questo caso non va bene un partitore perchße non puó alzare la tensione.

Nei casi di segnale unidirezionale un convertitore puó essere utile per caricare meno l'uscita del segnale.

Ciao Uwe

mi scuso ma da principiante non ho capito proprio come comunica il modulo bluetooth con arduino
--l'esempio banale di accendere un led :
il cellulare invia con il bluetooth un segnale al modulo
il modulo bluetooth dalla parte trasmittente invia alla parte ricevente di arduino questi dati,che tramite la programmazione capisce se arriva ad esempio 1 accende il led
ma in questo caso ,il lavoro termina qui? cosa serve la parte trasmittente di arduino?
e in che modo comunica con la tensione dei 5 volt? in formato binario,inviando 0-1? 0 volt e 5 volt?