| 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:34] 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:// | * [[https:// | ||
| - | == Programme == | + | == Programme |
| + | |||
| + | Ce Programme permet d' | ||
| - | Il faut ensuite téléverser le code suivant sur la carte Arduino : | ||
| < | < | ||
| + | |||
| #include < | #include < | ||
| 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); | ||
| // | // | ||
| - | 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 == " | if (cmd == " | ||
| Serial.println(" | Serial.println(" | ||
| - | 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 == " | } else if (cmd == " | ||
| Serial.println(" | Serial.println(" | ||
| - | 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: | ||
| </ | </ | ||
| + | |||
| + | |||
| + | |||
| Le code Arduino est téléchargeable ici : | Le code Arduino est téléchargeable ici : | ||
| Ligne 621: | Ligne 626: | ||
| return 0; | return 0; | ||
| } | } | ||
| + | </ | ||
| + | ===== Programme de test du module ===== | ||
| + | |||
| + | Ce Programme permet d' | ||
| + | |||
| + | |||
| + | < | ||
| + | |||
| + | #include < | ||
| + | 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, | ||
| + | |||
| + | // | ||
| + | Serial.begin(9600); | ||
| + | // | ||
| + | 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(" | ||
| + | Serial.println(cmd); | ||
| + | // We expect ON or OFF from bluetooth | ||
| + | if (cmd == " | ||
| + | Serial.println(" | ||
| + | digitalWrite(led, | ||
| + | isBlink = false; // arrêter le clignotement | ||
| + | } else if (cmd == " | ||
| + | Serial.println(" | ||
| + | digitalWrite(led, | ||
| + | isBlink = false; // arrêter le clignotement | ||
| + | } else { | ||
| + | // convertir la comande en un entier | ||
| + | int x = cmd.toInt(); | ||
| + | if (x >= 0 && x <= 10000) { // si la commande est un nombre entre 0 et 10000 (soit 10s) | ||
| + | Tblink = x; | ||
| + | clignoterLed(13, | ||
| + | isBlink=true; | ||
| + | } | ||
| + | else { | ||
| + | Serial.println(" | ||
| + | } | ||
| + | } | ||
| + | cmd = ""; | ||
| + | } | ||
| + | // gestion du clignotement | ||
| + | if (isBlink) { | ||
| + | clignoterLed(led, | ||
| + | } | ||
| + | |||
| + | // Simulate sensor measurement | ||
| + | sensor_val = (float)random(256); | ||
| + | |||
| + | //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' | ||
| + | digitalWrite(led, | ||
| + | delay(Ta); | ||
| + | digitalWrite(led, | ||
| + | delay(Te); | ||
| + | } | ||
| </ | </ | ||
| + | |||
| + | |||
| + | |||
| ====== Carte Arduino Nano BLE ====== | ====== Carte Arduino Nano BLE ====== | ||