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, 88888888ba, db 888888888888 ,ad8888ba,
d8"' `"8b 88 `"8b d88b ,88 d8"' `"8b
d8' `8b 88 `8b d8'`8b ,88" d8'
88 88 88 88 d8' `8b ,88" 88
88 88 88 88 d8YaaaaY8b ,88" 88 88888
Y8, "88,,8P 88 8P d8""""""""8b ,88" Y8, 88
Y8a. Y88P 88 .a8P d8' `8b 88" Y8a. .a88
`"Y8888Y"Y8a 88888888Y"' d8' `8b 888888888888 `"Y88888P"