Outils pour utilisateurs

Outils du site


wiki:tutoriels:arduino:module-bleutooth

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:tutoriels:arduino:module-bleutooth [2022/05/16 16:31]
damien.muti [Etalonage du module]
wiki:tutoriels:arduino:module-bleutooth [2022/05/16 17:39] (Version actuelle)
damien.muti [Dialogue entre le smartphone et la carte Arduino]
Ligne 94: Ligne 94:
   * [[https://play.google.com/store/apps/details?id=Qwerty.BluetoothTerminal&hl=en|Bluetooth Terminal]]   * [[https://play.google.com/store/apps/details?id=Qwerty.BluetoothTerminal&hl=en|Bluetooth Terminal]]
  
-== Programme ==+== Programme de test du module == 
 + 
 +Ce Programme permet d'allumer une LED en envoyant ON via le terminal BT du smartphone. Si on envoie OFF, la LED s'éteind. Si on envoie un nombre "T" compris entre 0 et 10000, la LED va clignoter avec une période T. 
  
-Il faut ensuite téléverser le code suivant sur la carte Arduino : 
  
 <code> <code>
 +
 #include <SoftwareSerial.h> #include <SoftwareSerial.h>
 SoftwareSerial hc06(2, 3); SoftwareSerial hc06(2, 3);
Ligne 104: Ligne 106:
 float sensor_val = 0; float sensor_val = 0;
 // faire clignoter clignoter la led // faire clignoter clignoter la led
-byte led = 13;+byte led = 8;
 int Tblink = 100; int Tblink = 100;
 float isBlink = false; // drapeau pour lancer le clignotement... ou non float isBlink = false; // drapeau pour lancer le clignotement... ou non
Ligne 115: Ligne 117:
   Serial.begin(9600);   Serial.begin(9600);
   //Initialize Bluetooth Serial Port   //Initialize Bluetooth Serial Port
-  hc06.begin(9600);+  hc06.begin(115200); /// Tester aussi avec 9600 si vous rencontrez des difficultés de communication avec le moule BT
 } }
 void loop() { void loop() {
Ligne 129: Ligne 131:
     if (cmd == "ON") {     if (cmd == "ON") {
       Serial.println("Function is on");       Serial.println("Function is on");
-      digitalWrite(13, HIGH); // alumer la led+      digitalWrite(led, HIGH); // alumer la led
       isBlink = false; // arrêter le clignotement       isBlink = false; // arrêter le clignotement
     } else if (cmd == "OFF") {     } else if (cmd == "OFF") {
       Serial.println("Function is off");       Serial.println("Function is off");
-      digitalWrite(13, LOW); // éteindre la led+      digitalWrite(led, LOW); // éteindre la led
       isBlink = false; // arrêter le clignotement       isBlink = false; // arrêter le clignotement
     } else {     } else {
Ligne 170: Ligne 172:
  
 </code> </code>
 +
 +
 +
  
 Le code Arduino est téléchargeable ici : Le code Arduino est téléchargeable ici :
Ligne 407: Ligne 412:
  
  
-Le code permettant de connaître les caractéristiques du modules BT Grove-BLE est accessible ici : [[https://github.com/Seeed-Studio/HM_13_SW/blob/master/HM_13_SW.ino|Github]]+Le code permettant de connaître les caractéristiques du modules BT Grove-BLE est accessible ici : [[https://github.com/Seeed-Studio/HM_13_SW|Github]]
  
 ===== Etalonage du module ===== ===== Etalonage du module =====
 +
 +Le code permettant de connaître les caractéristiques du module BT Grove-BLE est le suivant : [[https://github.com/Seeed-Studio/HM_13_SW/blob/master/HM_13_SW.ino|Programme Arduino Sur Github]]
 +
  
 <code> <code>
Ligne 618: Ligne 626:
     return 0;     return 0;
 } }
 +</code>
  
  
 +===== Programme de test du module =====
 +
 +Ce Programme permet d'allumer une LED en envoyant ON via le terminal BT du smartphone. Si on envoie OFF, la LED s'éteind. Si on envoie un nombre "T" compris entre 0 et 10000, la LED va clignoter avec une période T. 
 +
 +
 +<code>
 +
 +#include <SoftwareSerial.h>
 +SoftwareSerial hc06(2, 3);
 +String cmd = "";
 +float sensor_val = 0;
 +// faire clignoter clignoter la led
 +byte led = 8;
 +int Tblink = 100;
 +float isBlink = false; // drapeau pour lancer le clignotement... ou non
 +
 +void setup() {
 +  // pin 13 OUTPUT
 +  pinMode(led, OUTPUT);
 +
 +  //Initialize Serial Monitor
 +  Serial.begin(9600);
 +  //Initialize Bluetooth Serial Port
 +  hc06.begin(115200);
 +}
 +void loop() {
 +  //Read data from HC06
 +  while (hc06.available() > 0) {
 +    cmd += (char)hc06.read();
 +  }
 +  //Select function with cmd
 +  if (cmd != "") {
 +    Serial.print("Command recieved : ");
 +    Serial.println(cmd);
 +    // We expect ON or OFF from bluetooth
 +    if (cmd == "ON") {
 +      Serial.println("Function is on");
 +      digitalWrite(led, HIGH); // alumer la led
 +      isBlink = false; // arrêter le clignotement
 +    } else if (cmd == "OFF") {
 +      Serial.println("Function is off");
 +      digitalWrite(led, LOW); // éteindre la led
 +      isBlink = false; // arrêter le clignotement
 +    } else {
 +      // convertir la comande en un entier
 +      int x = cmd.toInt(); // conversion de la chaine de caractère en un entier
 +      if (x >= 0 && x <= 10000) { // si la commande est un nombre entre 0 et 10000 (soit 10s)
 +        Tblink = x;
 +        clignoterLed(13, x, x);
 +        isBlink=true;
 +      }
 +      else {
 +        Serial.println("Function is off by default");
 +      }
 +    }
 +    cmd = ""; //reset cmd
 +  }
 +  // gestion du clignotement
 +  if (isBlink) {
 +    clignoterLed(led,Tblink,Tblink);
 +  }
 +
 +  // Simulate sensor measurement
 +  sensor_val = (float)random(256); // random number between 0 and 255
 +
 +  //Write sensor data to HC06
 +  hc06.print(sensor_val);
 +  delay(100);
 +}
 +
 +void clignoterLed(int led, int Ta, int Te) { // led : patte connécéet à la led, Ta: temps d'allumage, Te: temps led éteinte
 +  digitalWrite(led, HIGH);
 +  delay(Ta);
 +  digitalWrite(led, LOW);
 +  delay(Te);
 +}
  
 </code> </code>
 +
 +
 +
 ====== Carte Arduino Nano BLE ====== ====== Carte Arduino Nano BLE ======
  
wiki/tutoriels/arduino/module-bleutooth.1652711512.txt.gz · Dernière modification: 2022/05/16 16:31 de damien.muti