Bonjour aux grands experts, je suis débutant dans le projet arduino, je veux réaliser deux projets :
- automatisation de feu de circulation aux carrefour,
- l'arrosage automatique
Merci d'avance pour votre aide
Version imprimable
Bonjour aux grands experts, je suis débutant dans le projet arduino, je veux réaliser deux projets :
- automatisation de feu de circulation aux carrefour,
- l'arrosage automatique
Merci d'avance pour votre aide
Bonjour
Ce sont des projets scolaires généralement.
Postez vos essais et on vous aidera à debugger
Merci beaucoup monsieur, voici ce que j'ai fait pour l'arrosage
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 int digitalPin = 4; // pour le relais int analogPin = A0; // pour le capteur de lhumidité du sol int digitalVal; // digital readings int analogVal; //analog readings void setup() { pinMode(digitalPin, OUTPUT); digitalWrite(digitalPin, LOW); } void loop() { analogVal = analogRead(analogPin);//lire la valeur retournée par le capteur de lhumidité if (analogVal<400){//si la capteur de lhumidité retourne une valeur<500 digitalWrite(digitalPin, HIGH);//La pompe à eau arrose la plante } else { // sinon digitalWrite(digitalPin, LOW);//La //La pompe à eau arrête larrosage } delay(100); }
En première approche ça doit fonctionner si la partie câblage de la pompe est bien réalisé et que le capteur retourne une petite valeur quand c’est sec (les commentaires sont mieux quand ils sont utiles plutôt que différents de ce que dit le code)
Pouvez vous décrire la partie matérielle?
Appuyez sur ctrl-T dans l’IDE pour indented le code, ça aide pour la lisibilité
Bonjour Mohamed
J'ai testé ton programme, il fonctionne très bien.
N'oublies pas d'indenter ton programme (Outils/Formatage automatique ou Ctrl T), ça aide nettement pour la lecture.
Une autre remarque concernant l'attribution de nom à tes variables, je te mets ton programme "retouché" par mes soins.
Ca rend le programme plus facile à suivre.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 int relaisPin = 4; // pour le relais int capteurHumiditePin = A0; // pour le capteur de lhumidité du sol int digitalVal; // digital readings int capteurHumiditeValeur; //analog readings void setup() { pinMode(relaisPin, OUTPUT); digitalWrite(relaisPin, LOW); } void loop() { capteurHumiditeValeur = analogRead(capteurHumiditePin); if (capteurHumiditeValeur < 400) { //si la capteur de lhumidité retourne une valeur<500 digitalWrite(relaisPin, HIGH);//La pompe à eau arrose la plante } else { // sinon digitalWrite(relaisPin, LOW);//La //La pompe à eau arrête larrosage } delay(100); }
Du fait de noms plus explicites, la remarque devient presque inutile.Code:
1
2
3 capteurHumiditeValeur = analogRead(capteurHumiditePin); // est plus facile à comprendre que analogVal = analogRead(analogPin);//lire la valeur retournée par le capteur de lhumidité
Cette méthode d'attribution de noms de variables n'est, bien sûre, pas la seule, il y a autant de méthodes que de programmeurs:?
Cordialement
jpbbricole
Merci beaucoup mon grand
Et maintenant pour une circulation à quatre voies c'est-à-dire pour le feu de circulation aux carrefour , ça se passe comment s'il vous plaît ?