Salve a tutti, ho acquistato un modulo HC-05, riesco a configurarlo, l'ho collegato ad arduino per alimentarlo.Lo sto utilizzando in modalità slave (default) e sto cercando di connettermi al mio MacBook Pro tramite Bluetooth.
L'accoppiamento va a buon fine ma dopo 10 secondi perde la connessione, pur avendo una frequenza del led sul modulo che indica la modalità CONNESSO.
Qualcuno ha avuto lo stesso problema è può aiutarmi?
Non ho mai utilizzato le schede Bluetooth con il mio mac ma da varie discussioni che ho letto qui mi è sembrato che i suddetti devono essere BLE(Bluetooth Low Energy).
No, quello è valido per i device iOS hai quali Apple NON permette l'accoppiamento con device Bluetooth se non autorizzate da loro.
macOS NON ha questa limitazione e non so perché dopo 10 secondi gli risulti scollegato ... oltretutto con il modulo BT che invece continua a dare il segnale di connesso.
Appena ho tempo vedo di fare una prova con il mio MacBook Pro ... :
Ho verificato ...
... mi connetto dalle "preferenze BT", mi fa fare il "pairing", rimane connesso 10 secondi e, nelle preferenze BT, lo vedo poi "disconnesso".
Se però apro un "terminale seriale" e seleziono il modulo HC-05 (... che ormai vedo esistere) come porta di comunicazione, come apro la comunicazione dal terminale, nelle preferenze BT vedo che il modulo viene automaticamente riconesso ed il tutto funziona.
Appena dal "terminale seriale" chiudo la comunicazione, il modulo viene disconnesso ed è pronto a collegarsi ad altri master.
Ciao Guglielmo, stavo per scriverti la stessa procedura che hai fatto, facendo una prova ieri mi sono reso conto che aveva lo stesso comportamento che hai riscontrato,cioè, aprendo il terminale il modulo si riconnette perché è stata generato il seriale "hc-05-DevB" nella fattispecie.
Dunque risolto, Grazie per la tempestività, già che ci sono vorrei chiederti in altra info:
Sto utilizzando un modulo Wi-Fi ESP8266 e come suggerito da te più volte ho acquistato un convertitore di livelli.Quesi però sembra non funzionare.Se però collego normalmente il modulo ad arduino ed apro la seriale non ho nessuno problema di comunicazione (ho provato a digitare comandi AT per verificare la connessione).
In particolare sto utilizzando il modello ESP-01 con UART, che a quanto pare non dovrebbe darmi problemi di tensione su TX-RX dunque in teoria non mi servirebbe nemmeno il convertitore di livelli.
Su fatto che tu possa collegare un ESP8266 direttamente ad Arduino (... senza traslatori di livello), si è già discusso e si è ampiamente dimostrato che NO, il ESP8266 non è 5V tolerant.
Ti do i riferimenti alla discussione, leggi attentamente i post di Astrobeed sia QUI che QUI.
Per la connessione del ESP-01 che hai (... e del relativo level shifter), ti rimando all'ottima GUIDA scritta da SukkoPera.
Comunque, nella pagina 1 dell' gigantesco thread dedicato all'ESP8266 che si trova in Megatopic, ci sono tutti i link utili che ti possono servire.
Collegamento Arduino-Traslatore di Livello- ESP (HO EMULATO UNA SERIALE SUL PIN 6 E 7 DI ARDUINO)
ARDUINO TRASLATORE DI LIVELLO ESP
5V 3.3V VCC -CH_PD
GND GND GND
RX(PIN6) HV1 LV1 UTX
TX(PIN7) HV2 LV2 URX
Caro Guglielmo,
questo è il collegamento (spero sia chiaro) effettuato tra Arduino Uno-Tralsatore-ESP. Al pin 5V del converitore ho messo un alimentatore per cellulare adattato (5v 2ampere).
Nulla da fare, non parte!
se buypasso il convertitore ed eseguo i collegamenti così come sono (ovviamente utilizzando 3.3v dalla board Arduino) funziona!Sia AT mode sia, per esempio, come client server (sketch che mi consente di accendere e spegnere il led 13 tramite l'indirizzo ip del modulo ESP).
Intanto mi preoccupa molto la tua frase "i collegamenti così come sono (ovviamente utilizzando 3.3v dalla board Arduino)" ... cosa fai, alimenti il modulo con i 3.3V di Arduino ? ? ? :o :o :o
Poi, hai verificato il funzionamneto di quel traslatore ? Ti basta un tester ...
... metti a +5V un ingresso HV e sulla uscita LV devi avere i 3.3V, lo metti a GND e sull'uscita devi avere GND, dopo di che fai la prova contraria, metti in ingresso sul LV i 3.3V e sulla relativa uscita HV devi avere i 5V, poi lo metti a GND e sulla uscita devi avere GND.
Metti inoltre un link a QUALE traslatore di livello ti riferisci (link a dove o hai comprato).
Collegare le uscite dell'ESP ai pin di Arduino significa vederlo prima o poi ... "tirare le cuoia"
purtroppo in Cina bisogna cercare, cercare, cercare, cercare....Alla fine puoi trovare tutto!
vorrà dire che Cercherò un altro componente che "FA Il SUO MESTIERE"!
Il collegamento è esattamente quello, ma purtroppo non funziona!a me (e a Guglielmo) sembra strano il fatto che applicando una tensione sul pin 5V lato H essa si ripresenti su tutti i pin del lato H.Stessa cosa lato L, anzi da quel lato la tensione è circa 2V...
"The level converter is very easy to use. The board needs to be powered from the two voltages sources (high voltage and low voltage) that your system is using. High voltage (5V for example) to the ‘HV’ pin, low voltage (3.3V for example) to ‘LV’, and ground from the system to the ‘GND’ pin."
Sulla guida sparkFun c'è scritto questo, io ho capito che dev'essere alimentata contemporaneamente dal lato 5V e dal lato 3.3V, a me non sembra avere senso per l'utilizzo che ne devo fare!
Giuseppebm:
Sulla guida sparkFun c'è scritto questo, io ho capito che dev'essere alimentata contemporaneamente dal lato 5V e dal lato 3.3V, a me non sembra avere senso per l'utilizzo che ne devo fare!
Certo che DEVE essere alimentato sia con i 5V che con i 3.3V ... mica hai dei partitori resistivi, hai dei mosfet che commutano le varie tensioni ...
... ovvio che se NON gli hai dato entrambe le alimetazioni non funziona !
Giuseppebm:
Ok, ci sto, allora la 3.3v la prendo da arduino?o devo per forza comprare un LT1117 3.3?
Scusa come alimenti l'ESP ? Sai bene che NON puoi alimentarlo con i 3.3V di Arduino (... ti sei letto i documenti del link che ti ho dato ?) ... usa quelli dell sua alimentatore.
Se faccio il collegamento come quello postato da brunello dovrebbe essere tutto apposto!anche perché il convertitore nell'immagine è identico a quello che utilizzo!
State facendo confusione...
l'adattatore di Sparkfun è solo un logic converter, mentre quello cinese che ha comprato ha in più il regolatore di tensione da 5V a 3.3V
Non serve quindi fornire i 3.3V al modulo, visto che l'LDO c'è apposta.
Ed è normale che se alimenti il modulo con i 5V tu abbia 5V sul lato HV e 3.3V sul lato LV, visto che hanno le loro resistenze di PullUp
Quindi il collegamento corretto è quello del disegno, senza usare un alimentatore esterno, ma prendendo i 5V direttamente da Arduino