Go Down

Topic: Connection de modules bluetooth (maitre/esclave) (Read 44885 times) previous topic - next topic

arduinoreg

Jun 06, 2014, 01:29 pm Last Edit: Jun 13, 2014, 02:28 pm by arduinoreg Reason: 1
Bonjour
Je travaille actuellement sur un projet de control à distance de servomoteur (HC05 Maitre, HC06 Esclave) avec 2 cartes arduino nano

Mon soucis :
  - Je n'arrive pas à connecter les deux modules ensemble, faut-il 2 programmes bien défini, un pour le maitre l'autre pour l'esclave?
  - je n'arrive à envoyer les commandes AT que sur le HC05, du coup impossible de renommer le HC06...

La seule chose que j'arrive à faire, c'est de me connecter ainsi que d'envoyer des données à mon HC06 esclave, à l'aide d'une appli android sur mon smartphone..
Quelqu'un aurait il une idée? Apparemment le HC05 ne fonctionne qu'en  vitesse 38400 pour les commande AT? et pas 9600, tout n'est pas clair la dessus..

Artouste


Bonjour
Je travaille actuellement sur un projet de control à distance de servomoteur (HC05 Esclave, HC06 Maitre)

Mon soucis :
   - Je n'arrive pas à connecter les deux modules ensemble, faut-il 2 programmes bien défini, un pour le maitre l'autre pour l'esclave?
   - je n'arrive à envoyer les commandes AT que sur le HC05, du coup impossible de renommer le HC06...

La seule chose que j'arrive à faire, c'est de me connecter ainsi que d'envoyer des données à mon HC06 esclave, à l'aide d'une appli android sur mon smartphone..
Quelqu'un aurait il une idée? Apparemment le HC05 ne fonctionne qu'en  vitesse 38400? et pas 9600, tout n'est pas clair la dessus..

bonjour
Toi tu n'a pas la doc de base  :smiley-mr-green:
attention à bien tout lire , les pieges entre 05 et 06 sont nombreux
http://cjoint.com/14jn/DFgnLlj8u5e_hc03456.pdf

john_lenfr


(...., HC06 Maitre)


ça me parait compliqué vu que le HC06 n'est fait que pour être un esclave.
Voir ici:
http://forum.arduino.cc/index.php?topic=244516.0

;)

Artouste

#3
Jun 06, 2014, 01:45 pm Last Edit: Jun 06, 2014, 01:52 pm by Artouste Reason: 1


(...., HC06 Maitre)


ça me parait compliqué vu que le HC06 n'est fait que pour être un esclave.
Voir ici:
http://forum.arduino.cc/index.php?topic=244516.0

;)

bonjour john
on va lui faire là le credit de la redaction ... non relue  :smiley-mr-green:

edit :
en fait non , je confond arduinoreg et koby04
je crois qu'il a assimilé les # sur son autre topic

john_lenfr

Salut Artouste  :smiley-mr-green:

Effectivement je n'avais pas vu que c'était le même qui avait écrit dans les 2 posts, mais du coup je me demande s'il a bien assimilé alors?   :D

arduinoreg

#5
Jun 06, 2014, 02:03 pm Last Edit: Jun 06, 2014, 02:13 pm by arduinoreg Reason: 1
Oui, j'ai posté un autre message lol!
Et bien je veux envoyer des données à un HC06 esclave pour qu'il commande un servomoteur, à l'aide d'un HC05 en mode maitre (branché sur une autre carte arduino), c'est bien possible?
Le soucis, c'est que je n'arrive à envoyer aucune commande AT à mon HC05, alors que pour le HC06, aucun problème

Artouste


Oui, j'ai posté un autre message lol!
Et bien je veux envoyer des données à un HC06 esclave pour qu'il commande un servomoteur, à l'aide d'un HC05 en mode maitre (branché sur une autre carte arduino), c'est bien possible?
Le soucis, c'est que je n'arrive à envoyer aucune commande AT à mon HC05, alors que pour le HC06, aucun problème

ok
les choses etant bien donc ce qu'elles sont  :smiley-mr-green:
lis donc et assimile la doc que j'ai mise en lien plus haut

john_lenfr

En tout cas c'est intéressant car j'ai justement reçu mes 2 modules HC05 ce midi.
ça sent le bluetooth ce week end!  :smiley-mr-green:

arduinoreg

Euh, je me suis trompé dans mon 1er message, je voulais bien dire HC05 en mode maitre, et HC06 esclave..
Je vais essayer de lire un peu plus cette doc..

john_lenfr

Tu peux regarder ici aussi:
http://www.comm2excel.com/projects/bluetooth_AT_Commands.php?id=17#
http://www.youtube.com/watch?v=7gM-xv4yRZA

Je suis tombé sur cette doc qui a l'air pas mal aussi:
http://www.e-gizmo.com/KIT/images/EGBT-04/EGBT-045MS-046S%20Bluetooth%20Module%20Manual%20rev%201r0.pdf


http://www.instructables.com/id/Andruino-A-Simple-2-Way-Bluetooth-based-Android-C/

Artouste


Euh, je me suis trompé dans mon 1er message, je voulais bien dire HC05 en mode maitre, et HC06 esclave..
Je vais essayer de lire un peu plus cette doc..

Il faut la lire completement et surtout l'assimiler pour bien comprendre les "subtiles et importantes  8)    "  differences, sinon tu ne t'en sortira pas !  :smiley-mr-green:

voir déjà et surtout ce qui traite de la difference des terminateurs entre HC05 et HC06

arduinoreg

Justement les terminateurs je ne comprends pas qu'est ce que c'est, tu parles des pin? Key34, 31?

fdufnews


arduinoreg

#13
Jun 06, 2014, 03:05 pm Last Edit: Jun 06, 2014, 03:37 pm by arduinoreg Reason: 1
Ce que j'ai bien compris HC05:
- Pin 34 HIGH(3,3V) (pin Key à 5V)   ==>  AT mode baud rate 38400  ==> pin 31 led 1Hz  (sauf que ça ne marche pas  :(  )
- Pin 34 LOW (0V)  (pin Key 0V)      ==>  mode pour appairer               ==> pin 31 led 2 Hz
Je ne vois aucune différence de variation de vitesse de la led?!

Voici le programme de test pour l'envoie de commande sur le HC05... Et je continue tout de même à lire la doc.. si vous pensez que j'ai mal compris déjà ça, je veux bien être corrigé?
Car je n'ai aucune réponse à chaque commande AT envoyé sur le moniteur serie (même après rajout du terminateur \r\n  qui n'est normalement pas necessaire lors de la saisi clavier "If the serial helper is installed, user just need enter "ENTER")

Code: [Select]
#include <SoftwareSerial.h>

SoftwareSerial BTSerial(10, 11); // RX | TX

void setup()
{
 pinMode(9, OUTPUT);  //HC-05 pin 34 (key pin)
 digitalWrite(9, HIGH);  // 5V sur Key pour activer le mode commande AT
 Serial.begin(9600);
 Serial.println("AT commandes:");
 BTSerial.begin(38400);  // HC-05 vitesse par défaut pour la commande AT
}

void loop()
{

 // lecture des commandes AT par le serial port(9600)
 if (BTSerial.available())
   Serial.write(BTSerial.read());

 // envoie à HC-05 de commandes AT saisi
 if (Serial.available())
   BTSerial.write(Serial.read());
}

arduinoreg

J'ai réussi à obtenir quelque chose!  :smiley-mr-green:
merci les amis!

Go Up