Bonjour, bonsoir à tous !
Alors voila j'ai pour projet de faire un robot pompier qui devra etre capable de détecter un départ de feu et de l'éteindre de façon autonome.
Pour cela j'ai un capteur d'humidité, de température, un détecteur de flamme , des Arduino (Uno) , des afficheurs LCD, un relais, une pompe à eau ...
Sur mon Arduino 1) j'ai branché mon capteur de température et mon détecteur de flamme , ceux ci affichent les valeurs sur le LCD 1) , j'ai les programmes qui marchent , le problemes n'est pas la
Sur mon Arduino 2) j'ai branché mon capteur d'humidité qui envoie des données au LCD 2) , ça marche le problème n'est pas la non plus
J'ai connéecté mes deux Arduino entre elles en laison série, Arduino 1) c'est le maitre, elle envoie des information (des 1 ou des 0) sur le moniteurs série de mon Arduino 2) qui est l'esclave.
Je dois faire fonctionner ma pompe à eau avec un relai (alimentation externe car l'Arduino ne fourni pas assez de puissance ) branché sur ma Arduino 2) et sur mon alimentation.
Ce que j'aimerai faire, c'est lorsque je reçois un 1 par Arduino 1) en série, le relai passe à 1 egalement et active la pompe à eau et lorsque je reçois un 0, le relai reste fermé à 0 et la pompe à eeau ne s'active pas : il est la mon probleme
voici le code
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 #include<SoftwareSerial.h> SoftwareSerial mySerial (2,3); // RX, TX #include <LiquidCrystal.h> LiquidCrystal lcd (8,9,4,5,6,7); int a; // je cree une variable void setup() { lcd.begin(16,2); Serial.begin(57600); mySerial.begin(4800); } void loop() { if (mySerial.available()) //je lis ce que je recois sur mon moniteur { Serial.write(mySerial.read()); // je l'ecris sur mon moniteur } if (Serial.available()); { mySerial.write(Serial.read()); } a = Serial.read(); // je stocke les donnees de mon moniteur dans ma variable a if(a==1) // si je recois un 1 { relai active// j'ouvre le relai et la pompe a eau s'active } else { relai pas activé // si je recois un 0 le relai reste ferme et la pompe ne s'active pas } return relai; }
Voila donc le code en laison série partie esclave , ce qu'il ya en jaune est évidemment faux, ce n'est pas du code Arduino, mais c'est la condition que j'aimerai obtenir
Tout ce long message pour quoi précisement ?
Eh bien : Comment activer un relai avec Arduino en recevant des 1 ou 0 en série puis créer a partir de la une condition (ici 'est declancher ma pompe à eau ).
Voila j'espere que je n'ai pas été trop trop trop long et que j'ai été clair, si ce n'est pas le cas, et que vous n'avez pas bien compris mon problème, n'hésiter pas a me le faire remarquer !
Partager