Moduli bluetooth

scusate ma di che moduli state parlando?
io ho 2 di questi:

e volevo conneterli fra di loro per far comunicare 2 arduino.
ma devo impostarne uno come master, ma non so come fare di preciso, potete aiutarmi?
e per conneterli fra di loro come faccio? devo dirgli l'indirizzo a cui connetersi?
grazie :slight_smile:

Purtroppo non puoi fare una comunicazione diretta tra i due moduli bluetooth. Essi lavorano come slave e ti servirebbe un master o simile che di solito gira sul PC.

Essi lavorano come slave

uhm, dal datasheet risulta che si possono utilizzare anche come master.

@er_like_no_other
hai fletto il datasheet?
Ci sono tutti i comandi utilizzabili, per esempio:

C, Connect to the address specified in hex format. The address is also stored as the
REMOTE address.

Per la conessione seriale, trovi scritto nelle prime pagine:

Run your favorite terminal emulator, HyperTerminal or other program. Type “$$$” on your screen. You
should see “CMD” returned to you. This will verify that your cable and comm. settings are correct. Valid
commands will return an “AOK”, response, and invalid ones will return “ERR “. Commands that are not
recognized will return a “?”.

tu puoi utilizzare una connessione seriale PC, oppure una SW Serial su Arduino che non fa altro che trasmettere tali comandi al modulo...

in cosa consiste una connessione SW Serial su Arduino? avete qualche circuito e qualche codice che posso prendere come esempio?
scusate ma è la prima volta che esploro questi capi :blush:
grazie per l'aiuto

ciao,
per connessione SW Serial intendo una connessione seriale fatta non sui pin seriali fisici (0 e 1) di Arduino, ma su altri piedini.
Questo è possibile tramite una seriale appunto software.
Ci sono delle librerie da utilizzare, la più famosa è la NewSoftSerial:
http://arduiniana.org/libraries/newsoftserial/
Come per tutte le librerie, troverai nell'IDE degli esempi di utilizzo

Beh ma se uso il mega2560 non ne ho bisogno, ci sono già altri 3 canali seriali...
Quindi lo collego li e che faccio?
Grazie

non capisco... dovrei impostarne uno come master, visto che di default sono slave...
ma non riesco a dargli i comandi AT, non riesco a capire se mi risponde o meno =(
spiegatemi un po' come fare
grazie :wink:

e dire che mi sarebbe sufficiente che si scambiassero un solo un bit... :0

Ho ricevuto anche io i moduli BC413, funzionano. Il problema è che ho "tradotto" uno sketch sostituendo le chiamate a Serial.* con mia_seriale_bt.* e ho perso parecchie cose che prima andavano e ora no. Leggo molto dalla seriale per vari comandi e non vorrei che il bt fosse piu lento o chessò rispetto a una seriale cablata. Devo mettere delay? che fare? La mia schedina va a 9600, come cambio la velocità? Ho provato AT+BAUD8 ma non cambia niente... mi aiutate? :slight_smile:

Come fai ad impartirgli i comandi AT?
Dai un'occhiata a questo post, potrebbe tornarti utile:

prima andavano? a quanti baud avevi impostato il Serial.begin prima? sicuro di non avere problemi con la seriale? hai usato la libreria NewSoftSerial?

No no, li ho appena ricevuti. Prima lo sketch era perfetto ma usavo l'usb (a 9600)...
By the way, grazie a pitusso che mi ha linkato quel post ho potuto comunicare vedendo le risposte e ho scoperto che di AT+ROLE=2 se ne frega mentre il baud rate mi rispondeva ad ogni cambio. Ho risolto il problema variando la velocità: a 9600 come detto non gestiva una stringa di 14 caratteri, mentre era ok con una di 4. A 115200 si mangiava i caratteri (ero costretto a inserire un delay(5) fra ogni blue.read(), e finalmente a 38400 tutto va regolarmente!!! Una favola! Grazie a tutti voi.

Per comodità riposto il codice per modificare i settaggi (grazie a er_like_no_other), con alcune mie modifiche per competezza (ho usato il pin7 come pinAT, cioè per entrare in modalità AT):

#include <NewSoftSerial.h>

NewSoftSerial Serial1(3, 4);

void setup()  
{
 pinMode(7, OUTPUT);
 digitalWrite(7, HIGH);
 Serial.begin(38400);
 Serial1.begin(38400);
}

void loop()
{
 while (Serial1.available())
 {Serial.print((char)Serial1.read());}
 
 while (Serial.available())
 {Serial1.print((char)Serial.read());}
}

L'altra settimana ho fatto delle prove con il dente blu e arduino e tutto ha funzionato bene, ovviamente dopo vari tentativi.
Per quanto riguarda il collegamento di due arduini tramite bluetooth si può fare basta che uno dei due moduli sia configurato come role master, io non ho provato.
Se avete dei moduli bluetooth la lettura di questo pdf può essere interessante
http://iteadstudio.com/Downloadfile//BluetoothHC05.pdf
ci sono i comandi per modificare vari parametri del modulo.

Alberto

io posseggo uno di questi!

http://www.sureelectronics.net/goods.php?id=402

sono un paio di giorni che tento di interfacciarmi per mandare dei comandi AT, ma non riesco! Ho provato dapprima sfruttando il convertitore seriale dell'arduino, quindi la board senza ATMEGA328 inserito. Comunica alla grande con il mio pennino BT, ma di prendere comandi, nulla!

Ho provato a mettere alto il piedino 34, ma nulla! Ho provato a 9600, 38400 e 115200...nulla!

Ho provato tramite arduino con il programma proposto qui sopra, ma nulla! comunica sempre benissimo con il pennino, ma comandi AT niente!

avete suggerimenti?? Non ho uno scopo preciso, ma mi piacerebbe ad esempio cambiargli il nome oppure provare ad attivare gli I/O! ho una lista di comandi AT per questo modulo (credo) infinita!!

CIao,
riguardo al baudrate in una delle domande sotto si legge:

Q: I would like to use this as a serial line replacement. Can it be made to connect at higher baud rates than 9600 ?
A: I am sorry the baud rate is preset and could not be reset.

Attenzione perchè taluni moduli sono slave e di impostabile via AT non c'è praticamente nulla.
Dal datasheet scaricabile (dall'inserzione relativa ebay), sembrerebbe trattarsi di uno di questi.

Qualcuno ha esperienza con i moduli btm-222 di classe 1? Volendo domotizzare casa una classe2 è poco... passi in un'altra stanza e ciao ciao bt! :frowning:

cioè sfigato 2 volte!

non solo l'ho pagato 10€ uno! ma in più è bloccato! bene bene!......vorrà dire che prenderò quuesti due!

certo...li avrò l'anno prossimo....ma va bene!

domanda:

noto una possibile connessione USB. avete provato ad usarla? inviando dati, dove vanno a finire? sulla seriale del modulo, oppure trasmessi tramite bluetooth?

Io li ho comprati da qui
http://www.ebay.com/itm/ws/eBayISAPI.dll?ViewItem&item=170656377160
pare siano master/slave, ma non ho ancora provato a masterizzarli.

Utilizzo da un anno con successo questo modulo BT, ne ho ordinati altri 5 su ebay proprio oggi =)

Questi moduli hanno un led che lampeggia se il BT non è connesso e resta fisso quando la connessione è avvenuta, e fin qui, ok.

Il mio dubbio però è questo: visto che esiste anche un piedino "STATUS" che non è connesso a niente, vuoi che se ci attacco il positivo di un led riesco a replicare il led integrato? E' sufficiente mettere il positivo attaccato a status e mettere a massa l'altro polo del led? E' fattibile? Servono resistenze o altro? Qualcuno lo ha provato?

Grazie molte,
M