Table of Contents
Les microcontrôleurs sont de petits ordinateurs peu coûteux qui peuvent interagir avec le monde physique à travers des capteurs, des actionneurs et des interfaces de communication. Ils constituent l'épine dorsale des systèmes embarqués modernes, des moyeux domotiques aux gadgets portables. L'une des façons les plus accessibles et pratiques de donner un microcontrôleur de connectivité sans fil est de l'associer à un module Bluetooth. Ces modules permettent à votre microcontrôleur de parler aux smartphones, tablettes, ordinateurs portables et autres périphériques Bluetooth sans le bazar des fils. Que vous souhaitiez lire les données des capteurs à distance, contrôler un robot avec votre téléphone, ou construire un appareil IoT simple, comprendre comment interfacer un module Bluetooth avec un microcontrôleur est une compétence essentielle.
Comprendre les modules Bluetooth
Bluetooth Classic vs Bluetooth basse énergie (BLE)
Tous les modules Bluetooth ne sont pas les mêmes. Les deux grandes catégories que vous rencontrerez sont Bluetooth Classic et Bluetooth Low Energy (BLE)[.
- Bluetooth Classic est conçu pour la diffusion continue des données – pensez aux haut-parleurs sans fil, casques et remplacement de port série. Les modules comme HC‐05 et HC‐06 fonctionnent dans ce mode. Ils sont simples, bon marché et parfaits pour envoyer des relevés de capteurs ou des commandes de contrôle à des débits de données modérés (jusqu'à environ 2,1 Mbps).
- Bluetooth Low Energy (BLE) vise les applications qui nécessitent une longue durée de vie de la batterie et qui n'envoient que de petites explosions de données – par exemple, un capteur de température qui diffuse une lecture à chaque minute. Les modules BLE tels que le HM‐10, le CC2541, ou le BLE intégré sur ESP32 et nRF52 sont courants dans les projets modernes portables et IoT. Ils ne sont pas directement compatibles avec le Bluetooth classique, vous avez donc besoin d'une application compatible BLE sur votre téléphone ou votre ordinateur.
Pour de nombreux projets hobbyistes, les modules Bluetooth Classic comme le HC‐05 sont le point de départ le plus facile car ils peuvent être utilisés comme un câble série virtuel. Cependant, si vous prévoyez de fonctionner sur des batteries pendant des mois, envisagez de passer au BLE.
Modules Bluetooth populaires
Les modules les plus utilisés dans la communauté des fabricants sont les suivants :
- HC‐05 – Bluetooth 2.0 Classic, configurable comme maître ou esclave, supporte les commandes AT, bon pour apprendre.
- HC‐06 – Comme le HC‐05 mais ne peut être qu'un appareil esclave. Plus bas et plus simple, mais vous ne pouvez pas changer son nom ou son taux de baud sans outils supplémentaires.
- HM‐10 – Un module BLE 4.0 commun basé sur le TI CC2541. Très populaire pour les projets BLE avec Arduino.
- Construire Bluetooth sur ESP32 – Le microcontrôleur ESP32 comprend à la fois le support classique et le support BLE à bord, éliminant ainsi la nécessité d'un module séparé.
Pour une liste complète et des fiches techniques, consultez la documentation Arduino Bluetooth.
Pourquoi ajouter Bluetooth à un microcontrôleur?
L'intégration de Bluetooth ouvre une large gamme de possibilités. Voici les raisons les plus convaincantes:
- Commande et surveillance sans fil – Fonctionnez des feux, des moteurs ou des pompes depuis votre smartphone sans être liés à un câble.
- Remote data log[ – Loger les données du capteur (température, humidité, GPS) sur un téléphone ou un ordinateur en temps réel.
- Prototypage facile – Utilisez Bluetooth comme lien série sans fil pour déboguer votre code sans câbles USB.
- Interfaçage avec les applications mobiles – Construisez votre propre application (en utilisant MIT App Inventor, Android Studio ou Swift) pour interagir avec votre matériel.
- Coût et disponibilité faibles – Les modules Bluetooth coûtent seulement quelques dollars et sont en stock par la plupart des distributeurs électroniques.
- Options de faible puissance – Avec BLE, vous pouvez exécuter des projets sur de petites piles de monnaie pendant des mois.
Principes fondamentaux de l'interface: Principes fondamentaux de l'électricité et de la communication
Avant de faire le câblage, vous devez comprendre quelques concepts critiques : niveaux de tension, communication série (UART) et taux de baud.
Niveaux de tension
De nombreux microcontrôleurs (par exemple Arduino Uno) fonctionnent à 5V, tandis que de nombreux modules Bluetooth (en particulier HC‐05, HM‐10) sont des appareils 3.3V. Connecter une broche logique 5V directement à une entrée 3.3V peut endommager le module. Pour les lignes de données (TX et RX), utiliser un décalage de niveau ou un simple diviseur de tension. Pratiques courantes :
- Utilisez un diviseur de tension de résistance 1k-. + 2k-. sur la ligne TX de microcontrôleur jusqu'à la broche RX de module.
- Ou utilisez un module dédié de convertisseur de niveau logique 3.3V/5V.
- Connectez VCC à 3.3V (certains modules peuvent prendre 5V sur VCC, mais vérifiez la fiche technique).
- Toujours connecter GND à GND.
UART Communication en série
Les modules Bluetooth communiquent généralement sur une interface UART série. Le microcontrôleur envoie des données sur sa broche TX, et le module les reçoit sur sa broche RX, et vice versa. Cela signifie que vous devez vous connecter:
- Microcontrôleur TX → Module RX
- Microcontrôleur RX → Module TX
- Et croisez les lignes pour que chaque appareil parle sur l'autre , recevoir une broche.
La plupart des cartes Arduino ont au moins un port série matériel (pins 0 et 1) que vous pouvez utiliser, mais qui relie également le convertisseur USB-sérial. Pour les projets avancés, utilisez sur n'importe quelle deux broches numériques pour garder la série matérielle libre pour le débogage.
Taux de baud
Le taux de baud doit correspondre entre le microcontrôleur et le module Bluetooth. Par défaut : HC‐05 et HC‐06 sont disponibles à 9600 baud. Vous pouvez le modifier en utilisant les commandes AT sur le HC‐05, mais le HC‐06 ne peut pas être modifié sans programmeur spécial.
Guide de câblage étape par étape (HC‐05 + Arduino Uno)
Laissez filer un module Bluetooth HC‐05 à un Arduino Uno comme exemple de maître/esclave. Puisque le HC‐05 est un appareil 3.3V, nous devons être prudents avec la tension.
Matériaux
- Arduino Uno (ou tout tableau logique 5V)
- Module Bluetooth HC‐05
- Fils de pain et de saut
- Deux résistances 1k-
Diagramme de câblage
- Power:[ Module VCC → 3.3V sur Arduino (ou 5V si la fiche technique du module le permet – testez d'abord). GND → GND.
- connexion TX (module envoie à Uno):[ Module TX → Uno RX (pin 0). Cette ligne est 3.3V, qui est sûre pour l'Uno.
- RX connection (Uno envoie au module):[ Uno TX (pin 1) → diviseur de tension → Module RX. Construire un diviseur de tension: une extrémité de résistance de 1k. , puis à une jonction avec une extrémité de résistance de 2k. , l'autre extrémité de 2k. , va à GND. La jonction va au module RX. Cela divise 5V à environ 3,33V.
- Facultatif: Si vous utilisez un HC‐05 en mode de commande AT, vous pouvez aussi avoir besoin de connecter la broche EN ou de la tirer haut – vérifiez votre pinout module.
Une alternative plus propre est d'utiliser un module de convertisseur de niveau logique, qui est bon marché et évite les résistances à souder.
Configuration en mode de commande (HC‐05)
Pour modifier le nom du module, le taux de baud ou le mot de passe, vous devez entrer en mode commande AT. Suivez ces étapes :
- Assurez-vous que le module n'est pas connecté à un autre périphérique Bluetooth.
- Maintenez la broche EN (ou clé) en marche. Ou filez la broche EN à 3.3V.
- Ouvrez le moniteur de série Arduino à 38400 baud (par défaut AT baud pour de nombreux HC‐05) et sélectionnez - -Both NL & CR.
- Type – vous devriez recevoir .
- Utilisez les commandes pour changer de nom, pour changer de taux de baud, pour définir le NIP.
- Plus de détails sont disponibles dans la fiche technique et le tutoriel .
Programmation du Microcontrôleur pour la Communication Bluetooth
Une fois filé, vous devez écrire un croquis simple pour envoyer et recevoir des données. L'idée est simple : les données provenant du module (reçues du téléphone) apparaissent dans le tampon série, et vous pouvez écrire des données au module pour les renvoyer.
Ci-dessous, un squelette conceptuel – ne pas copier-coller directement, mais l'adapter à vos besoins.
Dans votre :
- Initialiser le port série : (si l'on utilise la série matérielle) ou puis .
- Si vous utilisez le logiciel série, connectez le module , TX à la broche 2 et RX à la broche 3.
Dans votre :
- Vérifiez si les données sont disponibles depuis le module Bluetooth : .
- Lisez-le et peut-être faites écho au Serial Monitor: .
- Transférer également les données du Serial Monitor au module : .
Ce pont bidirectionnel vous permet de contrôler votre microcontrôleur à partir de n'importe quelle application de terminal Bluetooth série sur votre téléphone (comme - -Sérial Bluetooth Terminal - pour Android). Testez en envoyant - -Oon- pour activer une LED, ou -Off- pour l'éteindre. Vous avez maintenant un lien série sans fil.
L'appariement et la communication avec un appareil mobile
L'appariement d'un module Bluetooth Classic est similaire à l'appariement de tout périphérique Bluetooth :
- Alimentez votre microcontrôleur et votre module.
- Sur votre téléphone, allez aux paramètres Bluetooth et analysez les appareils.
- Recherchez le nom du module (par défaut -HC‐05- ou -HC‐06-). Appuyez sur la paire – le NIP par défaut est souvent 1234 ou 0000.
- Une fois jumelé, ouvrez une application de terminal série, sélectionnez l'appareil, et vous devriez voir une connexion. Le module , LED clignote généralement rapidement quand non paired et lent quand connecté.
Pour les modules BLE comme le HM‐10, le processus est légèrement différent : vous avez besoin d'une application compatible BLE (p. ex., -BLE Scanner , ou -Adafruit Bluefruit LE Connect , par exemple) pour scanner et se connecter.
Défis communs et comment les résoudre
Dommages causés par les perturbations de tension
Comme mentionné, la logique 5V peut détruire les entrées 3.3V. Toujours déplacer la ligne TX du microcontrôleur vers le module. Utilisez un convertisseur de niveau ou le diviseur de résistance montré plus tôt. Si le module ne répond pas, vérifiez s'il est toujours vivant en mesurant la tension sur VCC.
Taux de baudisme
Le problème le plus courant : le module et le croquis sont réglés à différents taux de baud. Pour HC‐05, le baud AT par défaut est 38400, mais le baud de communication après le mode AT est souvent 9600. Double-vérifier. Vous pouvez vérifier le baud module en se connectant à différentes vitesses jusqu'à ce que vous voyez -OK- en réponse à --AT-.
TX/RX mal croisé
Rappelez-vous : TX va à RX, RX va à TX. Beaucoup de nouveaux venus filent TX-to-TX et RX-to-RX, ce qui n'entraîne aucune communication. En cas de doute, utilisez un multimètre pour tester la continuité, ou échangez les lignes de données.
Interférence et portée
Les murs et autres dispositifs 2,4 GHz (Wi‐Fi, fours à micro-ondes) peuvent réduire cette perte. Si vous ressentez une perte de paquets, essayez de déplacer le module hors des grands objets métalliques ou de passer à un module avec une antenne externe (p. ex. HC‐05 avec une broche d'antenne).
AT Mode de commande Ne fonctionne pas
Assurez-vous que la broche EN soit tirée haut ou que vous maintenez le bouton enfoncé pendant la mise en marche. Confirmez également le taux de baud-fleet pour le mode AT – la plupart des HC‐05 s'attendent à 38400, mais certains clones peuvent utiliser 9600. Essayez les taux de baud-fleet communs.
Idées de projet du monde réel avec modules Bluetooth
Une fois que vous avez la communication de base travailler, les possibilités sont infinies. Voici quelques projets pour vous faire démarrer:
1. Contrôleur de bande LED sans fil
Utilisez un module HC‐05 ou BLE pour contrôler une bande LED RGB via une application smartphone. Envoyez des commandes comme --red-, -blue-, -party-- pour changer de couleurs. Combinez avec un MOSFET pour gérer un courant plus élevé.
2. Télésurveillance de la température et de l'humidité
Connectez un capteur DHT22 et un module BLE (comme HM‐10) à un Arduino ou ESP32. Faites diffuser les données de température et d'humidité par le conseil toutes les quelques secondes. Utilisez une application de scanner BLE ou créez une application personnalisée pour afficher les relevés. Parfait pour un moniteur de serre ou de chambre pour bébé.
3. Voiture robot Bluetooth
Interface d'un pilote moteur L298N avec un HC‐05 et un Arduino. Envoyez des caractères comme «F» (en avant), «B» (en arrière), «L» (à gauche) pour piloter le robot. Le code lit simplement la commande série et définit les broches de moteur en conséquence. Ajoutez un capteur ultrasonore pour éviter les obstacles et vous avez un robot semi-autonome.
4. Smart Lock avec proximité BLE
Utilisez une balise BLE (ESP32 ou nRF52) qui envoie un ID unique. Un appareil central (par exemple, un smartphone) écoute la force RSSI de la balise. Lorsque le téléphone est assez proche, il envoie une commande de déverrouillage. C'est le principe derrière de nombreux verrous intelligents.
Conclusion et prochaines étapes
En comprenant les différences entre Classic et BLE, en maîtrisant le câblage (y compris le changement de niveau de tension) et en apprenant à configurer le module avec les commandes AT, vous pouvez transmettre les données de façon fiable sans fil. Commencez par un simple projet de passe série à l'aide d'un HC‐05 et d'un Arduino, puis étendez-vous à BLE pour des applications de faible puissance. Au fur et à mesure que vous progressez, envisagez de plonger dans le guide d'apprentissage [Adafruit BLE pour une compréhension plus approfondie des protocoles BLE, ou explorez les capacités Bluetooth du mode double ESP32=1 pour construire des solutions tout-en-un.