Arduino : Module Bluetooth HC-05

Notre Arduino peut communiquer avec d’autres équipements par Bluetooth par le biais d’un petit module HC-05 (Maitre/esclave).

Présentation du module :

Le module se présente sous cette forme :

HC-05 PIN OUT

Fonction des PIN du module HC-05 :

PINPIN NAMEFONCTION
1 Enable / key
2 VCC / +5V Alimentation du module. A connecter à l’alimentation +5v
3 : GNDPin à connecter au ground
4 : TXTransmit Serial Data : Les données reçu en Bluetooth seront transmise par cette pin en donnée série
5 : RXReceive Serial Data : Les données reçu sur cette pin seront transmise en Bluetooth
6 : STATE
7 LEDIndique le status du module :
Clignote une fois toute les deux secondes : Mode « COMMANDE » activé
Led Clignotante : Mode « DATA » en attente de connexion
Clignote 2 fois par seconde : Mode « DATA » Connexion réussi
8 :ButtonsPermet de passer du mode DATA au mode COMMANDE

HC-05 Default Settings

Ci-dessous vous trouverez les paramètres par défaut pour se connecter et configurer le module.

Default Bluetooth Name:“HC-05”
Default Password: 1234 or 0000
Default Communication: Slave
Default Mode: Data Mode
Data Mode Baud Rate: 9600, 8, N, 1
Command Mode Baud Rate: 38400, 8, N, 19600, 8, N, 1

Il est tout à fait possible de s’en servir out-of-box en se connectant au SSID HC-05 et en utilisant le mot de passe 0000 ou 1234. mais dans ce tutoriel nous allons apprendre à modifier la configuration pour nos propres besoins.

Schéma de câblage pour la configuration de notre module :

Ci-dessous le schéma de câblage entre notre Arduino et son module Bluetooth pour pouvoir configurer notre module avant son utilisation

Schéma Câblage ARDUINO – HC-05

Après avoir compiler et téléverser le code ci-dessous sur notre Arduino, nous allons pouvoir procéder à la configuration de notre module HC-05.

#include <SoftwareSerial.h>

char message;

SoftwareSerial bluetooth(2, 3); // (RX, TX) (pin TX BT, pin RX BT)

void setup()
{
    // Ouvre la voie série avec l'ordinateur
    Serial.begin(9600);
    // Ouvre la voie série avec le module BT
    bluetooth.begin(9600); // En mode COMMANDE communication a 9600 Baud
    Serial.println("AT COMMAND :");
}

void loop() // run over and over
{
    if (bluetooth.available()) {
// Copie les datas reçu en Bluetooth dans la variable message
        message = bluetooth.read(); 
// Envoi les datas contenu dans la variable message dans la console série
        Serial.print(message); 
    }
    if (Serial.available()) {
// Copie les data reçu dans la console série dans la variable message
        message = Serial.read(); 
// Envoi les datas contenu dans la variable message au module Bluetooth
        bluetooth.print(message); 
    }
}

Par défaut l’Arduino peut communiquer en série seulement par le biais de ses pins 1/2. La librairie SoftwareSerial va nous permettre d’utiliser des ports autres que le port 1 et 2 de l’Arduino comme port série.

Pour passer en mode configuration / paramétrage de notre module nous devons activer le mode COMMANDE :

  1. Débrancher la pin relié au 5v
  2. Maintenir le bouton pressé
  3. Rebrancher la pin relié au 5v
  4. Relâcher le bouton

La LED de votre module devrait maintenant clignoter seulement 1 fois toute les deux secondes. Cela indique que nous venons de passer en mode COMMANDE

Certain module ne dispose pas de bouton il peut être nécessaire de câbler la pin KEY du module sur le 5 volt pour activer le mode COMMANDE. Cela n’a pas été le cas sur le mien.

Nous validons que nous sommes en mode COMMANDE en ouvrant le moniteur série et en tapant la commande AT qui doit renvoyer OK dans le moniteur :

Configuration du module Bluetooth :

AT+NAME=HC05-SLAVE
AT+PSWD="2810"
AT+ROLE=0
AT+UART=9600,0,0

Une liste non exhaustive des commandes à connaitre :

COMMANDEFonction
AT Vérifier la connexion avec le module
AT+NAME : Affiche nom du module
AT+ADDR : Affiche l’adresse du module
AT+VERSION :Affiche la version
AT+UART :Affiche la vitesse de connexion
AT+ROLE: Voir le rôle du module (1=master/ 0=slave)
AT+RESET : Redémarre le module.
AT+ORGL :Restaure la configuration d’usine
AT+PSWD: Affiche le mot de passe
AT+BINDAffiche l’adresse du module slave

Une fois notre configuration terminer il suffit de débrancher et rebrancher la pin du 5v pour repasser en mode DATA

Communication entre un smartphone Android et un module HC-05 :

Maintenant que nous avons configuré notre module nous allons établir une communication entre un smartphone Android et un Arduino connecté au module HC-05 Bluetooth.

Sur Android nous allons utiliser l’application SerialTerminal pour communiquer en série via Bluetooth

Dans les paramètres de connexion Bluetooth de votre smartphone vous devriez voir afficher le nom de notre module que nous avons configuré « HC05-SLAVE ». Associez-vous avec il va vous demander le mot de passe que nous avons renseigné « 2810 »

Ouvrons maintenant l’application SerialTerminal sur notre Smartphone et envoyons un message à notre Arduino

Réception et visualision du message envoyé depuis mon smartphone sur le monitor série de l’Arduino

Allumer une LED connecté en Bluetooth à notre Arduino

Nous allons maintenant essayer d’allumer une LED depuis notre téléphone.

Réalisons le petit montage suivant sur notre breadboard :

Schéma câblage Arduino + LED

Et voici le code à téléverser sur votre Arduino

#include <SoftwareSerial.h>
int led = 8;
char incomingMessage = 0; // for incoming serial data
SoftwareSerial bluetooth(2, 3); // (RX, TX) (pin TX BT, pin RX BT)

void setup() 
{
  // INIT PIN OUT
  pinMode(led,OUTPUT); // PIN LED ROUGE
  Serial.begin(9600);// opens serial port, sets data rate to 9600 bps
  // Ouvre la voie série avec le module BT
  bluetooth.begin(9600);
}

void loop() 
{
   if (bluetooth.available()) {
//     Copie les datas reçu en Bluetooth dans la variable message
        incomingMessage = bluetooth.read(); 
//     Envoi les datas contenu dans la variable message dans la console série
        Serial.println(incomingMessage); 
//    }
    
  if (incomingMessage == '0'){
    digitalWrite(led,LOW); // Eteint la led
    Serial.print(incomingMessage);
  }
  else if (incomingMessage == '1'){
    digitalWrite(led,HIGH); // Allume la led
    Serial.print(incomingMessage);
  }
 }
}

Depuis votre téléphone il vous suffit d’envoyer « 1 » pour allumer la led et 0 pour l’éteindre.

Source :

https://retroetgeek.com/arduino/configuration-du-module-hc-05-pour-arduino/

https://www.aranacorp.com/fr/votre-arduino-communique-avec-le-module-hc-05/

https://www.mataucarre.fr/index.php/2018/12/04/utiliser-un-module-bluetooth-hc-05-arduino-uno/

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.