Arrosage automatique avec capteurs d'humidité et luminosité

Bonjour à tous, Je découvre petit à petit la carte Arduino. Mais après plusieurs lecture de blog et de vidéo. Je ne suis pas en mesure de faire mon projet à 100%

Voilà se que je souhaite faire. Un arrosage automatique (du déjà vu). J'ai pour le moment un montage basic

  • Arduino
  • Relai
  • Pompe 12V
  • Batterie (9V) qui sera changé bientôt

Celui-ci met en marche la pompe toute les 24h durant 10 minutes. ci-joint le montage (vu sur un blog)

|500x400

void setup() {
      pinMode(13,OUTPUT); 

}

void loop() {
  // boucle:
  digitalWrite(13,HIGH);
delay (600000); //10mn d'arrosage
 digitalWrite(13,LOW); 
delay (86220000); //Se relance 24h après moins 3mn

}

Je souhaite le faire évoluer avec 1 capteur de luminosité et 1 capteur d'humidité. La version n°2 serait donc capable de dire au Arduino :

Quand la terre est sèche et qu'il fait nuit, tu mets en marche la pompe. Si l'une des données renvoie le contraire (trop clair ou sol humide) l'arrosage ne se met pas en marche

  • Arduino
  • Relai
  • Pompe 12V
  • Capteur d'humidité
  • Capteur de luminosité
  • Batterie
  • Panneau solaire
  • Régulateur de charge

Si vous avez de quoi me faire avancer je suis preneur. En vous remerciant d'avance ;)

Salut,

Au vu du fait que ce que tu cherches à faire a beaucoup été fait, je pense qu’en cherchant un peu plus sur le net tu trouvera sûrement des tutos et des forums sur lequels on t’expliquera en détail comment mettre en place chacunes de ces fonctionnalités.

Pour intégrer les capteurs d’humidité et de luminosité, ce sont des capteurs analogiques, tu devras donc utiliser la fonction “analogRead(pin);” à la place du “digitalWrite(pin, état);”. (ça aussi, on te l’expliquera bien meiux que moi si tu cherches plus que ça)

Pour enregistrer la valeur de l’humidité par exemple, tu devras donc déclarer une variable au dessus du setup et lui donner la valeur de la mesure analogique que tu veux faire, ça donne ça :

int ValeurHumidité; // Tu déclares tes variables
int ValeurLuminosité;

setup {

pinMode(pompe, OUTPUT);
pinMode(capteurHumidité, INPUT); // Tu déclares tes capteurs en entrée
pinMode(capteurLuminosité, INPUT);

}

loop {

ValeurHumidité = analogRead(pin); //Tu prends les mesures en les enregistrant dans leurs variables
ValeurLuminosité = …

}

Note : La valeur qui sera retournée sera propre au capteur que tu utilises, elle peut aller de 0 à 255 comme de 0 à 700 (pour les capteurs d’humidité intra terre par exemple)

Admettons que les deux plages analogiques vont de 0 à 700 (0 = sec/nuit, 700 = mouillé/jour) :

Par la suite tu devras utiliser une condition “if”, renseigne toi plus la dessus, tu pourras pas y échapper.

Du genre “si la valeur de l’humidité <= 150, ET que la valeur de la luminosité <=150, alors faire telle ou telle action”

Traduction code (à mettre dans le loop en dessous de la prise de mesures, évidemment) :

if (ValeurHumidite <=150 && ValeurLuminosite <= 150) {

// Si ces conditions s’appliquent, alors ce qui suit est executé :

digitalWrite(pompe, HIGH); //Tu actives la pompe
delay(temps d’arrosage);
digitalWrite(pompe, LOW); // Tu éteins la pompe

} // Fin de la condition

Ton programme est fini.

J’ai du temps à foison donc je t’explique tout ça, mais c’est tellement facile de trouver ça sur des tutos que personne d’autre ne te répondra comme ça…

C’est bien de demander de l’aide sur des forums, mais il faut d’abord avoir passé plus de temps à chercher par sois même !

T’as tout ce qu’il te faut, maintenant intéresse toi à tout ça en te documentant comme un grand.

Un grand merci. Je vais lire et relire testé encore et encore. Je suis dessus depuis 1 semaine. Je trouve le Arduino tellement intéressant avec de nombreuse possibilité de création

Salut ,

plutot que de dire je vais arroser la nuit avec un capteur de luminosité , il est aussi possible de de dire j ' arrose entre telle heure et telle heure avec un DS3231 .

ca permet des choses plus precises , comme pendant les heures creuse , ou bien a minuit etc ...

c ' est au choix :)

Et en plus de ne pas arroser l'hiver :)

iznobe: Salut ,

plutot que de dire je vais arroser la nuit avec un capteur de luminosité , il est aussi possible de de dire j ' arrose entre telle heure et telle heure avec un DS3231 .

ca permet des choses plus precises , comme pendant les heures creuse , ou bien a minuit etc ...

c ' est au choix :)

Oui j'ai vu ça, mais j'avais pas ceci dans mon kit.

hbachetti: Et en plus de ne pas arroser l'hiver :)

Oui la base. J'étais paysagiste avant donc ça je gère ;)