Bluetooth

Les modules Bluetooth permettent à l’Arduino de communiquer avec un appareil Android (pilotage de robot, …)

Modules HC-05 et HC-06

sources : http://www.martyncurrey.com/hc-05-fc-114-and-hc-06-fc-114-first-look/

Les modules HC-05 (maître) et HC-06 (esclave) (?) sont des circuits extrêmement fréquents et bon marché, parfaitement adaptés à une utilisation avec Arduino.

  • Mode maitre : l’association (ou appairage) avec un autre périphérique  doit se faire depuis le module.
  • Mode esclave : l’association avec un autre périphérique doit se faire depuis l’autre périphérique.

Câblage

Programmation

Le programme suivant permet à l’Arduino de communiquer avec un appareil Bluetooth, en utilisant le terminal série de l’ordinateur.

Attention : le terminal doit être réglé en mode NL et CR (en bas à droite) : 

Fonctionnement

Le module HC-0x possède différents modes de fonctionnement, identifiables par le clignotement de sa LED d’état.

Mode commande

Clignotement rapide : ….

Ce mode permet de configurer le module, grâce aux commandes AT (ATtention).

Pour passer en mode commande, il suffit d’appuyer sur le petit bouton du module (s’il y en a un !).

Sinon, on peut aussi obtenir le mode commande en passant la broche KEY à l’état haut (HIGH) et en la maintenant dans cet état pendant toute la durée d’utilisation du mode commande.:

 

Quelques commandes AT utiles
  • Vérification que le mode AT est actif :

  • Affichage de la version du firmware (programme interne au module BT) :

  • Obtention/Configuration des paramètres de communication (baud rate, bit de stop, parité)

  • Modification du rôle du module (esclave = 0 / maître = 1)

lecture du mode courant

 

Mode attente

Clignotement lent :   .   .   .   .

Mode connexion

Deux clignotements courts :    ..    ..    ..   

Utilisation avec un appareil Android

Utilisation d’un terminal série

  • Téléverser le programme précédent dans l’Arduino et ouvrir le moniteur série
  • Installer un terminal Bluetooth sur l’appareil Android (par exemple Bluetooth Terminal de Qwerty)
  • Activer le Bluetooth sur l’appareil Android, et associer le périphérique HC-05 de l’Arduino (il doit être nommé HC-05 et le mot de passe par défaut est 1234)

  • Exécuter l’application Bluetooth Terminal et connecter le périphérique

A présent il est possible de communiquer :

 

 

MIT App inventor

 

 

 

 

 

 

 

 

 

 

 

 

Module nRF8001

Modèle testé : Adafruit nRF8001 Bluefruit LE Breakout

ATTENTION, ce module est à la norme Bluetooth Low Energy ou Bluetooth 4.0. Il n’est (pour l’instant) pas compatible avec App Inventor.

Installation

Bibliothèque Arduino

MenuExemple_nRF8001

Application Android

Câblage

Premier essai

Depuis le PC :

  • Télécharger le programme Arduino Test_BLE (archive ZIP) ;
  • Dézipper l’archive dans votre dossier de travail ;
  • Ouvrir le croquis Test_BLE.ino ;
  • Le téléverser sur l’Arduino bouton_televerse;
  • Ouvrir le Moniteur Série bouton_moniteur. Le message suivant devrait apparaître :

BLE_Arduino_0

Depuis l’appareil Android :

  • Lancer l’application Bluefruit LE IconeBLE et connecter l’appareil Android au périphérique « UART » (l’Arduino), en mode UART.

EcranAndroid_ConnectBLE1EcranAndroid_ConnectBLE2

  • Écrire un message pour l’Arduino : « Bonjour ARDUINO », puis l’envoyer (SEND)

EcranAndroid_BLE0EcranAndroid_BLE1

Le message doit apparaitre sur le Moniteur Série :

BLE_Arduino_1

  • Répondre à l’appareil Android en écrivant un message dans le Moniteur série :

BLE_Arduino_2

Le message doit apparaitre sur l’appareil Android :

EcranAndroid_BLE2

 

 

 

Pour en savoir plus …

https://learn.adafruit.com/getting-started-with-the-nrf8001-bluefruit-le-breakout/introduction

Vous aimerez aussi...

2 réponses

  1. Cristelle PESSIN dit :

    Bonjour,
    Je me permets de vous contacter car j’ai un problème d’appairage entre mon téléphone Android et le circuit Bluetooth HC08 CC2541.
    Aucun code PIN essayé ne fonctionne. L’appareil est bien reconnu par mon téléphone mais l’application Bluetooth terminal ne le trouve pas.
    Auriez-vous une piste à m’apporter pour résoudre ce problème ? J’ai déjà essayé avec 6 zéros comme proposé dans plusieurs forum mais rien ne fonctionne.
    Je vous remercie d’avance pour la réponse que vous me ferez.
    Cordialement
    C PESSIN

    • Arnaud BULCKE dit :

      Bonjour,
      En général le code pin pour les modules bluetooth est 0000 ou 1234. Avez vous essayé ces codes ? Sinon c’est vrai que la documentation du HC08 CC2541 indique un code PIN à 000000. La dernière solution c’est d’utiliser la commande AT pour voir le code PIN (cf https://www.instructables.com/id/AT-command-mode-of-HC-05-Bluetooth-module/) Pour vous il faudra envoyer la commande AT+RX via le moniteur série sur la carte Arduino avec le sketch suivant (cf lien ci dessus pour les détails):

      #include "SoftwareSerial.h"
      SoftwareSerial mySerial(10, 11); // RX, TX

      void setup() {
      Serial.begin(9600);
      pinMode(9,OUTPUT); digitalWrite(9,HIGH);
      Serial.println("Enter AT commands:");
      mySerial.begin(38400);
      }

      void loop()
      {
      if (mySerial.available())
      Serial.write(mySerial.read());
      if (Serial.available())
      mySerial.write(Serial.read());
      }

      en espérant que cela fonctionne…

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

code