Salve a tutti, sono nuovo in questo forum e mi fa piacere prenderne parte. Ho acquistato da poco un modulo Bluetooth HC-06 per il mio Arduino. Sto provando uno sketch molto semplice, ovvero, quello per accendere e spegnere un LED. Ho preso il codice da Giuseppe Caccavalle, l'ho caricato e collegato al mio arduino. Il modulo lampeggia rosso, il cellulare trova il device, si associa ma non riesce a connettersi. Qual'è il problema? Ho sbagliato qualcosa?
Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentartiIN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.
1. Non so a che pin hai collegato il modulo, in ogni caso ti sconsiglio di usare i pin 0 ed 1 di Arduino, ovvero la Serial, dato che tale porta è collegata al convertitore seriale <-> USB e spesso serve usarla per fare il "debug".
Usa la SoftwareSerial per creare una seriale da software su altri due pin (ti consiglio 10 RX e 11 TX).
crc57:
Un mio alunno che ha riscontrato, forse, questo stesso problema lo ha risolto utilizzando il vecchio cellulare con cui invece prima funzionava.
Ovviamnete gli HC-06 sono dei moduli Bluetooth 2.x e quindi si accoppiano SOLO con cellulari che lo permettono, ovvero NO cellulari iOS che ammette solo il BLE (Bluetooth Low Energy 4.x).
marcas97:
Sto provando uno sketch molto semplice, ovvero, quello per accendere e spegnere un LED. Ho preso il codice da Giuseppe Caccavalle, l'ho caricato e collegato al mio arduino. Il modulo lampeggia rosso, il cellulare trova il device, si associa ma non riesce a connettersi. Qual'è il problema? Ho sbagliato qualcosa?
GND -> GND
MASSA -> 5V
TX -> TX
RX -> RX
Come già ti hanno detto, spero che tu non stia usando un melafonino, quindi magari conferma la cosa.
Se così non fosse, allora scusa ma se hai seguito le istruzioni della pagina di Caccavale non ho capito che connessioni hai fatto!
Intanto che è sta cosa che hai messo MASSA a+5V???
Nella pagina c'è scritto chiaramente come va connesos:
marcas97:
Il mio modulo vicino ai PIN, porta il +5V
Va bene +5V ... è un modulo HC-06 montato su una basetta adattatrice con il regolatore di tensione. Magari, per sicurezza, controlla che indichi gli stessi valori anche per i dati (TX e RX) e che non siano invece limitati a 3.3V
Dopo di che leggi bene i vari post, fai quanto ti è stato spiegato e vedi come va ...
Intanto, come ti ho detto nel post #3, usa per rxPin il 10 e per il txPin il 11 ... dopo di che, hai verificato di aver incrociato i collegamenti come ti ho spiegato?
Altra cosa, per diagnostica, stampa quello che ricevi, così vedi se arriva quello che ti aspetti.
Infine .. perché ustilizzi la classe "String" ? ? ? ... come avrò scritto decine e decine di volte su questo forum, NON sei su un PC dove c'è un sistema operativo ed un "garbage collector", sei su una piccola MCU con solo 2KBytes di SRAM, dove devi fare tutto tu e dove usare la classe "String", a causa dell'allocazione e riallocazione dinamica della memoria, porta quasi sempre ... a grossi problemi e sicuri mal di testa !!!
Impara ad usare le stringhe classiche del C ... ovvero semplici array di char terminati dal carattere null (0x00) e le funzioni che trovi nella libreria standard (... che, oltretutto, è automaticamente inclusa dal IDE) AVR libc ed, in particolare, quanto è in <string.h>
Sto usando ArduinoRC su Android. Mi dice connecting e si connette,ma il modulo fa 3 lampeggi e si spegne..se mando High o Low, non risponde. Sto usando RX e TX -> 10 e 11
gpb01:
Infine .. perché ustilizzi la classe "String" ? ? ? ...
Si, vero, è QUELLA pagina di Caccavale che fa sta caz... sciocchezza. Ma direi di affrontare un problema alla volta, per PRIMA cosa deve verificare di aver fatto bene i collegamenti.
marcas97:
Sto usando ArduinoRC su Android. Mi dice connecting e si connette,ma il modulo fa 3 lampeggi e si spegne..se mando High o Low, non risponde. Sto usando RX e TX -> 10 e 11
Ma quale app esattamente usi, visto che ce n'è più di una con quel nome? Metti il link diretto all'app che usi.
E poi con l'app tu quali caratteri mandi esattamente per fare High e Low?
Io per sperimentare usavo QUESTA app...
marcas97:
I collegamenti sono giusti e l'APP è la stessa usata da te
Tre cose:
Per i collegamenti veramente tu hai scritto prima una cosa diversa, e NON erano "giusti". Li hai rivisti quindi?
Anche per l'App tu ne hai citata una (ArduinoRC) che è diversa da quella che ti ho indicato io (Arduino bluetooth controller) la quale tra l'altro è di fatto una sorta di "terminale" seriale su bluetooth.
Non hai risposto alla domanda: "con l'app tu quali caratteri mandi esattamente per fare High e Low?"