Go Down

Topic: Moduli bluetooth (Read 11 times) previous topic - next topic

aventrax

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? ^_^

pitusso

Come fai ad impartirgli i comandi AT?
Dai un'occhiata a questo post, potrebbe tornarti utile:
http://arduino.cc/forum/index.php/topic,78526.msg623278.html#msg623278

?R

prima andavano? a quanti baud avevi impostato il Serial.begin prima? sicuro di non avere problemi con la seriale? hai usato la libreria NewSoftSerial?
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

aventrax

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):

Code: [Select]

#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());}
}


bigjohnson

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

Go Up