Le Module Bluetooth HC-06 | Arduino-passion

top of page Ce site a été créé sur Wix. Créez le vôtre dès aujourd'hui.Commencer

Le module Bluetooth HC-06 permet d'établir une liaison Bluetooth (liaison série) entre une carte Arduino et un autre équipement possédant une connexion Bluetooth (Smartphone, tablette, seconde carte Arduino, etc...). Le module HC-06 est un module "esclave" contrairement au module HC-05 qui est "maître". Un module "maître" peut demander à un autre élément Bluetooth de s'appairer avec lui alors qu'un module "esclave" ne peut recevoir que des demandes d'appairage.

Ces deux modules peuvent être configurés grâce à des commandes AT (ou commandes Hayes).

LE MODULE BLUETOOTH HC-06

Programme :

/* HC-06 Config est un programme qui permet de configurer le module Bluetooth*/

// Création d'une liaison série sur les broches 2 et 3 #include <SoftwareSerial.h> // appel de la bibliothèque SoftwareSerial HC06(2, 3); // RX, TX

void setup() { HC06.begin(9600); // initialisation connexion série Bluetooth à 9600 bauds Serial.begin(9600); // initialisation liaison série à 9600 bauds Serial.println("Entrer la commande AT:");

}

void loop() { // si le HC-06 transmet, on écrit le message dans le moniteur série if (HC06.available()) { Serial.write(HC06.read()); } // si on écrit dans le moniteur série, on transmet le message dans le module HC-06 if (Serial.available()) { HC06.write(Serial.read()); } }

Exemple 1 :

Nous souhaitons configurer le module HC-06 (changement de nom et de code). Le module HC-06 ne doit pas être appairé et sa led doit clignoter.

Liste du matériel :

  • 1 Arduino Uno

  • 1 plaquette d'essai

  • 1 module Bluetooth HC-06

  • 1 résistance 1KΩ

  • 1 résistance 2,2 KΩ

Câblage :

Le module HC-06 (comme les modules XBee) peut communiquer avec la carte Arduino via la liaison série (broches numériques N°0 et N°1) mais le moniteur série ne peut plus être utilisé. C'est pour cette raison qu'il est préférable d'utiliser la bibliothèque SoftwareSerial intégrée d'office dans l'IDE Arduino. Ses principales fonctions sont :

  • SoftwareSerial HC06(broche_RX, broche_TX) où broche_RX et broche_TX représente les broches de la liaison série créée.Cette fonction permet de créer l'objet.

  • HC06.begin(baud) où baud représente la vitesse de transmission. Cette fonction permet d'initialiser l'objet.

  • HC06available() indique le nombre d'octets reçus.

  • HC06.read() lit l'octet présent dans le buffer de la liaison série.

  • HC06.print() envoie tout ce qu’il y a entre les parenthèses sous forme d’octets donc en ASCII.

  • HC06.write(octet) envoie l'octet.

Dans l'univers Arduino, le module Bluetooth HC-06 est principalement utilisé dans des applications nécessitant une communication sans fil.

La tension d'alimentation de ces modules doit être comprise entre 3,3 et 5 V, mais la broche RX ne peut recevoir qu'une tension maximale de 3,3 V. Il faudra prévoir un pont diviseur de tension pour ramener la tension 5 V délivrée par la carte Arduino pour ne pas endommager la broche RX du module Bluetooth.

Câblage :

Liste du matériel :

  • 1 Arduino Uno

  • 1 plaquette d'essai

  • 1 module Bluetooth HC-06

  • 1 led

  • 1 résistance 1KΩ

  • 1 résistance 2,2 KΩ

  • 1 résistance 330 Ω

Exemple 2 :

Nous souhaitons allumer une led grâce à une application Android (App Inventor ou Bluetooth Electronics) installée sur un smartphone.

Programme :

/* Bluetooth_led est un programme qui pilote une led depuis une application */

#define led 7 // affectation des broches #define RX 2 #define TX 3

word octet_recu; // mot qui reçoit les trames émises

// Création d'une liaison série #include <SoftwareSerial.h> SoftwareSerial bluetooth(RX,TX);

void setup() { Serial.begin(9600); // initialisation liaison série à 9600 bauds bluetooth.begin(9600); // initialisation connexion série Bluetooth à 9600 bauds pinMode(led,OUTPUT) ; // la broche led est en sortie }

void loop() { recevoir(); // appel de la procédure recevoir if (octet_recu==49) // si octet reçu est 1 (49=code ASCII de 1) { Serial.println("Led allumee"); digitalWrite(led,HIGH); } if (octet_recu==48) // si octet reçu est 0 (48=code ASCII de 0) { Serial.println("Led eteinte"); digitalWrite(led,LOW); } delay(200); }

//procédure qui lit les trames de la tablette void recevoir() { if (bluetooth.available()) { octet_recu=bluetooth.read(); } }

Application Bluetooth Electronics :

  • Lancer l'application

  • Cliquer sur "Edit" pour créer l'interface

  • Déposer un interrupteur ("Switches") sur l'interface puis cliquer sur "Edit"

  • Mettre le champ "Turn On Text" à 1

  • Mettre le champ "Turn Off Text" à 0

  • Cliquer sur "OK"

  • Cliquer sur "Connect" pour connecter le module HC-06 (il faut au préalable l'appairer avec la tablette ou le smartphone)

  • Sélectionner le module HC-06 et cliquer sur "Connect"

  • Cliquer sur "Done" pour revenir aux interfaces

  • Sélectionner l'interface

  • Cliquer sur "Run" pour faire fonctionner l'interface

  • Pour modifier la vitesse de transmission du module, taper AT+BAUD4 (4 pour 9600, 5 pour 19200, 6 pour 38400, 7 pour 57600, 8 pour 115200), le module répond OK9600.

Commentaires :

  • Pour tester la communication, taper AT dans le moniteur série et le module doit répondre OK

  • Pour modifier le nom du module, taper AT+NAMENom_du_module (sans espace), le module répond OKsetname.

  • Pour modifier le code PIN du module, taper AT+PINcode (sans espace), le module répond OKsetPIN.

bottom of page

Tag » Arduino Bluetooth Hc-06 Library