Voici le cours associé à l’application à l’application Arduino Factory sur le capteur Bluetooth. On va voir comment fonctionne un capteur Bluetooth et comment utiliser la télécommande intégrée dans l’application pour contrôler votre projet.
Le capteur Bluetooth HC-05 va vous permettre de contrôler tout vos projets sur arduino. Vous pourrez télécommander une voiture, allumer des leds …
Ce module communique via une liaison série avec une carte Arduino. Cette liaison s’établit sur deux broches RX et TX. La particularité du module Bluetooth HC-05 est qu’il peut être utilisé en mode esclave ou en mode maître. Le mode esclave va permettre de se connecter à lui envoyer des informations et en recevoir pour contrôler notre projet alors que le mode maître va permettre que le module Bluetooth se connecte à un autre module pour faire communiquer deux projets ensemble par exemple.
Pour cela, il y a un bouton esclave permettant de passer du mode maitre en mode esclave. Pour ce cours c’est le mode esclave que nous allons utiliser car l’on veut pouvoir se connecter au module pour pouvoir contrôler notre projet.
Il y a plusieurs pins sur le capteur :
Numéro de la broche | Valeur | Description |
1 | Wakeup | Cette broche est utilisée pour pour basculer entre le mode de données et le mode de commande AT. Par défaut il est en mode de données. |
2 | Vcc | Alimente le module. Connectez-vous à la tension d’alimentation +5V. |
3 | Ground | Broche pour la masse du module connectez à la masse du système |
4 | TX – Transmetteur | Transmet les données série. Tout ce qui est reçu via Bluetooth sera donné par cette broche en tant que données série. |
5 | RX- Receiver | Permet de recevoir des données de série. |
6 | State | La broche State est branchée à la LED embarquée. Elle permet de savoir si le Bluetooth à bien reçu les données par exemple. |
Il est très rare sur notre site que l’on vous propose de téléverser le programme avant de faire le montage, néanmoins si vous faites l’inverse il faudra débrancher les bornes RX et TX entre la capteur Arduino et le capteur sinon cela ne fonctionnera pas bien. Ou bien vous pouvez téléverser le programme avant de faire le montage tout simplement.
Voici le programme à téléverser sur votre carte :
#define bouton_0 0
#define bouton_1 1
#define bouton_2 2
#define bouton_3 3
#define bouton_4 4
#define bouton_5 5
#define bouton_6 6
#define bouton_7 7
#define bouton_8 8
#define bouton_9 9
#define bouton_volplus 10
#define bouton_func 11
#define bouton_back 12
#define bouton_pause 13
char c=0;
uint16_t NA;
void setup() {
pinMode(bouton_0, OUTPUT);
pinMode(bouton_1, OUTPUT);
pinMode(bouton_2, OUTPUT);
pinMode(bouton_3, OUTPUT);
pinMode(bouton_4, OUTPUT);
pinMode(bouton_5, OUTPUT);
pinMode(bouton_6, OUTPUT);
pinMode(bouton_7, OUTPUT);
pinMode(bouton_8, OUTPUT);
pinMode(bouton_9, OUTPUT);
pinMode(bouton_volplus, OUTPUT);
pinMode(bouton_func, OUTPUT);
pinMode(bouton_back, OUTPUT);
pinMode(bouton_pause, OUTPUT);
Serial.begin(9600);
analogReference(INTERNAL);
}
void loop() {
if (Serial.available() > 0){
c = Serial.read();
switch (c) {
//--------------bouton 0 pin RX-------------
case 'Q':
digitalWrite(bouton_0, HIGH);
break;
case 'R':
digitalWrite(bouton_0,LOW);
//--------------bouton 1 pin TX-------------
case 'W':
digitalWrite(bouton_1, HIGH);
break;
case 'X':
digitalWrite(bouton_1,LOW);
break;
//--------------bouton 2 pin 2-------------
case 'Y':
digitalWrite(bouton_2, HIGH);
break;
case 'Z':
digitalWrite(bouton_2,LOW);
break;
//--------------bouton 3 pin 3-------------
case 'a':
digitalWrite(bouton_3, HIGH);
break;
case 'b':
digitalWrite(bouton_3,LOW);
break;
// --------------bouton 4 pin 4-------------
case 'c':
digitalWrite(bouton_4, HIGH);
break;
case 'd':
digitalWrite(bouton_4,LOW);
break;
//--------------bouton 5 pin 5-------------
case 'e':
digitalWrite(bouton_5, HIGH);
break;
case 'f':
digitalWrite(bouton_5,LOW);
break;
//--------------bouton 6 pin 6-------------
case 'g':
digitalWrite(bouton_6, HIGH);
break;
case 'h':
digitalWrite(bouton_6,LOW);
break;
//--------------bouton 7 pin 7-------------
case 'i':
digitalWrite(bouton_7, HIGH);
break;
case 'j':
digitalWrite(bouton_7,LOW);
break;
//--------------bouton 8 pin 8-------------
case 'k':
digitalWrite(bouton_8, HIGH);
break;
case 'l':
digitalWrite(bouton_8,LOW);
break;
//--------------bouton 9 pin 9-------------
case 'm':
digitalWrite(bouton_9, HIGH);
break;
case 'n':
digitalWrite(bouton_9,LOW);
break;
//--------------bouton volume plus pin 10-------------
case 'A':
digitalWrite(bouton_volplus, HIGH);
break;
case 'B':
digitalWrite(bouton_volplus,LOW);
break;
//--------------bouton function pin 11-------------
case 'C':
digitalWrite(bouton_func, HIGH);
break;
case 'D':
digitalWrite(bouton_func, LOW);
break;
//--------------bouton back pin 12-------------
case 'E':
digitalWrite(bouton_back, HIGH);
break;
case 'F':
digitalWrite(bouton_back,LOW);
break;
//--------------bouton pause pin 13-------------
case 'G':
digitalWrite(bouton_pause, HIGH);
break;
case 'H':
digitalWrite(bouton_pause,LOW);
break;
default:
break;
}
}
}
On va maintenant voir le schéma associé au programme avec une led comme exemple.
Ici on utilise une résistance de 220 Ohm.
En branchant la Led sur la borne 13, vous pourrez l’allumer en appuyant sur le bouton pause (II) de la télécommande. Vous pouvez changer de broche pour changer le bouton sur lequel appuyer.
Dans le tableau ci dessous, vous pouvez voir la correspondance entre les boutons de la télécommande et les broches de la carte Arduino. Ainsi vous pourrez choisir sur quel bouton vous désirez appuyer pour faire démarrer votre moteur par exemple.
Broche 0 | bouton 0 (si pas pris par le capteur) | Broche 7 | Bouton 7 |
Broche 1 | bouton 1 (si pas pris par le capteur) | Broche 8 | Bouton 8 |
Broche 2 | Bouton 2 | Broche 9 | Bouton 9 |
Broche 3 | Bouton 3 | Broche 10 | volume plus |
Broche 4 | Bouton 4 | Broche 12 | Bouton retour |
Broche 5 | Bouton 5 | Broche 13 | Bouton pause |
Broche 6 | Bouton 6 |
On a développé dans l’application deux types de télécommandes afin de s’adapter à tout type de projets.
Ici vous pouvez voir une télécommande classique pour contrôler votre projets. Cette variante de télécommande va vous permettre de contrôler un bandeau de led. Les deux télécommandes fonctionnent pour tous les types de projet alors choisissez à votre convenance celle qui vous convient le mieux.
Vous savez maintenant utilisez le capteur Bluetooth avec notre application. N’oubliez pas de télécharger celle-ci pour pouvoir faire fonctionner votre projet : https://play.google.com/store?hl=fr&gl=US
Vous retrouverez dans l’application tout les outils nécessaire pour vos projets : outils pour calculer une résistance, des cours, et une partie pour acheter les composants pour vos projets.