Travaux Dirigés (TD) Module :TSE Niveau : M1 RSID (Sem2)
Partie 4 : Communication Arduino-Android 3 Heures
Objectif : L’objectif de cette partie est de communiquer la carte
Arduino avec d’autre appareils tel que Smartphone par liaison
Bluetooth en utilisant un module HC-05. La communication par
Bluetooth permet de récupérer des mesures d’un capteur, piloter
un robot et dans la domotique.
TD1 : Mise en marche du module Bluetooth HC-05. Voici le schéma de câblage pour la
communication.
Figure 4.1. Schéma de câblage pour la communication
---------------Corrigé TD 1---------------
1/Liste des composants
• une carte Arduino Uno
• un PC
• un module Bluetooth HC-05
• un jeu de câbles de connexion M/F
• un cordon USB B
• un smartphone sous Android
Ce module communique via une liaison série avec une carte Arduino. Cette liaison s’établit sur
deux broches RX et TX définies dans notre programme en tant que broches 11 et 10. La broche
RX de la carte Arduino doit être raccordée à la broche TX du module Bluetooth HC-05. La
broche TX de la carte Arduino doit être raccordée à la broche RX du module HC-05.
Tous les modules Bluetooth HC-05 possèdent la même configuration. Le nom du module est
« HC 05 » et le code d’appareillage est « 1234 ».
Enseignant : M. Ali KIES USTO-MB
Travaux Dirigés (TD) Module :TSE Niveau : M1 RSID (Sem2)
2/Montage Pratique
Figure 4.2. Montage pratique pour la communication
3.1/ Le programme
Ce programme (à copier dans l’IDE Arduino) permet la réception et l’émission de données
via le moniteur série de l’IDE avec un autre périphérique Bluetooth tel que le smartphone.
#include <SoftwareSerial.h>
#define rxPin 11 // Broche 11 en tant que RX, à raccorder sur TX du HC-05
#define txPin 10 // Broche 10 en tant que TX, à raccorder sur RX du HC-05
SoftwareSerial mySerial(rxPin, txPin);
void setup()
{
// define pin modes for tx, rx pins:
pinMode(rxPin, INPUT);
pinMode(txPin, OUTPUT);
[Link](9600);
[Link](9600);
}
void loop()
{
int i = 0;
char someChar[32] = {0};
// when characters arrive over the serial port...
if([Link]()) {
do{
someChar[i++] = [Link]();
delay(3);
}while ([Link]() > 0);
[Link](someChar);
[Link](someChar);
}
while([Link]())
[Link]((char)[Link]());
}
Enseignant : M. Ali KIES USTO-MB
Travaux Dirigés (TD) Module :TSE Niveau : M1 RSID (Sem2)
3.2/ Communication entre le Smartphone et l’Arduino Uno
Il faudra ensuite installer sur le smartphone un programme comme Bluetooth Terminal HC-05
(Voir la figure 4.3) pour Android et appairer le module HC-05. Le code pin par défaut est :
« 1234 ».
Figure 4.3. Bluetooth Terminal HC-05
Il est maintenant possible de dialoguer entre le moniteur série du PC et le smartphone. La vitesse
de transfert série doit être paramétrée sur 38400 bauds sinon une série de caractères illisibles
apparaitra dans le moniteur.
Figure 4.4. La communication entre Arduino et Bluetooth
Voir la vidéo : partie4TD1 sur la plateforme E-learning d’USTO
Télécharger le code source : partie4TD1 sur la plateforme E-learning d’USTO
Enseignant : M. Ali KIES USTO-MB
Travaux Dirigés (TD) Module :TSE Niveau : M1 RSID (Sem2)
TD2 : le but de ce td est l’allumage d’une LED via le smartphone en utilisant le Bluetooth.
Voici le schéma de câblage.
Figure 4.5. Schéma de câblage pour allumer une LED via Bluetooth
---------------Corrigé TD 2---------------
1/ Architecture fonctionnelle
Application 0 0 Eteindre
Bluetooth Arduino
Mobile LED
HC-05 UNO
1 Allumer
1
Figure 4.6. L’architecture fonctionnelle de commander une LED via smartphone
2/Liste des composants
• une carte Arduino Uno
• un PC
• un module Bluetooth HC-05
• un jeu de câbles de connexion M/F
• un cordon USB B
• un smartphone sous Android
• une LED
3/Montage Pratique
Enseignant : M. Ali KIES USTO-MB
Travaux Dirigés (TD) Module :TSE Niveau : M1 RSID (Sem2)
Figure 4.7. Montage pratique pour commander une LED (Etat Eteindre)
Figure 4.8. Montage pratique pour commander une LED (Etat Allumer)
Enseignant : M. Ali KIES USTO-MB
Travaux Dirigés (TD) Module :TSE Niveau : M1 RSID (Sem2)
Consulter le lien pour voir le vidéo :
4./ Le programme
On trouve deux parties de programme, la première au niveau de l’Arduino pour configurer et
programmer les matériels nécessaires à une tache précise. La deuxième partie du programme
est au niveau de smartphone pour envoyer les instructions au Arduino afin de commander LED.
4.1 coté Arduino
#include <SoftwareSerial.h>
SoftwareSerial HC05(11,10);
const int LED = 13;
String messageRecu;
void setup()
{
[Link](9600);
[Link](9600);
pinMode(LED, OUTPUT);
digitalWrite(LED, LOW);
}
void loop()
{
while([Link]())
{
delay(3);
char c = [Link]();
messageRecu = c;
}
if ([Link]() >0)
{
[Link](messageRecu);
if (messageRecu == "1")
{
digitalWrite(LED, HIGH);}
if (messageRecu == "0")
{
digitalWrite(LED, LOW);}
}
}
4.2 coté Smartphone
Pour l’application mobile, on utilise la plateforme MIT app inventor. MIT app inventor permet
de créer une application pour smartphone android facilement sans avoir à connaitre le langage
du codage. Pour utiliser MIT app inventor, un compte GMAIL est nécessaire.
Lien app inventor : [Link]
La figure 4.9 représente l’interface graphique de notre application mobile.
Enseignant : M. Ali KIES USTO-MB
Travaux Dirigés (TD) Module :TSE Niveau : M1 RSID (Sem2)
Programme de l’application Mobile ANDROID Commentaires
• Récupération de la liste des
périphériques Bluetooth
appariés sur votre Smartphone
• Connexion au périphérique
Sélectionné
• Envoie le message « 1 » lorsque
l’utilisateur appuie sur le Botton
1 « on »
• Envoie le message « 0 » lorsque
l’utilisateur appuie sur le Botton
0 « OFF »
Figure 4.9. L’interface de l’application Mobile
Voir la vidéo : partie4TD2 sur la plateforme E-learning d’USTO
Télécharger le code source : partie4TD2 sur la plateforme E-learning d’USTO
Enseignant : M. Ali KIES USTO-MB