Advertisement
Guest User

Untitled

a guest
Feb 20th, 2020
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.74 KB | None | 0 0
  1. //**************************************************************************************************************************************************************************
  2. //********************************************************* Démo commande Bluetooth v1.0 - Carte Uno (com22) ***************************************************************
  3. //**************************************************************************************************************************************************************************
  4. #include <SoftwareSerial.h> // Librairie pour le gestion série du module Bluetooth
  5.  
  6. #define BrocheBuzzer 5 // Broche du Buzzer 5v
  7. #define BrocheLedBleue 2 // Broche de la Led bleue
  8. #define BrocheLedRouge 3 // Broche de la Led rouge
  9. #define BrocheLedVerte 4 // Broche de la Led verte
  10.  
  11. String StringMessageBT = ""; // Chaine de caractères reçus par bluetooth
  12.  
  13. boolean etatLedBleue = LOW; // Indicateur de l'état courant de la led bleue
  14. boolean LastetatLedBleue = LOW; // Indicateur du dernier état courant de la led bleue
  15. boolean etatLedRouge = LOW; // Indicateur de l'état courant de la led rouge
  16. boolean LastetatLedRouge = LOW; // Indicateur du dernier état courant de la led rouge
  17. boolean etatLedVerte = LOW; // Indicateur de l'état courant de la led verte
  18. boolean LastetatLedVerte = LOW; // Indicateur du dernier état courant de la led verte
  19. boolean etatBuzzer = LOW; // Indicateur de l'état courant du buzzer
  20.  
  21. SoftwareSerial BluetoothSerie(10, 11); // Crée l'objet "BluetoothSerie" (TXD BT sur broche 10 Arduino (RX), RXD BT sur broche 11 (TX)Arduino)
  22.  
  23. void setup()
  24. {
  25. Serial.begin(9600); // Démarre la communication série avec la console
  26. BluetoothSerie.begin(9600); // Démarre le port de communication avec le module Bluetooth HC06
  27.  
  28. pinMode(BrocheBuzzer, OUTPUT); // Configure les broches en sorties
  29. pinMode(BrocheLedBleue, OUTPUT);
  30. pinMode(BrocheLedRouge, OUTPUT);
  31. pinMode(BrocheLedVerte, OUTPUT);
  32.  
  33. delay(1000); // Temporise une seconde
  34.  
  35. Buzzer(20, 0, 1); // Active le buzzer 20ms
  36.  
  37. //**************************************************************************************************************************************************************************
  38. }
  39.  
  40. void loop()
  41. {
  42. //**************************************************************************************************************************************************************************
  43. //********************************************************************************************************************* // COMMUNICATION SERIE AVEC LE MODULE BLUETOOTH HC06
  44. if (BluetoothSerie.available() > 0) // ****************************************************************************** // S'il y a des données disponibles sur le module bluetooth
  45. {
  46. while (BluetoothSerie.available() > 0) // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // Tant qu'il y a des données disponibles
  47. {
  48. char c = BluetoothSerie.read(); // Lecture d'un caractère à la fois
  49. delay(1);
  50. //Serial.println(c); // Débug
  51. if (c == -87) {StringMessageBT += "é";} else if (c == -88) {StringMessageBT += "è";} // -------------------- // Gestion des caractères accentués
  52. else if (c == -86) {StringMessageBT += "ê";} else if (c == -85) {StringMessageBT += "ë";}
  53. else if (c == -96) {StringMessageBT += "à";} else if (c == -71) {StringMessageBT += "ù";}
  54. else if (c == -68) {StringMessageBT += "ü";} else if (c == -69) {StringMessageBT += "û";}
  55. else if (c == -81) {StringMessageBT += "ï";} else if (c == -82) {StringMessageBT += "î";}
  56. else if (c == -94) {StringMessageBT += "â";}
  57. if (c < 32 || c == -61) continue;
  58. StringMessageBT += c; // Stocke le caractère dans "StringMessageBT"
  59. }
  60. //Serial.println(StringMessageBT); // Débug
  61.  
  62. if (StringMessageBT == "ledbleueon") {etatLedBleue = HIGH;} // ---------------------------------------------- // Exécute les ordres reçus par bluetooth
  63. else if (StringMessageBT == "ledbleueoff") {etatLedBleue = LOW;}
  64. else if (StringMessageBT == "ledrougeon") {etatLedRouge = HIGH;}
  65. else if (StringMessageBT == "ledrougeoff") {etatLedRouge = LOW;}
  66. else if (StringMessageBT == "ledverteon") {etatLedVerte = HIGH;}
  67. else if (StringMessageBT == "ledverteoff") {etatLedVerte = LOW;}
  68. else if (StringMessageBT == "buzzeron") {etatBuzzer = HIGH;}
  69.  
  70. StringMessageBT = ""; // Réinitialise la chaine de caractères reçus en bluetooth
  71. }
  72.  
  73. //**************************************************************************************************************************************************************************
  74. if (LastetatLedBleue != etatLedBleue) // **************************************************************************** // Si l'état de la led bleue a changé
  75. {
  76. if (etatLedBleue == HIGH) {digitalWrite(BrocheLedBleue, HIGH);} // +++++++++++++++++++++++++++++++++++++++++++ // Active la led bleue
  77. else if (etatLedBleue == LOW) {digitalWrite(BrocheLedBleue, LOW);} // ++++++++++++++++++++++++++++++++++++++++++++ // Désactive la led bleue
  78. LastetatLedBleue = etatLedBleue; // Mémorise le dernier état de la led bleue
  79. }
  80.  
  81. if (LastetatLedRouge != etatLedRouge) // **************************************************************************** // Si l'état de la led rouge a changé
  82. {
  83. if (etatLedRouge == HIGH) {digitalWrite(BrocheLedRouge, HIGH);} // +++++++++++++++++++++++++++++++++++++++++++ // Active la led rouge
  84. else if (etatLedRouge == LOW) {digitalWrite(BrocheLedRouge, LOW);} // ++++++++++++++++++++++++++++++++++++++++++++ // Désactive la led rouge
  85. LastetatLedRouge = etatLedRouge; // Mémorise le dernier état de la led rouge
  86. }
  87.  
  88. if (LastetatLedVerte != etatLedVerte) // **************************************************************************** // Si l'état de la led verte a changé
  89. {
  90. if (etatLedVerte == HIGH) {digitalWrite(BrocheLedVerte, HIGH);} // +++++++++++++++++++++++++++++++++++++++++++ // Active la led verte
  91. else if (etatLedVerte == LOW) {digitalWrite(BrocheLedVerte, LOW);} // ++++++++++++++++++++++++++++++++++++++++++++ // Désactive la led verte
  92. LastetatLedVerte = etatLedVerte; // Mémorise le dernier état de la led verte
  93. }
  94.  
  95. if (etatBuzzer) // ************************************************************************************************** // Si l'état du buzzer est activé
  96. {
  97. Buzzer(250, 0, 1); // Active le buzzer 250ms
  98. etatBuzzer = LOW; // Désactive l'indicateur d'état du buzzer
  99. }
  100.  
  101. //**************************************************************************************************************************************************************************
  102. }
  103.  
  104. //**************************************************************************************************************************************************************************
  105. //*** Fonction Gestion Buzzer **********************************************************************************************************************************************
  106. //**************************************************************************************************************************************************************************
  107. void Buzzer (int TempsH, int TempsL, int nb) // TempsH => délai buzzer ON, TempsL => délai buzzer OFF, nb => nombre de bips
  108. {
  109. for (int x = 1; x <= nb; x++) // ************************************************************************************ // Boucle le nombre de fois voulu passé par l'argument "int nb"
  110. {
  111. digitalWrite(BrocheBuzzer, HIGH); // Active le buzzer
  112. delay (TempsH); // Temporisation à l'état haut du buzzer pendant la durée passée par l'argument "int TempsH"
  113. digitalWrite(BrocheBuzzer, LOW); // Désactive le buzzer
  114. delay (TempsL); // Temporisation à l'état bas du buzzer pendant la durée passée par l'argument "int TempsL"
  115. }
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement