Bonjour, dans le cadre d'un TPE je suis censé créer une application qui marche en bluetooth afin de controler des lumières à distance (domotique) le problème est que ça ne marche pas et je pense que le problème viens de mon code mais j'ai beau me relire je ne vois aucune erreur et mes professeurs sont dans l'incapacité de m'aider pouvez vous m'éguiller svp :
#include <Servo.h> //servo library
#include <SoftwareSerial.h> // TX RX software library for bluetooth
Servo servoPorte; // servo name
String messageRecu; //
SoftwareSerial bluetooth(10,9); // Déclaration du module bluetooth au port 9 et 10
int Chauffage1=11; // Attach led to pin correspondant
int Chauffage2=13;
int Chauffage3=8;
int Lumiere1=3;
int Lumiere2=6;
int Lumiere3=4;
void setup()
{
servoPorte.attach(12); // attach servo signal wire to pin 12
Serial.begin(115200); // initialisation de la communication //Setup usb serial connection to computer
bluetooth.begin(115200); // initalisation du Bluetooth //Setup Bluetooth serial connection to android
pinMode(Chauffage1, OUTPUT); //Signale à l’Arduino que la connexion doit pouvoir envoyer du courant
pinMode(Chauffage2, OUTPUT);
pinMode(Chauffage3, OUTPUT);
pinMode(Lumiere1, OUTPUT);
pinMode(Lumiere2, OUTPUT);
pinMode(Lumiere3, OUTPUT);
digitalWrite(Chauffage1, LOW); //Demande à l’Arduino d’envoyer du courant dans la connexion (au cas ou led allumer demande d'éteindre)
digitalWrite(Chauffage2, LOW);
digitalWrite(Chauffage3, LOW);
digitalWrite(Lumiere1, LOW);
digitalWrite(Lumiere2, LOW);
digitalWrite(Lumiere3, LOW);
}
void loop()
{
while(bluetooth.available()) // Quand Android est connécté faire ...
{
delay(3); // délais de 3mms
char c = bluetooth.read(); // c prend la valeur de bluetooth (valeur envoyé de android)
messageRecu += c; // messageRecu prend la valeur de c
}
if (messageRecu.length() >0) // si messageRecu sup a 0 alors (
{
Serial.println(messageRecu);
if (messageRecu == "LUM1:1") //lumière1
{digitalWrite(Lumiere1, HIGH);}
if (messageRecu == "LUM1:0")
{digitalWrite(Lumiere1, LOW);}
if (messageRecu == "LUM2:1") //lumière2
{digitalWrite(Lumiere2, HIGH);}
if (messageRecu == "LUM2:0")
{digitalWrite(Lumiere2, LOW);}
if (messageRecu == "LUM3:1") //lumière3
{digitalWrite(Lumiere3, HIGH);}
if (messageRecu == "LUM3:0")
{digitalWrite(Lumiere3, LOW);}
if (messageRecu == "SERVO:1") //servoPorte
servoPorte.write(90); //Rotate
if (messageRecu == "SERVO:0")
servoPorte.write(0);
if (messageRecu == "CHA1:1") //chauffage1
{digitalWrite(Chauffage1, HIGH);}
if (messageRecu == "CHA1:0")
{digitalWrite(Chauffage1, LOW);}
if (messageRecu == "CHA2:1") //chauffage2
{digitalWrite(Chauffage1, HIGH);}
if (messageRecu == "CHA2:0")
{digitalWrite(Chauffage2, LOW);}
if (messageRecu == "CHA3:1") //chauffage3
{digitalWrite(Chauffage3, HIGH);}
if (messageRecu == "CHA3:0")
{digitalWrite(Chauffage3, LOW);}
messageRecu=""; // reatribution de la valeur messageRecu pour retour boucle
}
}
Je sais que je dois trouver la solution moi même mais je bloque vraiment depuis longtemps, il y a t'il une erreur ?
Merci de votre aide.
Erreur Code arduino
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.