- Qu'est-ce que le module HM10 BLE 4.0?
- Différence entre HM10 et un autre module Bluetooth
- Composants requis
- Schéma
- Contrôleur Bluetooth Arduino (module HM-10) Application Android
- Programmation d'Arduino UNO pour contrôler la LED à l'aide du module Bluetooth HM-10
Le Bluetooth est l'une des technologies sans fil les plus populaires et les plus faciles à utiliser. Au cours des quelques années, il y a eu de nombreuses mises à niveau de la norme Bluetooth pour suivre le rythme de la technologie actuelle en cours avec la technologie future et pour satisfaire les besoins des utilisateurs. De la version Bluetooth 1.0 à la version Bluetooth 5.0, de nombreux changements ont été apportés, notamment des débits de données plus élevés, la possibilité d'être utilisé pour l'IoT avec une faible consommation de courant, une sécurité améliorée, etc. Pour apprendre la communication Bluetooth, il existe de nombreux modules disponibles qui peuvent être interfacé avec des microcontrôleurs. Un tel module Bluetooth est HM10 qui est basé sur Bluetooth 4.0.
Qu'est-ce que le module HM10 BLE 4.0?
Le HM10 est un module BLE série (Bluetooth-Low-Energy) qui est destiné à être utilisé pour les applications à faible consommation d'énergie et peut durer longtemps même avec une pile de la taille d'une pièce de monnaie. Le HM10 est un module Bluetooth 4.0 basé sur le système SoC (System on Chip) Texas Instruments CC2540 ou CC2541 BLE. Le firmware et la conception du module sont réalisés et gérés par Jinan Huamao Technology. Le module est livré avec une couche série / UART qui permet à l'appareil de pouvoir s'interfacer avec différents microcontrôleurs. Le HM10 est idéal pour créer des connexions simples et l'utiliser avec ou comme iBeacon.
Le HM10 est devenu un module Bluetooth 4.0 BLE très populaire. Le HM10 est un module basé uniquement sur Bluetooth 4.0, il ne se connectera donc pas au module Bluetooth 2 / 2.1 tel que HC-05, HC-06 et d'autres modules Bluetooth. Le HM10 est contrôlé via des commandes AT envoyées via la connexion UART série. HM-10 est un module Bluetooth Low Energy (BLE), pour en savoir plus sur BLE suivez le lien. Découvrez également comment un module nRF24L01 peut être utilisé comme module BLE avec Arduino.
Différence entre HM10 et un autre module Bluetooth
La principale différence que possède HM10 est la version Bluetooth. Le HM10 est un module Bluetooth 4.0, il est donc livré avec toutes les fonctionnalités Bluetooth Version 4.0 telles que la vitesse, le débit et la portée. Le HM10 offre un débit de données allant jusqu'à 24 Mbps avec une faible consommation d'énergie / faible consommation d'énergie. Parallèlement à cela, le HM10 offre une portée de 100 mètres dans un espace ouvert. Comparé à d'autres modules Bluetooth tels que HC-05 qui est un module basé sur Bluetooth 2.0, le HM10 fonctionne certainement mieux que le HC-05. Le HC-05 n'offre que 3 Mbps par rapport au HM10, ce qui est bien moins.
Les modules Bluetooth HC-05 et HC-06 sont toujours très populaires parmi les fabricants et les amateurs car ils sont bon marché et faciles à interfacer. Nous avons également réalisé de nombreux projets en utilisant HC-05/06 et les avons interfacés avec de nombreux autres microcontrôleurs:
- Interfaçage du module Bluetooth avec ESP8266: contrôle d'une LED
- Interfaçage Bluetooth HC-05 avec STM32F103C8 Blue Pill: LED de contrôle
- Interfaçage du module Bluetooth HC-05 avec le microcontrôleur AVR
- Interfaçage du module Bluetooth HC-06 avec le microcontrôleur PIC
- LED à commande vocale utilisant Arduino et Bluetooth
- Lumières à commande vocale à l'aide de Raspberry Pi
Tous les projets liés à Bluetooth peuvent être trouvés sur ce lien.
Aujourd'hui, nous allons interfacer le module HM-10 BLE avec Arduino Uno pour contrôler une LED sans fil à l'aide du protocole Bluetooth. Les commandes Marche / Arrêt seront envoyées par Smartphone.
Composants requis
Matériel:
- Arduino UNO
- Module Bluetooth HM10
- Résistances (1 kΩ, 470 Ω)
- Fils de cavalier
Logiciel:
- IDE Arduino
- Contrôleur Bluetooth Arduino (module HM-10) Application Android
- Téléphone intelligent Android
Schéma
Le schéma de circuit pour connecter Arduino et le module Bluetooth HM-10 est très simple, comme indiqué ci-dessous.
Avant de commencer le projet, assurez-vous que votre module HM-10 est un module HM-10 authentique. Il existe de nombreux modules HM-10 clonés chinois disponibles. Pour identifier la différence entre le module HM-10 authentique et cloné, il suffit de regarder la présence de l'oscillateur à cristal de 32 KHz sur la carte HM-10. Si le Crystal Oscillator est présent, il s'agit d'un module HM-10 authentique et vous n'avez pas besoin de changer le micrologiciel. Mais si vous ne pouvez pas voir le Crystal Oscillator à sa place, il s'agit d'un module HM10 cloné et vous devez changer le micrologiciel du module HM-10 cloné.. Sans changer le firmware du HM-10, vous ne pouvez ni accéder au module HM-10 avec des commandes AT, ni le coupler avec des smartphones. Ici, nous utilisons également le module clone, nous avons donc flashé son firmware avant de le connecter à Ardruino. Afin de changer le micrologiciel du module Cloné HM-10, suivez simplement notre tutoriel sur Comment changer ou flasher le micrologiciel du module Clone HM-10.
Contrôleur Bluetooth Arduino (module HM-10) Application Android
Le contrôleur Bluetooth Arduino (module HM-10) est une application Android disponible gratuitement sur Google Play Store. Cette application a une interface simple et facile pour le module HM-10 BLE. Lors des tests, il a pu trouver rapidement HM-10 et s'est connecté instantanément avec HM-10. L'application a des fonctionnalités intéressantes comme vous pouvez créer un bouton et le personnaliser avec un nom et des fonctions personnalisés. Ici, nous allons comment créer deux boutons dans cette application de contrôleur Bluetooth pour allumer et éteindre la LED connectée à Arduino.
Comment configurer l'application Android du contrôleur Arduino Bluetooth (module HM-10):
- Téléchargez l'application sur Google Play Store.
- La page d'accueil de l'application ressemblera à ci-dessous où vous pouvez trouver des fonctionnalités telles que, connecter l'appareil, l'icône de recherche, l'icône de suppression, l'état de l'appareil, envoyer du texte, ajouter un modèle, etc. Commencez par rechercher l'appareil en cliquant sur l'icône de recherche ou en cliquant sur à trois points dans le coin supérieur droit et choisissez Connecter l'appareil .
- Tous les appareils disponibles seront affichés à l'écran. Choisissez le module HM-10 approprié.
- Maintenant, le HM-10 sera connecté avec succès et vous pourrez voir l'état du HM-10 en haut de l'écran.
- Vous pouvez maintenant envoyer directement un texte ou une chaîne en écrivant sur la section de texte et appuyez sur la flèche pour envoyer ou vous pouvez créer un modèle personnalisé.
- Pour créer un modèle personnalisé pour gagner du temps. Cliquez sur l' icône « + » dans le coin supérieur droit et remplissez les détails. Le « Nom » est le nom du bouton, le champ « Texte » est pour les textes ou la chaîne qui seront envoyés au HM-10 et « Description » est juste la description du bouton indiquant comment le bouton fonctionnera.
- Tout d'abord, créez un bouton pour allumer la LED et lui donner une couleur verte. Le bouton enverra la lettre «N» au HM-10 qui allumera la LED connectée à Arduino. De même, créez un bouton pour LED OFF et donnez-lui une couleur rouge.. Le bouton enverra la lettre «F» au HM-10 qui éteindra la LED connectée à Arduino.
- Vous pouvez maintenant voir les deux boutons créés juste en dessous du champ de texte. Maintenant, si vous souhaitez contrôler la LED, cliquez simplement sur les boutons.
Cela termine la configuration de l'application Android pour contrôler le module HM-10. Maintenant, nous allons commencer par la programmation Arduino Uno pour obtenir les personnages de l'application Android.
Programmation d'Arduino UNO pour contrôler la LED à l'aide du module Bluetooth HM-10
Comme toujours, un programme complet avec une vidéo de démonstration se trouve à la fin de ce tutoriel. La programmation d'Arduino UNO pour ce projet ne demande ni beaucoup d'efforts ni aucune bibliothèque. Vous pouvez utiliser la bibliothèque série matérielle et série logicielle. Si vous utilisez la série logicielle, incluez simplement la bibliothèque série logicielle, sinon passez à la série matérielle. Dans ce projet, nous utilisons SoftwareSerial. Commencez donc par inclure la bibliothèque série de logiciels. Les broches Rx et Tx sont connectées à 2 et 3 broches d'Arduino.
#comprendre
Les deux variables sont utilisées pour stocker les données reçues de HM10 et de l'application Android.
char appData; String inData = "";
Démarrez simplement la série matérielle et logicielle à un débit de 9600 bauds et imprimez quelques instructions de débogage. La broche LED est définie comme sortie et est initialement éteinte.
Serial.begin (9600); Serial.println ("La série HM10 a commencé à 9600"); HM10.begin (9600); // définit la série HM10 à un débit de 9600 bauds pinMode (13, OUTPUT); // LED intégrée digitalWrite (13, LOW); // éteindre la LED
Commencez à écouter le port HM10 et lisez la chaîne jusqu'à ce que le HM10 soit disponible et envoie les données. Enregistrez les données dans une chaîne.
HM10.listen (); // écoute le port HM10 while (HM10.available ()> 0) {// si HM10 envoie quelque chose alors lisez appData = HM10.read (); inData = String (appData); // sauvegarde les données au format chaîne Serial.write (appData); }
Pour déboguer le HM10 avec les commandes AT, écrivez simplement la ligne de code ci-dessous qui enverra la chaîne à HM10.
if (Serial.available ()) {// Lire l'entrée utilisateur si disponible. retard (10); HM10.write (Serial.read ()); }
Si la chaîne reçue est «F», alors imprimez un message sur le moniteur série et éteignez la led sinon si la chaîne reçue est «N» puis imprimez un message sur le moniteur série et la led clignotante avec un retard de 500 ms.
if (inData == "F") { Serial.println ("LED OFF"); digitalWrite (13, FAIBLE); // éteindre le retard de la LED (500); } if (inData == "N") { Serial.println ("LED ON"); digitalWrite (13, HAUT); // éteindre le retard de la LED (500); digitalWrite (13, FAIBLE); // éteindre le retard de la LED (500); }
Ceci termine le tutoriel complet sur la façon de contrôler la LED à l'aide du module Arduino et BLE HM10 Blutooth 4.0. Rappelez-vous encore que , si vous avez un module HM10 authentique, vous n'avez pas besoin de flasher son firmware, il peut être utilisé immédiatement. Mais si vous utilisez un module HM-10 cloné, flashez le firmware sur le module HM10 BLE cloné. Si vous avez des doutes ou des suggestions, veuillez commenter ci-dessous ou écrire sur notre forum.