Problème Bluetooth "inactif"

Bonjour,

Pour mon projet, j'ai besoin d'une liaison Bluetooth entre un téléphone et l'Arduino.

Voici donc le branchement (en photo) de mon prototypage Bluetooth (module HC06).

(VCC 5V (rouge), GND (noir), RX (pin 10, violet), TX (pin 11, bleue)). Les câbles RX TX sont bien croisés.

Et mon programme (copié sur internet, juste en modifiant les pins rx tx):

#include <SoftwareSerial.h>  //Software Serial Port
#define RxD 10    //Pin 2 pour RX (pin0=serial) vert
#define TxD 11    //Pin 3 pour TX, on peut changer noir
SoftwareSerial BTSerie(RxD,TxD);

void setup()
{
  Serial.begin(57600);    //115200 si on veut
  delay(500);
  Serial.println("Bonjour - Pret pour les commandes AT");
  // Configuration du bluetooth
  pinMode(RxD, INPUT);
  pinMode(TxD, OUTPUT);
  BTSerie.begin(57600);  //57600
  delay(500);
  BTSerie.print("AT+VERSION");  //Demande le N° de version
  delay(1000);
  // BTSerie.print("\n");
}
void loop()
{
  char recvChar;
  //On lit caractere par caractere sur le BTSerie et on affiche sur le Terminal Serie
  if (BTSerie.available()) {
    recvChar = BTSerie.read();
    Serial.print(recvChar);
  }
  // Serial.write(blueToothSerial.read());
  if (Serial.available()) {
    recvChar = Serial.read();
    BTSerie.write(recvChar);
  }
}

Problème: lorsque j'envoie mes commandes AT, aucune réponse du module, et je ne peux pas me connecter dessus en Bluetooth (appairage impossible). La led rouge du module clignote rapidement.

Que faire ?

FindL:
Voici donc le branchement (en photo) de mon prototypage Bluetooth (module HC06).

(VCC 5V (rouge), GND (noir), RX (pin 10, violet), TX (pin 11, bleue)). Les câbles RX TX sont bien croisés.

Problème: lorsque j'envoie mes commandes AT, aucune réponse du module, et je ne peux pas me connecter dessus en Bluetooth (appairage impossible). La led rouge du module clignote rapidement.

Que faire ?

bonjour

les HC06 s'alimentent en 3.3V ps 5V
hors programme arduino tu dois voir ton HC06 simplement alimenté avec un telephone (ou autre) et effectuer l'appairage

Pourtant sur le module il est écrit power: 3.6-6v.

Je ne comprends pas, alimente le module par téléphone..?

Salut,
@ Artouste , il existe bien des modules HC06 qui sont prévu pour être alimenté en 5V (j'en ai plusieurs).


Sinon en alimentant juste le HC06 avec VCC et GND, celui-ci doit être visible avec smartphone en mode découverte BT, puis entrer le code 0000 pour faire appairage avec smartphone, si cela ne fonctionne pas c'est que le soucis vient du HC06.

Attention la vitesse par défaut du HC06 est de 9600 pas 57600, donc modifier le code :

BTSerie.begin(57600);  //57600
en
BTSerie.begin(9600);

Après télécharger sur le Store Android un terminal BT, qui va permettre de faire les test de communication entre HC06 + arduino et Smarphone.
@+

FindL:
Pourtant sur le module il est écrit power: 3.6-6v.

Je ne comprends pas, alimente le module par téléphone..?

ok
oui , ma redaction n'est pas des plus "heureuse"
je voulais dire un hc06 simplement alimenté doit etre visible par ton telephone
hameau à repondu en ce sens
sous androïd j'utilise pour test amarino

En complément à Artouste , terminal BT :

Ok.

Je suis vraiment bête.
J'ai mis RX -> RX et TX -> TX... Alors que c'est RXD -> TX, TXD -> RX

EDIT: Je peux communiquer via Serial sur mon Bluetooth (PC -> Arduino), mais toujours impossible de m'y connecter...

FindL:
EDIT: Je peux communiquer via Serial sur mon Bluetooth (PC -> Arduino), mais toujours impossible de m'y connecter...

explique "mieux" 8)

  • tu recupere un OK venant du HC06 sur le serial monitor de l'IDE après une commande AT envoyée par le serial monitor ?
  • ou ... autres choses ?

NB : sur un HC06 le mode AT n'est pas/plus disponible pour un HC06 "connecté" à une application.

ne pas confondre/amalgamer "appairage" et "connexion"

La led "activité" sur "mes 8) " HC06 clignote en permanence sauf lors d'une connexion établie (ce qui implique appairage ET connexion à une appli)

Pour faire court , a tu déjà vu/obtenu la led activité de ton HC06 devenir fixe et plus "clignotante" ?

Oui, je peux communiquer normalement avec mon module Bluetooth (par le moniteur série), je reçois donc bien un OK.

Le seul problème est que sur mon téléphone, après avoir saisi le code PIN, ça me met l'erreur: Association impossible avec l'appareil.

Oui j'ai déjà eu le module fonctionnel lors d'un précédent projet, il y a longtemps. Entre temps j'ai changé de téléphone (un galaxy s7 edge).

Je testerai avec un autre téléphone demain, il parait que ça peut changer....

FindL:
Oui, je peux communiquer normalement avec mon module Bluetooth (par le moniteur série), je reçois donc bien un OK.

Le seul problème est que sur mon téléphone, après avoir saisi le code PIN, ça me met l'erreur: Association impossible avec l'appareil.

Oui j'ai déjà eu le module fonctionnel lors d'un précédent projet, il y a longtemps. Entre temps j'ai changé de téléphone (un galaxy s7 edge).

Je testerai avec un autre téléphone demain, il parait que ça peut changer....

Déjà , au moins est ce que tu vois sur ton telephone dans environnement bluetooth , le HC06 apparaitre ?
edit ; j'assume que çà c'est OK

Complément : comment connais tu le code PIN actuel/actif de ton HC06 pour appairage?
Si pour test/mauvaise manip/...etc
il y a eu un AT+PINABCD où ABCD est maintenant le code pin , il faut déjà tester avec l'injection d'un nouveau code PIN par une nouvelle commande AT

Oui, j'injecte bien un nouveau code, de cette manière:

Bluetooth.write("AT+NAMEMon bluetooth");
Bluetooth.write("AT+BAUD4");
Bluetooth.write("AT+PIN1234");

Puis je teste, mais ça me met toujours connexion impossible...

Le bluetooth apparait bien avec le nom "Mon Bluetooth". Donc j'imagine que le nouveau PIN est bien pris en compte...

Cela ne marche pas non plus avec un autre téléphone...

FindL:
Oui, j'injecte bien un nouveau code, de cette manière:

Bluetooth.write("AT+NAMEMon bluetooth");

Cela ne marche pas non plus avec un autre téléphone...

Je ne comprend pas .. bien là ... ce que tu fais et surtout avec quoi tu injecte de la simple commande "AT"
selon les modules HC , il faut (ou pas 8) ) des terminateurs

tu reçois quoi comme "acquittement" de prise en compte avec "ta methode" ?

utilise déjà un simple terminal avec un programme "arduino" simpliste

#include <SoftwareSerial.h>
//
SoftwareSerial BTSerial(2, 3); // RX | TX
// RX arduino <--- TX cible
// TX arduino ---> RX cible


void setup()

{
  Serial.begin(9600); // vitesse serial monitor

  BTSerial.begin(9600);  // vitesse software serial cible
}

void loop()
{


  if (BTSerial.available()) Serial.write(BTSerial.read());


  if (Serial.available()) BTSerial.write(Serial.read());
}

Ok, donc manuellement en redéfinissant un mot de passe (grace à ton programme, en écrivant AT+PIN1234), je peux me reconnecter à mon Bluetooth :slight_smile: !

C'est donc une erreur de dev, c'est corrigé merci !!