La transmission d'un message de la carte Arduino au smartphone via Bluetooth en utilisant le module HC-06 et un bouton poussoir repose sur plusieurs étapes et phénomènes électroniques qui permettent d'envoyer une information sans fil.
Le Bluetooth est une technologie de communication sans fil qui permet la transmission de données entre deux appareils sur une courte distance (environ 10 mètres pour le HC-06). En utilisant le protocole série (UART), le module Bluetooth HC-06 peut envoyer des informations de l'Arduino vers un smartphone en utilisant des signaux radio.
Arduino UNO : Il sert de contrôleur principal. Dans ce cas, il détecte l’appui sur le bouton poussoir et, en réponse, envoie un message sous forme de données série au module Bluetooth.
Module Bluetooth HC-06 : Ce module reçoit les données de l'Arduino par la liaison série et les transmet ensuite sous forme d'ondes radio Bluetooth. Il agit comme une interface entre l'Arduino (système filaire) et le smartphone (système sans fil).
Bouton poussoir : Il est utilisé comme un interrupteur qui, lorsqu'il est enfoncé, déclenche l’envoi du message depuis l’Arduino vers le smartphone.
Pull-up interne : En mode entrée avec pull-up interne, la broche du bouton sur l’Arduino est normalement à l’état HIGH (5V) grâce à la résistance interne. Lorsque le bouton est enfoncé, la broche est reliée à la masse (0V), ce qui place la broche à l’état LOW.
Lecture de l'état du bouton : L’Arduino lit l'état de la broche connectée au bouton pour détecter si celui-ci est appuyé. Si l’Arduino détecte l’état LOW, il sait que le bouton est enfoncé.
Une fois que l'Arduino détecte l'appui du bouton, il utilise la liaison série UART pour envoyer un message sous forme de texte (par exemple, "Bouton appuyé ! Message envoyé au smartphone.") au module HC-06.
Protocole UART : La communication série (UART) entre l'Arduino et le HC-06 fonctionne en envoyant des données bit par bit. Les broches TX (transmission) et RX (réception) de l’Arduino et du HC-06 permettent cet échange de données.
Le module HC-06 reçoit le signal via sa broche RX, le convertit en signal radio, et le transmet au smartphone sous forme de paquets de données Bluetooth.
Association Bluetooth : Avant la transmission, le smartphone et le module HC-06 doivent être appairés. Une fois associés, ils établissent une connexion de communication sans fil.
Conversion en signal radio : Le module HC-06 utilise le signal électrique reçu de l’Arduino et le convertit en ondes radio Bluetooth dans la bande de fréquences de 2,4 GHz.
Réception sur le smartphone : Le smartphone, via une application de terminal Bluetooth, reçoit ce signal et l’affiche sous forme de texte.
Lorsque le smartphone capte le signal Bluetooth du module HC-06, il le décode grâce à l'application de terminal Bluetooth.
Le message envoyé par l'Arduino, déclenché par l'appui du bouton, s’affiche alors à l’écran du smartphone, confirmant que la transmission a été effectuée.
Arduino UNO :
La carte Arduino UNO est la carte de développement principale utilisée pour programmer et contrôler l'afficheur SSD1306 et le module Bluetooth HC-06.
Module HC-06
Le module HC-06 est un module Bluetooth largement utilisé pour permettre la communication sans fil entre différents dispositifs électroniques, tels que des microcontrôleurs comme l'Arduino, des ordinateurs, des smartphones et d'autres appareils compatibles Bluetooth. Le "HC" dans le nom fait référence à "Host Controller", indiquant qu'il est conçu pour être utilisé comme une interface Bluetooth pour un hôte (par exemple, un microcontrôleur).
Bouton poussoir :
Il est utilisé comme un interrupteur qui, lorsqu'il est enfoncé, déclenche l’envoi du message depuis l’Arduino vers le smartphone.
Breadboard (Plaque d'essai) :
Une breadboard est utile pour créer un circuit temporaire et connecter facilement les composants entre eux.
Fils de connexion :
Des fils de connexion sont nécessaires pour relier les différents composants ensemble, tels que la connexion entre la carte Arduino, le module Bluetooth HC-06 et le bouton poussoir.
VCC du module HC-06 → 5V de l’Arduino.
GND du module HC-06 → GND de l’Arduino.
TX du module HC-06 → Pin 2 de l’Arduino.
RX du module HC-06 → Pin 3 de l’Arduino (avec un diviseur de tension pour abaisser le signal de 5V à 3,3V).
Un côté du bouton poussoir → GND de l’Arduino.
L’autre côté du bouton poussoir → Pin analogique A0 de l’Arduino
.
Le code suivant configure l’Arduino pour envoyer un message au smartphone uniquement lorsque le bouton est appuyé.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include <SoftwareSerial.h> const int btnPin = A0; // le bouton est connecté à la broche A0 de la carte Adruino int btnVal = 0; SoftwareSerial hc06(2,3); void setup(){ pinMode(btnPin,INPUT_PULLUP); hc06.begin(9600); } void loop(){ btnVal=analogRead(btnPin); if(btnVal<200) // On appuie sur le bouton poussoir { hc06.print("Salut je m’appelle carte Arduino"); // envoie du message vers le smartphone delay(500); } } |
Explications du code
pinMode(btnPin, INPUT_PULLUP);
configure le bouton en entrée avec résistance de pull-up interne pour que la broche soit HIGH lorsqu’il n’est pas appuyé et LOW lorsqu’il est appuyé.
btnVal = digitalRead(btnPin);
lit l’état du bouton poussoir.
Condition if (btnPin < 200)
: Lorsque le bouton est appuyé, hc06.println()
envoie un message via Bluetooth au smartphone.
delay(500);
crée une pause de 500 ms pour éviter l'envoi multiple du message si le bouton reste appuyé (anti-rebond).
App Inventor est une plateforme de développement visuel qui permet aux utilisateurs de créer des applications Android sans nécessiter une connaissance approfondie en programmation. Cette plateforme a été initialement développée par Google et est actuellement maintenue par le Massachusetts Institute of Technology (MIT). Elle vise à rendre le processus de développement d'applications mobiles accessible aux personnes sans expérience préalable en programmation.
a- Dans la partie Design de l'App Inventor :
- Créez une nouvelle application dans MIT App Inventor.
- Ajoutez un composant "BluetoothClient" à l'écran. Dans les propriétés du composant, spécifiez l'adresse Bluetooth de votre module (peut être trouvée via les paramètres Bluetooth de votre smartphone).
- L'extension "BluetoothClient1" dans MIT App Inventor vous permet de créer des applications mobiles qui peuvent se connecter à des dispositifs Bluetooth, comme des modules Bluetooth série (par exemple, HC-06) connectés à des microcontrôleurs, des appareils Bluetooth audio, etc. Cette extension facilite la communication avec ces dispositifs en utilisant des connexions Bluetooth série.
1- Accédez à MIT App Inventor et connectez-vous.
2- Créez un nouveau projet (par exemple, "BluetoothApp").
1- Ajoutez un Bouton nommé "choisir_arduino".
2- Ajoutez un Label pour afficher les messages reçus, nommé "Message reçu".
3- Ajoutez un composant BluetoothClient (dans la section Connectivité).
4- Ajoutez un composant Clock (Horloge) pour vérifier les messages entrants à intervalles réguliers.
b- Dans la partie bloc (programme) de l'App Inventor :
- À partir d'Android 12, les autorisations Bluetooth ont été renforcées pour améliorer la sécurité et la protection des données des utilisateurs. C'est pour cela on doit déclarer les autorisations dont votre application a besoin dans le fichier AndroidManifest.xml. Pour Bluetooth, vous devrez inclure les autorisations ACCESS_FINE_LOCATION, BLUETOOTH_SCAN, et éventuellement BLUETOOTH_CONNECT, en fonction des fonctionnalités que vous utilisez.
Bloc de connexion Bluetooth :
Créez un événement quand choisir_arduino.Click
pour que, lorsqu'on appuie sur le bouton, l'application recherche et se connecte au module Bluetooth.
Bloc pour recevoir et afficher les messages :
Ajoutez un événement quand Clock1.Chronomètre
pour vérifier toutes les secondes si des données sont disponibles.
Vérifiez si appeler BluetoothClient.Octets disponibles pour le reception > 0
.
Utilisez BluetoothClient.Recevoir Texte
pour lire le message reçu et l'afficher dans le Label "Message reçu".
Télécharger le projet aiaTélécharger le fichier apk
Test :
1- Téléchargez l'application sur votre smartphone via le lien de test fourni par MIT App Inventor (ou en exportant l’APK).
2- Activez le Bluetooth sur votre smartphone et associez-le au module HC-06/HC-05 (code de pairage : 1234
ou 0000
).
3- Ouvrez l'application et appuyez sur "Connecter Bluetooth".
4- Une fois connecté, l'application recevra le message envoyé par l'Arduino et l’affichera dans le Label.
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info