Arduino Nano - Bluetooth

Ce tutoriel vous apprend à utiliser l'Arduino Nano pour contrôler le module Bluetooth HC-05. Plus précisément, nous apprendrons :

Arduino Nano Bluetooth

L'objectif de ce tutoriel :

Ce tutoriel se concentre sur le Bluetooth classique (Bluetooth 2.0). Si vous avez besoin d'informations sur le Bluetooth Low Energy - BLE (Bluetooth 4.0), veuillez consulter ce tutoriel similaire : Arduino Nano - Bluetooth Low Energy

Préparation du matériel

1×Arduino Nano
1×USB A to Mini-B USB cable
1×HC-05 Bluetooth Module
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino Nano
1×(Recommended) Screw Terminal Adapter for Arduino Nano

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du module Bluetooth HC-05

HC-05 est un module Bluetooth série qui fonctionne comme un convertisseur de Série à Bluetooth. Il effectue les tâches suivantes :

  • Réception des données depuis la broche RX série et leur transmission à l'appareil appairé (comme un smartphone) via Bluetooth
  • Obtention des données via Bluetooth (de l'appareil appairé) et envoi à la broche TX série.

Plus précisément, en ce qui concerne la communication entre un Arduino Nano et une application smartphone (Android/iOS) :

  • L'Arduino Nano est connecté à un module Bluetooth HC-05 via les broches Serial/SoftwareSerial.
  • Le module Bluetooth HC-05 est relié à l'application smartphone.
  • L'Arduino Nano envoie des données à l'application smartphone en les transmettant via Serial/SoftwareSerial.
  • L'Arduino Nano reçoit des données de l'application smartphone en les lisant depuis Serial/SoftwareSerial.
  • Aucun code Bluetooth spécial n'est nécessaire sur l'Arduino Nano.

Brochage du module Bluetooth HC-05

Brochage Bluetooth

Le module Bluetooth HC-05 possède 6 broches :

  • Broche d'activation/clé : Cette broche est utilisée pour basculer entre le mode Données (mis sur BAS) et le mode Commande (mis sur HAUT). Si elle n'est pas connectée, elle est par défaut en mode Données.
  • Broche VCC : broche d'alimentation, cette broche doit être connectée à +5V de la tension d'alimentation.
  • Broche GND : broche d'alimentation, cette broche doit être connectée à la GND de la source d'alimentation.
  • Broche TX : broche de données série, cette broche doit être connectée à la broche RX de l'Arduino Nano. Les données reçues via Bluetooth seront envoyées à cette broche sous forme de données série.
  • Broche RX : broche de données série, cette broche doit être connectée à la broche TX de l'Arduino Nano. Les données reçues de cette broche seront envoyées à Bluetooth.
  • État : La broche d'état est connectée à la LED embarquée, elle peut être utilisée comme retour pour vérifier si le Bluetooth fonctionne correctement.

Néanmoins, pour effectuer les fonctions de base, seules quatre broches du module Bluetooth HC-05 doivent être connectées à l'Arduino Nano.

Le module Bluetooth HC-05 contient également deux composants intégrés :

  • Une LED qui indique l'état du Module :
    • Clignotement une fois toutes les deux secondes indiquant que le Module est en mode Commande
    • Clignotement rapide indiquant qu'il est en attente de connexion en mode Données
    • Clignotement deux fois par seconde signifiant une connexion réussie en mode Données
  • Un bouton qui peut être utilisé pour contrôler la broche Clé/Activation afin de sélectionner le mode de fonctionnement (mode Données ou mode Commande)

Comment ça fonctionne

Le module Bluetooth HC-05 dispose de deux modes de fonctionnement :

  • Mode de données, utilisé pour transmettre et recevoir des données avec l'appareil connecté
  • Mode commande, utilisé pour configurer les paramètres.

Heureusement, le module Bluetooth HC-05 peut fonctionner avec l'Arduino Nano sans aucune configuration, en utilisant les paramètres par défaut.

Paramètres par défaut du HC-05

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

À propos de l'application Bluetooth Serial Monitor

L'application Bluetooth Serial Monitor est une application mobile dotée d'une interface utilisateur similaire au moniteur série de l'IDE Arduino. Elle communique avec un appareil Arduino Nano via Bluetooth. Vous pouvez interagir avec l'Arduino Nano comme s'il était connecté au moniteur série d'un PC, sans avoir à ajouter de code spécial pour le module Bluetooth dans votre code Arduino Nano. Pour ce faire, suivez ces étapes :

  • Connectez l'Arduino Nano à un module Bluetooth HC-05
  • Installez l'application Bluetooth Serial Monitor sur votre smartphone
  • Ouvrez l'application et associez-la avec le module Bluetooth HC-05

Désormais, vous pouvez envoyer et recevoir des données depuis l'Arduino Nano de la même manière que le moniteur série de l'Arduino IDE. Aucune modification du code existant de l'Arduino Nano ou ajout de code Bluetooth au nouveau code de l'Arduino Nano n'est nécessaire.

Diagramme de câblage

Schéma de câblage Bluetooth Arduino Nano

This image is created using Fritzing. Click to enlarge image

Tableau de câblage. Schéma de câblage. Graphique de câblage.

Arduino Nano Pins HC-05 Bluetooth Pins
RX (Pin 0) TX
TX (Pin 1) RX
5V VCC
GND GND
Enable/Key (NOT connected)
State (NOT connected)

※ NOTE THAT:

Vous pouvez utiliser d'autres broches de l'Arduino Nano en modifiant l'objet Serial dans le code Arduino Nano en un autre Serial1, Serial2,..., ou SoftwareSerial si accessible.

Comment programmer pour le Bluetooth

Aucun code spécifique pour le Bluetooth n'est nécessaire. Nous avons seulement besoin d'utiliser le code Série.

Arduino Nano envoie des données à l'application Bluetooth sur Smartphone

Afin de transmettre des données depuis un Arduino Nano vers une application Bluetooth sur un Smartphone, le code suivant doit être utilisé avec l'Arduino :

Dans cet exemple, nous ferons en sorte que l'Arduino Nano envoie « Arduino ici, commande-moi ! » à l'application Bluetooth sur un smartphone toutes les secondes.

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-nano/arduino-nano-bluetooth */ void setup() { Serial.begin(9600); } void loop() { Serial.println("Arduino here, command me!"); delay(1000); }

Étapes rapides

  • Téléchargez et installez l'application Bluetooth Serial Monitor sur votre smartphone.
  • Connectez le module Bluetooth HC-05 à l'Arduino Nano selon le schéma de câblage.
  • Ouvrez l'IDE Arduino, copiez le code et collez-le dans l'IDE.
  • Cliquez sur le bouton Upload de l'IDE Arduino pour téléverser le code sur l'Arduino Nano. Si cela échoue, déconnectez les broches TX et RX du module Bluetooth, téléversez le code, puis reconnectez à nouveau la broche RX/TX.
  • Ouvrez le moniteur série sur l'IDE Arduino.
  • Ouvrez l'application Bluetooth Serial Monitor sur votre smartphone et sélectionnez le mode Bluetooth Classique.
Application de moniteur série Bluetooth
  • Connectez le module Bluetooth HC-05 à celui-ci.
Association du moniteur série Bluetooth
  • Consultez le résultat sur l'application Android.
Application de surveillance série Bluetooth
  • Consultez le résultat dans le moniteur série de l'environnement de développement intégré Arduino Nano.
COM6
Send
Arduino here, command me! Arduino here, command me! Arduino here, command me! Arduino here, command me! Arduino here, command me!
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vous observerez que les informations affichées sur le moniteur série de l'IDE Arduino et l'application Android sont les mêmes.

L'application Bluetooth envoie des données à Arduino Nano

Le code suivant :

  • Transmet des données depuis une application Bluetooth vers un Arduino Nano
  • Permet à l'Arduino Nano de lire les données et de renvoyer une réponse à l'application Bluetooth
/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-nano/arduino-nano-bluetooth */ // NOTE: change the Serial to other Serial/Software Serial if you connects Bluetooth module to other pins void setup() { Serial.begin(9600); } void loop() { Serial.println(F("Arduino here, command me!")); if (Serial.available()) { // if there is data comming String command = Serial.readStringUntil('\n'); // read string until meet newline character if (command == "LED OFF") { Serial.println("LED is turned OFF"); // reports action to smartphone app // TODO: control your LED here } else if (command == "LED ON") { Serial.println("LED is turned ON"); // reports action to smartphone app // TODO: control your LED here } } delay(500); }

Étapes rapides

  • Copiez le code et ouvrez-le dans l'Arduino IDE.
  • Cliquez sur le bouton Upload de l'Arduino IDE pour compiler et téléverser le code sur Arduino Nano.
  • Ouvrez le moniteur série sur l'Arduino IDE.
  • Démarrez l'application Android et appairez-la avec le module Bluetooth HC-05 comme précédemment.
  • Une fois connecté, tapez soit "LED ON" soit "LED OFF" sur l'application Android et appuyez sur le bouton "ENVOYER".
Application Moniteur Série Bluetooth
  • L'Arduino Nano reçoit les données et les affiche sur le port série.
  • Les données sont ensuite envoyées à l'application Bluetooth.
  • Le résultat peut être consulté sur l'application Android.
Application Moniteur Série Bluetooth
  • Affichez le résultat dans le moniteur série de l'IDE Arduino.
COM6
Send
Arduino here, command me! Arduino here, command me! Arduino here, command me! Arduino here, command me! Arduino here, command me! Arduino here, command me! LED ON LED is turned ON Arduino here, command me! Arduino here, command me! Arduino here, command me! LED OFF LED is turned OFF Arduino here, command me! Arduino here, command me!
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vous observerez que les informations affichées sur le moniteur série de l'Arduino IDE et l'application Android sont les mêmes.

Code Arduino Nano - Contrôler une LED avec une application smartphone via Bluetooth

Le code exemple suivant pour Arduino Nano est conçu pour accepter deux commandes ("ON" et "OFF") depuis une application de moniteur série Bluetooth. Ces commandes sont utilisées pour allumer/éteindre une LED intégrée.

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-nano/arduino-nano-bluetooth */ #include <SoftwareSerial.h> #define SOFT_RX 4 // The Arduino Nano pin connected to the TX of the bluetooth module #define SOFT_TX 5 // The Arduino Nano pin connected to the RX of the bluetooth module #define LED_PIN 12 // The Arduino Nano pin connected to the LED SoftwareSerial bluetooth(SOFT_RX, SOFT_TX); void setup() { Serial.begin(9600); bluetooth.begin(9600); pinMode(LED_PIN, OUTPUT); // set the digital pin as output: } void loop() { if (bluetooth.available()) { // if there is data comming String command = bluetooth.readStringUntil('\n'); // read string until meet newline character if (command == "LED OFF") { digitalWrite(LED_PIN, LOW); // turn off LED bluetooth.println("LED is turned OFF"); // reports action to smartphone app } else if (command == "LED ON") { digitalWrite(LED_PIN, HIGH); // turn on LED bluetooth.println("LED is turned ON"); // reports action to smartphone app } } }

Vous pouvez consulter une description plus détaillée des instructions dans le tutoriel Arduino Nano contrôle LED via Bluetooth/BLE.

Code Arduino Nano - Contrôler un moteur servo avec une application smartphone via Bluetooth

Le code Arduino Nano ci-dessous . * reçoit la valeur de l'angle . * depuis l'application Bluetooth Serial Monitor . * pour contrôler l'angle du moteur servo.

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-nano/arduino-nano-bluetooth */ #include <Servo.h> #include <SoftwareSerial.h> #define SOFT_RX 4 // The Arduino Nano pin connected to the TX of the bluetooth module #define SOFT_TX 5 // The Arduino Nano pin connected to the RX of the bluetooth module #define SERVO_PIN 12 // The Arduino Nano pin connected to the servo motor SoftwareSerial bluetooth(SOFT_RX, SOFT_TX); Servo servo; // create servo object to control a servo int pos = 0; // variable to store the servo position void setup() { Serial.begin(9600); bluetooth.begin(9600); servo.attach(SERVO_PIN); } void loop() { if (bluetooth.available()) { // if there is data comming int angle = bluetooth.parseInt(); if (angle >= 0 && angle <= 180) { servo.write(angle); // rotate servo bluetooth.print("Rotated servo to angle: ");// reports action to smartphone app bluetooth.println(angle); } else { bluetooth.print("Invalid angle: ");// reports invalid value to smartphone app bluetooth.println(angle); } } }

Vous pouvez consulter les instructions plus en détail dans le tutoriel Arduino Nano contrôle un moteur servo via Bluetooth/BLE. Pour un examen plus approfondi des instructions, veuillez consulter le tutoriel Arduino Nano contrôle un moteur servo via Bluetooth/BLE. Pour une vue complète des instructions, veuillez vous référer au tutoriel Arduino Nano contrôle un moteur servo via Bluetooth/BLE.

Si vous trouvez l'application Bluetooth Serial Monitor utile, montrez votre appréciation en lui donnant une note de 5 étoiles sur Play Store. Votre soutien est très apprécié !

Vidéo

Références de fonction

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!