Tutoriel inspiré de http://tiptopboards.free.fr

lh5.googleusercontent.com_-acqvpedkp9k_utq3ahag1fi_aaaaaaaabic_u-ulksjspqq_w400-h300-no_bluetooth_hc06_master.jpg..lh6.googleusercontent.com_-ew4cryog2lk_utq3azhqlyi_aaaaaaaabio_9ah0tv0ruks_w400-h300-no_bluetooth_hc06_master_verso.jpg

Composants utilisés


Principe de fonctionnement
Le module bluetooth HC-06 ajoute une fonction de communication par bluetooth à votre carte Arduino. Il peut ainsi communiquer sans fil à moyenne distance avec n’importe quel autre dispositif bluetooth (ordinateur, téléphone mobile, second module bluetooth sur une autre carte Arduino…).

Caractéristiques


Détails techniques du module


Câblage à réaliser
Module HC-06 (4 pins) –> Arduino

lh5.googleusercontent.com_-zhnrw8gelfq_utq3zhx2jti_aaaaaaaabiu_geal7m0-e-4_w600-h450-no_bluetooth_hc06_arduino.jpg

Important


Le code d’émission de données bluetooth pour l’Arduino

Code :
Module de communication BlueTooth HC-06 avec Arduino
Rolland 11 01 2014
tiptopboards.com
Programme de démo, le module HT-06 envoie des nouvelles données
chaque seconde au PC


int counter = 0;
unsigned long time;

void setup() {
Serial.begin(9600); Module bluetooth par défaut 9600, N, 8, 1
pinMode(13, OUTPUT);
Led 13 de témoin OK
}

void loop() {
digitalWrite(13, HIGH); LED 13 ON
delay(100);
digitalWrite(13, LOW);
Off

Serial.print(“Test module HC-06 bluetooth ”);
Serial.print(++counter);
Serial.print(“ ” );
time = millis();
Serial.println(time);
delay(1000); Un envoi de données par seconde
}

Installation du côté de votre PC
S’il l’ordinateur n’est pas pourvu d’origine d’une connectivité blutooth, lui ajouter un petit dongle Bluetooth sur un port USB et installer le driver correspondant.

Vérifier que le bluetooth du PC est présent et actif :
Avec Windows7 : Ordinateur / Propriétés système / Gestionnaire de périphériques / Cartes réseau / Périphérique bluetooth.

L’icône bluetooth doit se trouver dans la barre en bas de l’écran.

Montage du module avec Arduino
Brancher le module HC-06 sur la breadboard. L’Arduino est alimenté en 9V par sa prise jack.
La led rouge du module clignote rapidement quand il n’est prêt mais pas appairé . Elle est stable quand il est jumelé à un autre dispositif bluetooth.

lh6.googleusercontent.com_-cs3-b-evgl8_utq3iidd15i_aaaaaaaabkm_1gaxyf56g_e_w664-h250-no_bluetooth_liste_hc06.jpg
Cliquer sur le PC l’icône bluetooth et choisir le menu “Ajouter un périphérique”.
lh5.googleusercontent.com_-lruyu6htz2o_utq3bzi0oli_aaaaaaaabi0_kxxduqddqsq_w628-h479-no_bluetooth_ajouter_hc06.jpg
Le PC reconnaît “HC-06 bluetooth”, le choisir dans la liste et l’apparier.

Choisir “Entrer le code de couplage du périphérique” (qui n’a pas de clavier) et taper 1234.
Le PC valide ce périphérique et l’ajoute “Votre périphérique et prêt à être utilisé”.
Le mot de passe par défaut pourra être modifié ensuite.
lh3.googleusercontent.com_-mdhz0saiaka_utq3jdhakyi_aaaaaaaabku_xsmxcavjjt8_w619-h240-no_bluetooth_reconnu_hc06.jpg
Le module apparaît dans la liste des dispositifs bluetooth disponibles (avec le téléphone mobile, le GPS, et divers autres bluetooth situés à proximité de l’ordinateur).

Dans ses “Propriétés ” le module a un “Service : Port série SPP” (Serial Protocol via Bluetooth), par exemple ici “COM 12” (c’es un port Com virtuel).
Port COM13 = Entrant, et COM 12 = Sortant.
Bien noter le numéro du port utilisé pour la suite.
lh4.googleusercontent.com_-i0suedmcqky_utq3darm5hi_aaaaaaaabji_fcxufzxwp6c_w410-h508-no_bluetooth_hc06_1.jpglh4.googleusercontent.com_-jrowu6tj8se_utq3dlasdyi_aaaaaaaabjm_wjxduzicpxm_w413-h509-no_bluetooth_hc06_2.jpglh3.googleusercontent.com_-cnqrassntju_utq3eoo7zfi_aaaaaaaabjy_d_diki9cptu_w407-h506-no_bluetooth_hc06_3.jpglh3.googleusercontent.com_-uf7epqadsjo_utq3e78me_i_aaaaaaaabjc_zwlg0ma_-j8_w406-h510-no_bluetooth_hc06_4.jpg

lh3.googleusercontent.com_-3aghpxtznwc_utq3ckobsti_aaaaaaaabja_fa8mk99srgu_w490-h355-no_bluetooth_dongle_peripherique.jpg

Console série sur l’ordinateur
Pour que le PC puisse communiquer par bluetooth avec le module, il lui faut une console série.
Dans les dernières versions de Windows comme Vista et Win7, “WindowsTerminal” n’est plus disponible. On peut le récupérer d’un vieux XP, ou installer gratuitement une autre console : Putty , ou Termite par exemple.

Lancer et régler le logiciel PUTTY
Télécharger Putty.
Dans son menu Category / Session/ Basic Options, configurer COM12, serial, 9600 bauds.
lh3.googleusercontent.com_-f4s5_ai3_wy_utq3glvavci_aaaaaaaabj0_qxblkufgcxc_w462-h449-no_bluetooth_hc06_putty_com12.jpg
Dans le menu Category / Serial/ paramétrer Serial line to connect = COM12, speed = 9600 baud, data bits=8, stop bit=1, parity=none, Flow Xi=on/Xoff.
lh6.googleusercontent.com_-d7mwrofz7mw_utq3hsou38i_aaaaaaaabj8_omid4nppfz0_w457-h447-no_bluetooth_hc06_putty_com12open.jpg
Puis lancer l’écoute sérielle avec Open.
Le module en mode maître cherche automatiquement le module esclave et se connecte.
La led du module bluetooth passe en allumé constant, il est alors connecté : Module → Ordinateur

On récupère ainsi les données exportées par le module.
lh6.googleusercontent.com_-7tamnhwkzps_utq3gmj0vqi_aaaaaaaabjs_ocenbybxsmu_w672-h421-no_bluetooth_hc06_putty.jpg

Dans Category / Session / Login on peut choisir Session loggin = all session output, pour récupérer en fichier texte les données envoyées par le module blutooth (enregistrées dans le fichier putty.log).
lh4.googleusercontent.com_-nj2hpai1rlw_utq3invwtpi_aaaaaaaabke_c0l81v6wrei_w460-h444-no_bluetooth_hc06_putty_log.jpg

Lancer et régler le logiciel Termite 3.0
On peut aussi utiliser le logiciel Termite 3.0 de CompuPhase qui permet d’envoyer et de recevoir des données de communication RS232 (série).
Son interface plus agréable présente une coloration différente pour les données transmises (bleu) et reçues (vert).
L’interface est de type “programme de Chat”. En bas de l’écran de Termite, la barre permet de taper des commandes.
Des plugins permettent l’horodatage des messages reçus, un fichier INI mémorise la configuration du port série de Termite, etc…

Réglages
Dans le Menu Settings, commencer par paramétrer le port série (port = Com 12, baud=9600, 8data, 1 stop, no parity).
lh4.googleusercontent.com_-ngqiea2woxu_utq3jzx3fci_aaaaaaaabkc_gfcnr64q1ys_w530-h367-no_bluetooth_termite_config.jpg
Le logiciel sur le PC reçoit les données du module bluetooth et les affiche en vert (avec horodatage si on l’a activé).
lh3.googleusercontent.com_-mbawghhrqhg_utq3baxi3ti_aaaaaaaabis_wxl1kf6v0yu_w490-h364-no_bluetooth_termite_data.jpg


Envoi de commandes AT au module Bluetooth
Une fois connecté (led allumée fixe), le module est en mode “transparent”, et n’accepte plus les commandes AT. Ces commandes sont alors transmises directement au microcontrôleur.
Les commandes AT sont à envoyer avant l’appariement .
Ne pas les terminer par \r \n (retour chariot, nouvelle ligne) avec ce module HC-06.

Ce code Arduino envoie des commandes AT et affiche la réponse du HC-06 sur le monitor série du PC. Code: Tout sélectionner
Module bluetooth HC06 envoi de commandes AT
et affichage de la réponse du module
D’après http://nicolasz68.blogspot.fr/2012/09/module-bluetooth-jy-mcu-v104-pour.html



*/*
#include <SoftwareSerial.h> Software Serial Port
#define RxD 10 Pin 10 pour RX (pin0=serial) vert
#define TxD 11 Pin 11 pour TX, on peut changer noir
SoftwareSerial BTSerie(RxD,TxD);

void setup()
{
Serial.begin(9600); 115200 si on veut
delay(500);
Serial.println(“Bonjour - Pret pour les commandes AT”);
Configuration du bluetooth
pinMode(RxD, INPUT);
pinMode(TxD, OUTPUT);
BTSerie.begin(9600); 57600
delay(500);
BTSerie.print(“AT+VERSION”); Demande le N° de version
delay(1000);
BTSerie.print(“\n”);
}
void loop()
{
char recvChar;
On lit caractere par caractere sur le BTSerie et on affiche sur le Terminal Serie
if (BTSerie.available()) {
recvChar = BTSerie.read();
Serial.print(recvChar);
}
Serial.write(blueToothSerial.read());
if (Serial.available()) {
recvChar = Serial.read();
BTSerie.write(recvChar);
}
}



lh3.googleusercontent.com_-k9g7aozn6wk_utq3fldz1mi_aaaaaaaabjk_lejy48dr2su_w1043-h365-no_bluetooth_hc06_at.jpg

Commande de Test :


======================================================================================================================================


Références