Arduino - Bluetooth
Dans ce tutoriel, nous allons apprendre :
- Comment utiliser le Bluetooth avec Arduino
- Comment envoyer des données depuis Arduino vers une application smartphone via Bluetooth
- Comment recevoir des données sur Arduino depuis l'application smartphone via Bluetooth
- Comment contrôler Arduino depuis l'application smartphone via Bluetooth
La portée de ce tutoriel :
- Arduino échange des données avec l'application pour smartphone. La communication entre deux Arduino via Bluetooth sera présentée dans un autre tutoriel.
- Le module Bluetooth HC-05 est utilisé dans ce tutoriel. Ce module est largement utilisé et populaire.
- Vous pouvez utiliser n'importe quelle application Android/iOS. Ce tutoriel utilisera l'application Bluetooth Serial Monitor sur Android pour la démonstration.
- Vous pouvez contrôler tout ce qui est connecté à Arduino depuis l'application smartphone. Ce tutoriel prendra comme exemples une LED et un moteur servo.
Ce tutoriel concerne l'utilisation du Bluetooth Classique (Bluetooth 2.0). Si vous recherchez un tutoriel sur le Bluetooth Low Energy - BLE (Bluetooth 4.0), consultez ce tutoriel similaire : Arduino - Bluetooth Low Energy
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos du module Bluetooth HC-05
HC-05 est un module Bluetooth série. Il fonctionne comme un convertisseur série vers Bluetooth. Il permet de :
- Recevoir des données depuis la broche RX série et transmettre les données à l'appareil appairé (tel qu'un smartphone) via Bluetooth
- Recevoir des données via Bluetooth (de l'appareil appairé) et envoyer les données à la broche TX série.
Plus précisément, dans le contexte où un Arduino communique avec une application smartphone (Android/iOS) :
- Arduino se connecte au module Bluetooth HC-05 via les broches Serial/SoftwareSerial
- Le module Bluetooth HC-05 est appairé avec une application smartphone
- Arduino envoie les données à l'application smartphone simplement en envoyant les données à Serial/SoftwareSerial
- Arduino reçoit les données de l'application smartphone simplement en lisant les données à Serial/SoftwareSerial
- Aucun code Bluetooth spécifique n'est requis sur Arduino
Brochage
Le module Bluetooth HC-05 dispose de 6 broches :
- Broche d'activation/clé : Cette broche est utilisée pour basculer entre le mode Données (réglé sur BAS) et le mode Commande (réglé sur HAUT). Si elle n'est pas connectée, elle est par défaut en mode Données.
- Broche VCC : broche d'alimentation, connectez cette broche à +5V de la tension d'alimentation.
- Broche GND : broche d'alimentation, connectez cette broche au GND de la source d'alimentation.
- Broche TX : broche de données série, connectez cette broche à la broche RX de l'Arduino. 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, connectez cette broche à la broche TX de l'Arduino. 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.
Cependant, pour les fonctions de base, nous avons juste besoin d'utiliser 4 broches du module Bluetooth HC-05 pour le connecter à l'Arduino.
Le module Bluetooth HC-05 comprend également deux composants intégrés :
- Une LED : indique le statut du Module
- Clignotement une fois toutes les 2 secondes : le module est en mode Commande
- Clignotement répété : en attente de connexion en mode Données
- Clignotement deux fois par seconde : connexion réussie en mode Données
- Bouton : peut être utilisé pour contrôler la broche Clé/Activer pour sélectionner le mode de fonctionnement (mode Données ou Commande)
Comment ça marche
Le module Bluetooth HC-05 dispose de deux modes de fonctionnement :
- Mode données : est utilisé pour échanger des données avec l'appareil appairé.
- Mode commande : est utilisé pour configurer les paramètres.
Heureusement, le module Bluetooth HC-05 peut fonctionner avec Arduino en utilisant les paramètres par défaut sans configuration.
Paramètres par défaut 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 Moniteur Série Bluetooth
L'application Bluetooth Serial Monitor est une application mobile dont l'interface utilisateur ressemble au moniteur série de l'IDE Arduino. Elle communique avec Arduino via Bluetooth. Vous pouvez interagir avec Arduino via cette application comme si vous utilisiez le moniteur série sur votre PC, sans ajouter de code spécial pour le module Bluetooth dans votre code Arduino, en effectuant l'étape suivante :
- Connecter Arduino au module Bluetooth HC-05
- Installer l'application Bluetooth Serial Monitor sur votre smartphone
- Ouvrez l'application et associez-la avec le module Bluetooth HC-05
Et maintenant, vous pouvez envoyer/recevoir des données depuis Arduino tout comme le moniteur série de l'IDE Arduino. Vous n'avez pas besoin de modifier le code Arduino existant ni d'ajouter un code Bluetooth au nouveau code Arduino.
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Tableau de câblage
Arduino 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 Arduino en changeant l'objet Serial dans le code Arduino pour un autre Serial1, Serial2,... ou SoftwareSerial si disponible.
Comment programmer pour le Bluetooth
Aucun code dédié au Bluetooth n'est requis. Nous devons simplement utiliser le code Serial.
Arduino envoie des données à l'application Bluetooth sur Smartphone.
Pour envoyer des données depuis un Arduino vers une application Bluetooth sur smartphone, nous devons utiliser le code Arduino suivant :
Dans cet exemple, nous enverrons "Arduino ici, donne-moi des ordres !" de l'Arduino à l'application Bluetooth sur le smartphone chaque seconde.
Étapes rapides
- Installez l'application Bluetooth Serial Monitor sur votre smartphone
- Connectez le module Bluetooth HC-05 à l'Arduino selon le schéma de câblage ci-dessus
- Copiez le code ci-dessus et ouvrez-le avec l'Arduino IDE
- Cliquez sur le bouton Upload de l'Arduino IDE pour charger le code sur l'Arduino. Il se peut que vous échouiez à téléverser le code sur l'Arduino. Si c'est le cas, déconnectez les broches TX et RX du module Bluetooth, téléversez le code, puis reconnectez la broche RX/TX.
- Ouvrez le moniteur série sur l'Arduino IDE
- Ouvrez l'application Bluetooth Serial Monitor sur votre smartphone
- Sélectionnez le mode Bluetooth classique
- Associez-le au module Bluetooth HC-05.
- Voyez le résultat sur l'application Android.
- Voyez le résultat sur le moniteur série de l'IDE Arduino.
Vous verrez que les données sur le moniteur série de l'Arduino IDE et sur l'application Android sont identiques.
Envoyer des données à l'Arduino via une application Bluetooth
Le code ci-dessous fait :
- L'application Bluetooth envoie des données à Arduino
- Arduino lit les données et renvoie la réponse au Bluetooth
Étapes rapides
- Copiez le code ci-dessus et ouvrez-le avec Arduino IDE
- Cliquez sur le bouton Upload dans Arduino IDE pour téléverser le code vers Arduino
- Ouvrez le moniteur série sur Arduino IDE
- Ouvrez l'application Android et associez-la au module Bluetooth HC-05 (similaire à l'exemple précédent)
- Après la connexion, tapez "LED ON" ou "LED OFF" dans l'application Android et cliquez sur le bouton "ENVOYER"
- Arduino reçoit les données et imprime la réponse sur le port série. Ces données seront envoyées à l'application Bluetooth.
- Voir le résultat sur l'application Android.
- Voyez le résultat sur le moniteur série de l'IDE Arduino.
Vous verrez que les données sur le moniteur série de l'IDE Arduino et sur l'application Android sont identiques.
Code Arduino - Contrôle d'une LED avec une application smartphone via Bluetooth
Le code d'exemple Arduino ci-dessous accepte deux commandes (« ON » et « OFF ») de l'application Bluetooth Serial Monitor pour allumer/éteindre une LED intégrée.
Vous pouvez voir les instructions plus en détail dans le tutoriel Arduino contrôle LED via Bluetooth/BLE.
Code Arduino - Contrôler un moteur servo avec une application smartphone via Bluetooth
Le code Arduino ci-dessous reçoit la valeur de l'angle depuis l'application Bluetooth Serial Monitor pour contrôler l'angle du moteur servo.
Vous pouvez voir les instructions en détail dans le tutoriel Arduino contrôle le moteur servo via Bluetooth/BLE.
Si l'application Bluetooth Serial Monitor vous est utile, merci de lui donner une note de 5 étoiles sur Play Store. Merci !