Go Down

Topic: [HOWTO] Guida (più o meno) completa all'utilizzo di Moduli Bluetooth (Read 82 times) previous topic - next topic

Vasorch

Uno smartphone Android tipo un Samsung S4 o un Sony xperia arc (siamo in 2 a lavorare  a questo progetto). Inoltre su google play ho trovato un paio di applicazioni ovvero "Arduino bluetooth control", "Ardudroid by techbitar" e "Amarino" (o una cosa del genere)....
Non credo sia molto complicato pilotare un motore dc, un servo e 3  led no?  :smiley-mr-green:

gpb01

No ...  XD
... vai tranquillo con gli HC-05 (che possono fare sia da Master che da Slave) oppure, se sei sicuro che non ti occorrerà ma la parte Master, prendi gli HC-06 ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

Vasorch

Ehm... Che differenza c'è tra slave e master?  :smiley-red: (fatemi qualche esempio concreto  :smiley-sad-blue:)

gpb01

Il Master è quello che cerca le connessioni e si connette con diversi Slave ...
... il PC accetta varie connessioni, il tuo telefono Android accetta varie connessioni, ... sono tutti Master.

Le cuffiette BT che si connettono al telefono, il mouse BT che si connette al PC, ... sono tutti Slave.

Un master cerca e si connette più Salve ... uno Slave viene connesso ad un solo Master.

Spero tu abbia capito ...

Se tu devi fare un qualche cosa che si connette ad un telefono Android ... devi fare uno Slave ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

Vasorch

Ok, quindi mi sa che prenderò un HC-06  ;)
Ma da come ho capito per la comunicazione non devo utilizzare i pin 0 e 1 di Arduino, giusto?  XD

gpb01

Diciamo che ... sarebbe meglio che usassi la SoftwareSerial su altri due pin (es. 10 RX e 11 TX) ... così, oltre ad evitare possibili problemi già visti in passato ... ti resta anche libera la seriale di Arduino per fare il debug ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

Vasorch

Ho comprato l'HC-05! :)
Dopo alcuni problemi prontamente risolti, mi è arrivato un altro problema, questo però è molto fastidioso. Ovvero:
Aggiungendo dei delay (per la visualizzazione di messaggi tipo "led acceso" oppure tempi di attesa che mi servono) questi vanno a incidere sulla risposta del modulo. Cioè, invio il comando per far accendere un led, se in una QUALSIASI parte dello sketch ho un delay (ovviamente tipo 5000-1000-2000 ecc.) il modulo aspetta effettivamente tutto il tempo prima di accendere il led Come  posso risolvere questo problema?  :smiley-eek-blue:

Inoltre, ho collegato i pin del modulo ai pin 0  e 1 di Arduino. Forse dico una stupidaggine, ma può essere questa la causa del problema?  :smiley-eek:

gpb01

Non so se hai notato che questo thread si chiama "Guida (più o meno) completa all'utilizzo di Moduli Bluetooth" e quindi sarebbe bene non sporcarlo con argomenti che poco hanno a che vedere (come il tuo del delay) e ... sarebbe stato molto meglio che avessi aperto un thread nell'area Software ...  :smiley-roll:

Comunque ...


Cioè, invio il comando per far accendere un led, se in una QUALSIASI parte dello sketch ho un delay (ovviamente tipo 5000-1000-2000 ecc.) il modulo aspetta effettivamente tutto il tempo prima di accendere il led Come  posso risolvere questo problema?  


Scusa che pretendi ? Metti i delay() e poi ti lamenti perché il codice si ferma ???  :smiley-eek: :smiley-eek: :smiley-eek:

Impara ad usare la funzione millis() ... studia QUESTO e poi QUESTO !



Inoltre, ho collegato i pin del modulo ai pin 0  e 1 di Arduino. Forse dico una stupidaggine, ma può essere questa la causa del problema?


No, questo può darti altri problemi e malfunzionamenti, ma non ha nulla a che vedere con il delay() ...

Guglielmo
Search is Your friend ... or I am Your enemy !

lesto


Scusa che pretendi ? Metti i delay() e poi ti lamenti perché il codice si ferma ???  :smiley-eek: :smiley-eek: :smiley-eek:



non c'è cosa peggiore di un computer: fa ESATTAMENTE quello che gli dici di fare  :smiley-mr-green:
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Testato

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

gpb01

Dato che non è facilissimo trovarle, credo sia interessante segnalare QUESTA schedina della MikroElettronika ... Bluetooth di classe 1 con portata 1000 mt (... in condizioni ottimali) basata sul modulo WT41 di Bluegiga.

Ovviamente non costa quanto un moduletto cinese di classe 2, ma viene sui 65 US$ (... 59 US$ in formato "click™") più spese di spedizione e, per poter fare un collegamento a quelle distanze, ovviamente occorre usarne due (... o avere qualche cosa con un bluetooth della stessa categoria di potenza), però ... ove serve, può essere un'ottima soluzione ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

arcipelago

Ciao a tutti,
sono decisamente un neofita in questo mondo. Sto cercando di utilizzare un HC-05 con Arduino. Il primo passo che sto tentando è la configurazione con AT.

Ho seguito la guida in ogni dettaglio. Ho incrociato TX ed RX e ho impostato "Sia NL sia CR" nel monitor segnale, ma l'HC-05 non dà alcun segno di vita.
Ho fatto la prova con due HC-05 diversi e con due Arduino diversi (un UNO e un MEGA), cambiando anche breadboard e set di jumper. Monitorando l'andamento del programma ho visto che entra nell'if che scrive sulla scheda.

Il LED rosso lampeggia correttamente (lento) e se metto l'uscita at a LOW lampeggia più velocemente.
Ma in tutti i casi non ho nessuna risposta dalla scheda sul monitor seriale.

Allego foto dei collegamenti, dello sketch e dei pin sotto la HC-05.

Qualcuno può darmi una mano, per favore?

Sbaglio qualche cosa?
Che cosa posso provare a fare?
Grazie
ciao
Marco

pitusso

Ciao,
bps inpostato?

Fai anche una prova banale, ovvero invertire, lato modulo, rx e tx.
Di quei moduli (non ricordo quale versione) me ne era capitato qualcuno che aveva invertire le serigrafie.
Quindi RX arduino -> RX modulo, TX arduino -> TX modulo.

gpb01

In modalità comandi AT (pin KEY = HIGH) la velocità è fissa ed è 38400 baud. In modalità normale, di default, arriva impostato come slave a 9600 baud.

Il lampeggio DEVE cambiare a seconda se è connesso o meno ad un "master" (... cosa usi per connettertici ?) e non ha nulla a che vedere con il pin KEY ... che, per ora, ti consiglio di NON usare (lascialo volante) !

Quando avrai ben capito come usare il modulo, allora potrai cominciare a giocare con il pin KEY ed i comandi AT, ma fino ad allora è del tutto inutile e non ti serve !

Guglielmo
Search is Your friend ... or I am Your enemy !

pitusso

Da qui:
http://www.lctech-inc.com/Hardware/Detail.aspx?id=684fb223-1a23-4b83-8dbd-4d58c2b3c0cb
(che è il tuo modulo)
si legge appunto che:

Quote
Factory default parameters:
Slave Baud Rate: 9600, N, 8,1; Pin Code: 1234;If you need the master mode, please specify when ordering.


quindi è già in slave, come anche detto da gp01.
Dovresti già essere in grado di vederlo da pc/smartphone e di fare il pairing.

Go Up