Arduino module bluetooth HC-05

23071

Aujourd’hui on va apprendre à comment utiliser un module bluetooth HC-05 avec un arduino.
Commander un arduino avec son téléphone peut être super utile donc voici les premier pas avec le module HC-05.

TutoBluetoothHC-05Circuit

 

// Made by https://retroetgeek.com
#include <SoftwareSerial.h>   // librairie pour creer une nouvelle connexion serie max 9600 baud
#define PIN_LED 7

SoftwareSerial BTSerial(10, 11); // RX | TX  = > BT-TX=10 BT-RX=11

void setup()
{
  Serial.begin(9600);
  Serial.println("Enter a command:");
  BTSerial.begin(9600);  // HC-05 9600 baud 

  pinMode(PIN_LED, OUTPUT);
}

void loop()
{
  String message;
    // Boucle de lecture sur le BT
    // Reading BT
    while (BTSerial.available()){
      // Lecture du message envoyé par le BT
      // Read message send by BT
      message = BTSerial.readString();
      // Ecriture du message dans le serial usb
      // write in serial usb
      Serial.println(message);
    }
    // Boucle de lecture sur le serial usb
    // Reading serial usb
    while (Serial.available()){
      // Lecture du message envoyé par le serial usb
      // Read message send by serial usb
      message = Serial.readString();
      // Ecriture du message dans le BT
      // write in BT 
      BTSerial.println(message);
    }

  // si mon message est egal a "on"  ( + retour chariot et nouvelle ligne )
  // if message equal to "on" (+ carriage return and newline )
    if(message == "on\r\n"){
      digitalWrite(PIN_LED,HIGH); // led on
    }// else if message off
    else if(message == "off\r\n"){
      digitalWrite(PIN_LED,LOW);  // led off
    }
}

En matériel il nous faut :
– 1 arduino
– 1 module bluetooth HC-05
– 1 résistance et une led (option)
Pour le câblage peu de fils :
– VCC sur le 3,3Volt ( Brancher sur le 5V si le module ne s’allume pas )
– GND au GND
– RX pin 11
– TX pin 10
– Led au pin 7

Pour le code mon but est d’envoyer une information vie bluetooth et le recevoir sur le serial usb et inversement, on a besoin de la librairie SoftwareSerial.h pour créer une nouvelle connexion série(limité a 9600baud).

On définit le pin 7 pour la led de visualisation, on appelle ensuite SoftwareSerial et on choisi comme nom pour notre connexion Bluetooto BTSerial qui va etre connecté sur le pin 10 et 11 (BT-TX=10 BT-RX=11).

Dans le setup j’initialise le serial avec “Serial.begin(9600);” et j’initialise le Bluetooth avec “BTSerial.begin(9600);”. Je n’oublie pas ma led en sortie.

Dans la boucle j’ai crée une variable string message puis j’ai une autre boucle qui va attendre une information du bluetooth “BTSerial.available()” et des que j’ai une information reçue je récupère la donnée avec “BTSerial.readString();” et je l’enregistre dans message. Je vais ensuite afficher le message via le serial usb avec “Serial.println(message);” .

Je vais faire presque la meme chose avec le serial usb , une boucle qui attend une information transistant par l’usb, je recupere l’information et je l’envoie par bluetooth.

Ce qui nous interesse ici c’est de traiter le message reçu avec 2 conditions, si mon message est égal a on ou si mon message est égal a off.

Si mon message est égal a on j’allume ma led et je n’oublie pas que mes messages sont transmis avec des retours chariot et nouvelle ligne ce qui donne “on\r\n”.

Je n’oublie pas de mettre la meme chose pour off et mon programme est terminé.

Télécharger le code :

TutoBluetoothHC05

N’hésitez pas à poser vos questions sur les réseaux sociaux de la chaîne instagramtwitter , facebook ,youtube ; si vous ne comprenez pas certaines parties du tutoriel n’hésitez pas , me dire ce que vous aimeriez que je crée pour en faire des vidéos tutoriel  et à partager les projets que vous aimeriez créer etc…

Comme toujours allez sur la page de C’est quoi Retro et Geek pour connaître tout ce que je recherche à faire sur la chaîne.

Merci les RetroGeeker et RetroGeekeuse