Go Down

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

Ciao,
grazie di cuore a tutti per l'aiuto!

Ho risolto grazie ad uno dei vostri consigli semplicemente impostando il baud rate dell'HC-05 a 38400.

Ora risponde perfettamente ai comandi AT!

Passo a provare il pairing con lo smatphone.

Grazie grazie grazie!

ciao
Marco


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



per il momento non era connesso a nulla volevo solo vedere se il modulino funzionava.
L'idea è di connetermi con uno smartphone (ho già visto che mi riconosce l'HC-05 tra le connesioni bluetooth) e di pilotarlo da lì.


brainconfusion

Salve a tutti,
cercando nel forum non sono riuscito a togliermi un dubbio riguardo l'uso dei moduli HC-05, è possibile usando questi moduli stabilire connessioni multiple?
Se non sbaglio lo standard bluetooth prevede che un master possa avere fino a 7 connessioni con altrettanti dispositivi slave, mi chiedo quindi se sia possibile far comunicare un arduino master con più di un dispositivo oppure se di volta in volta devo stabilire una nuova connessione.
Qualcuno ha mai provato???

Nel caso avessi sbagliato luogo, scrivendo in questo topic chiedo scusa

Grazie dell'aiuto

Riccardo

Nikka93

Ragazzi non ne vengo a capo, dovrei avere un modulo HC05 esattamente questo:

http://www.instructables.com/id/Arduino-AND-Bluetooth-HC-05-Connecting-easily/

Riesco a vederlo dal cellulare a fare il pairing ma non riesco a leggere niente sul seriale del compilatore quando invio dei comandi da una applicazione sul cell connessa via bt.

gpb01

Riesco a vederlo dal cellulare a fare il pairing ma non riesco a leggere niente sul seriale del compilatore quando invio dei comandi da una applicazione sul cell connessa via bt.
Dato che NON siamo indovini ...
... metti una foto NITIDA dei collegamenti che hai fatto ed il codice che stai usando su Arduino (... mi raccomando, racchiuso tra i tag CODE)


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

Nikka93

Code: [Select]
#include <SoftwareSerial.h>
const int rxPin = 2;
const int txPin = 3;
SoftwareSerial bluetooth(rxPin, txPin);

void setup() {
  Serial.begin(9600);
  bluetooth.begin(9600);
  Serial.println("Bluetooth:");
}
void loop() {
  if (bluetooth.available()) {
    Serial.write(bluetooth.read());
  }
}

Nikka93


Nikka93

Ora il modulo lampeggia velocemente e non riesco più a fare il pairing con il bluetooth del telefono... mi sa che risulta in Master

gpb01

No, se non hai dato gli appositi comandi AT con il pin KEY HIGH, in modalità Master non ci può andare !

Ma su che Arduino sei ?
E ... come mai non stai usando i pin 10 ed 11 che io consiglio sempre e che indico in tutti i miei post relativi all'argomento (... la SoftwareSerial sul 2 e il 3 NON funziona su alcuni modelli di Arduino, es. Arduino Leonardo e simili) ?

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

Nikka93

ho provato anche con 10 e 11 le connessioni ora sono queste, riesco ad effetturare il pairing con il telefono ma non riesco a leggere i dati che manda il telefono al modulo.

Sbaglio forse il codice... eppure è semplice

ecco una foto delle connessioni

https://www.dropbox.com/s/otjf6sc5pbeo7oq/20141029_192338.jpg

gpb01

Purtroppo la foto è fatta di profilo e non si identifica bene dove i terminali partono e arrivano, comunque, i pin che devi collegare sono :

Code: [Select]
+5 BT  -> +5 Arduino
GND BT -> GND Arduino
TX BT  -> pin 10 Arduino
RX BT  -> pin 11 Arduino


non collegare il pin KEY che al momento non ti serve.

Per i codice prova il seguente :

Code: [Select]
// *****************************************************
//
//        Bluetooth module serial communication
//              Bluetooth <--> USB_Serial
//
// *****************************************************

#include <SoftwareSerial.h>

#define  BT_RX 10            // PIN to receive from bluetooth
#define  BT_TX 11            // PIN TO transmit to bluetooth

SoftwareSerial btSerial(BT_RX, BT_TX);

void setup()
{
  delay (2000);
  //
  Serial.begin(9600);        // Initialize USB Serial port
  btSerial.begin(9600);      // Initialize Bluetooth SoftwareSerial port for selected data speed
  //
  Serial.println("--- Ports ready ---");
  Serial.println("");
  //
}

void loop()
{
  if (btSerial.available() > 0) Serial.write(btSerial.read());
  if (Serial.available() > 0) btSerial.write(Serial.read());
}


... è quello che si usa sempre per fare le prove facendo parlare il BT con il monitor seriale di Arduino e ... è ampiamente collaudato ;)

Guglielmo

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

Nikka93

Ora funziona, forse perchè non mettevo la stringa

Code: [Select]
Serial.available()>0

Karma per te

GRAZIE

gpb01

Bene ! Sono contento che hai risolto ...

Quando sarà di nuovo disponibile e funzionante l'Advanced Search qui sul forum, se farai una ricerca per gpb01 e bluetooth ... troverai svariati post che magari ti potranno essere utili ;)

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

Go Up