Arduino : utiliser un module Bluetooth HC-05

Par :
francoistonic
jeu, 22/10/2015 - 11:23
Niveau :
Facile

On me pose régulièrement la question : comment échanger, connecter avec un projet Arduino ? Le plus rapide et le moins cher est d’utiliser un module HC-05 qui apportera une connexion Bluetooth à votre IoT. Ce module est peu cher (environ 5 €, voire, -4 € en direct de Chine). De nombreux tutos et montages sont visibles sur le web.

Nous avons testé le montage avec une classique Arduino Uno, un module HC-05 et une LEB RGB.

Branchement du HC-05 :

RXD -> 11
TXD -> 10
GND -> GND côté digital
VCC -> 5V

Attention ne pas connecter les autres broches.

Branchement LED RGB :

GND -> GND
RED -> 5
GREEN -> 3
BLUE -> 4 

Le LED RGB contient 3 couleurs (rouge, vert, bleu) et nécessite 3 broches de connexion (1 par couleur). 

Le code est très simple. (voir ci-dessous) On utilise la librairie SoftwareSerial.h. On déclare les broches pour la réception et l’émission (RX / TX), on contrôle la présence du Bluetooth puis si tout est ok, on peut manipuler les LED RGB. La commande passe en émission, le HC-05 reçoit les données. En retour, la carte retourne les données que l’on aura codé.

Nous avons utilisé et adapté le code du montage présenté sur Instructables : http://www.instructables.com/id/Arduino-AND-Bluetooth-HC-05-Connecting-easily/

Nous vous conseillons tout d’abord de brancher l’Arduino en filaire pour charger le code sur la carte. Puis retirez le câble. 

- activer le Bluetooth sur votre machine

- si tout se déroule bien, vous trouverez la référence HC-05, connecter et jumeler (code de jumelage : 1234). Si tout est ok, la led rouge du HC-05 fera deux brefs clignotements à intervalles réguliers.

Dans Arduino IDE :

- dans le menu Outils -> Port, sélectionner HC-05-DevB (en général c’est cette référence qui est indiquée)

- afficher le moniteur série

- dans le champs saisissable du haut, vous pouvez maintenant envoyer les commandes 0, 1 ou 3. 

Ce projet a été testé sur OS X 10.10.5. L’exemple sur Instructables est donné pour Windows. 

François Tonic - Rédacteur ne chef de Programmez!

#include <SoftwareSerial.h>
#define GREEN 3
#define BLUE 4
#define RED 5
SoftwareSerial Genotronex(10, 11); // RX, TX
int ledpin = 13;
int BluetoothData;
void setup() {
  Genotronex.begin(9600);
  Genotronex.println("Bluetooth 0 1 ou 3 ..");
  pinMode(ledpin, OUTPUT);
  pinMode(GREEN, OUTPUT);
  pinMode(BLUE, OUTPUT);
  pinMode(RED, OUTPUT);
  digitalWrite(GREEN, HIGH);
  digitalWrite(BLUE, HIGH);
  digitalWrite(RED, HIGH);
}
void loop() {
  if (Genotronex.available()) {
    BluetoothData = Genotronex.read();
    if (BluetoothData == '1') {
      digitalWrite(ledpin, 1);
      Genotronex.println("LED  On D13 ON ! ");
      digitalWrite(GREEN, HIGH);
      digitalWrite(BLUE, LOW);
      digitalWrite(RED, LOW);
    }
    if (BluetoothData == '0') {
      digitalWrite(ledpin, 0);
      Genotronex.println("LED  On D13 Off ! ");
      digitalWrite(GREEN, LOW);
      digitalWrite(BLUE, LOW);
      digitalWrite(RED, LOW);
    }
    if (BluetoothData == '3') {
      digitalWrite(ledpin, 0);
      Genotronex.println("LED  rouge ");
      digitalWrite(GREEN, LOW);
      digitalWrite(BLUE, LOW);
      digitalWrite(RED, HIGH);
    }
  }
  delay(100);
}

Commentaires

bonjour
merci pour ce post
on peut mettre de la musique ?
comment jumeler une enceinte ?
merci d'avance

j'ai un pfe et mon sujet sur commande d'un portail automatique commander par blutouth hc_05 je cherche un programme quil me permet de commander un servomoteur par smartphone 

le problemme ici c'est : comment piloter mon servomoteur a rotation continu a deux sens par blutouth 

Ajouter un commentaire

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
                                                                                    
,ad8888ba, 888888888888 db ad88888ba db
d8"' `"8b ,88 d88b d8" "8b d88b
d8' `8b ,88" d8'`8b Y8, d8'`8b
88 88 ,88" d8' `8b `Y8aaaaa, d8' `8b
88 88 ,88" d8YaaaaY8b `"""""8b, d8YaaaaY8b
Y8, "88,,8P ,88" d8""""""""8b `8b d8""""""""8b
Y8a. Y88P 88" d8' `8b Y8a a8P d8' `8b
`"Y8888Y"Y8a 888888888888 d8' `8b "Y88888P" d8' `8b