Arrosage automatique : Différence entre versions

(Page créée avec « {{ {{tntn|Tuto Details}} |SourceLanguage=none |Language=fr |IsTranslation=0 |Main_Picture=Arrosage_automatique_Plante.PNG |Licences=Attribution (CC BY) |Description=Fabric... »)
 
(update property name)
 
(3 révisions intermédiaires par un autre utilisateur non affichées)
Ligne 1 : Ligne 1 :
{{ {{tntn|Tuto Details}}
+
{{Tuto Details
|SourceLanguage=none
 
|Language=fr
 
|IsTranslation=0
 
 
|Main_Picture=Arrosage_automatique_Plante.PNG
 
|Main_Picture=Arrosage_automatique_Plante.PNG
 
|Licences=Attribution (CC BY)
 
|Licences=Attribution (CC BY)
Ligne 14 : Ligne 11 :
 
|Currency=EUR (€)
 
|Currency=EUR (€)
 
|Tags=Arduino, plante, arrosage
 
|Tags=Arduino, plante, arrosage
 +
|SourceLanguage=none
 +
|Language=fr
 +
|IsTranslation=0
 
}}
 
}}
{{ {{tntn|Introduction}}
+
{{Introduction
 
|Introduction=
 
|Introduction=
 
}}
 
}}
{{ {{tntn|Materials}}
+
{{Materials
 
|Step_Picture_00=Arrosage_automatique_Plante.PNG
 
|Step_Picture_00=Arrosage_automatique_Plante.PNG
 
|Material=-Arduino Uno 
 
|Material=-Arduino Uno 
Ligne 43 : Ligne 43 :
 
|Tools=
 
|Tools=
 
}}
 
}}
{{ {{tntn|Separator}}}}
+
{{Separator}}
{{ {{tntn|Tuto Step}}
+
{{Tuto Step
 
|Step_Title=Branchement de la Base Shield V2
 
|Step_Title=Branchement de la Base Shield V2
 
|Step_Content=Dans un premier temps, il faut commencer par brancher la carte Arduino et la Base Shield V2 ensemble tout simplement en les emboîtant l’un dans l’autre. Cela permet de faciliter les branchements lorsqu’il est nécessaire de brancher plusieurs capteurs et d’éviter de mettre en désordre les câbles entre eux.
 
|Step_Content=Dans un premier temps, il faut commencer par brancher la carte Arduino et la Base Shield V2 ensemble tout simplement en les emboîtant l’un dans l’autre. Cela permet de faciliter les branchements lorsqu’il est nécessaire de brancher plusieurs capteurs et d’éviter de mettre en désordre les câbles entre eux.
 
|Step_Picture_00=Arrosage_automatique_49158331_1882201165224217_374724527797567488_n.jpg
 
|Step_Picture_00=Arrosage_automatique_49158331_1882201165224217_374724527797567488_n.jpg
 
}}
 
}}
{{ {{tntn|Tuto Step}}
+
{{Tuto Step
 
|Step_Title=Utilisation de la breadboard
 
|Step_Title=Utilisation de la breadboard
 
|Step_Content=Branchement du breadboard (au niveau du "+") au signal 5V de carte Arduino (répand un même signal sur toute la ligne pour l’utiliser pour plusieurs capteurs différents)
 
|Step_Content=Branchement du breadboard (au niveau du "+") au signal 5V de carte Arduino (répand un même signal sur toute la ligne pour l’utiliser pour plusieurs capteurs différents)
 
|Step_Picture_00=Arrosage_automatique_48939691_2334402629911653_8401188139598610432_n.jpg
 
|Step_Picture_00=Arrosage_automatique_48939691_2334402629911653_8401188139598610432_n.jpg
 
}}
 
}}
{{ {{tntn|Tuto Step}}
+
{{Tuto Step
 
|Step_Title=Capteur de température
 
|Step_Title=Capteur de température
 
|Step_Content=Brancher le capteur directement sur le breadboard. Puis brancher le câble rouge (le plus à gauche) au 5V ; le câble noir (au centre) au GRD et le câble blanc (le plus à droite) à une entrée analogique (soit, pour nous, A5).
 
|Step_Content=Brancher le capteur directement sur le breadboard. Puis brancher le câble rouge (le plus à gauche) au 5V ; le câble noir (au centre) au GRD et le câble blanc (le plus à droite) à une entrée analogique (soit, pour nous, A5).
 
|Step_Picture_00=Arrosage_automatique_49155137_218858055689205_2179143836213706752_n.jpg
 
|Step_Picture_00=Arrosage_automatique_49155137_218858055689205_2179143836213706752_n.jpg
 
}}
 
}}
{{ {{tntn|Tuto Step}}
+
{{Tuto Step
 
|Step_Title=Capteur de luminosité
 
|Step_Title=Capteur de luminosité
 
|Step_Content=Brancher directement le capteur de luminosité avec une entrée analogique directe de la Base Shield A0.
 
|Step_Content=Brancher directement le capteur de luminosité avec une entrée analogique directe de la Base Shield A0.
 
|Step_Picture_00=Arrosage_automatique_49140285_205025803675905_2686143147590811648_n.jpg
 
|Step_Picture_00=Arrosage_automatique_49140285_205025803675905_2686143147590811648_n.jpg
 
}}
 
}}
{{ {{tntn|Tuto Step}}
+
{{Tuto Step
 
|Step_Title=Capteur d'humidité
 
|Step_Title=Capteur d'humidité
 
|Step_Content=Le capteur d'humidité utilisé contient à la fois un module (un capteur) et une platine de mesure (sous forme de fourche à plantée dans un sol). Il faut donc dans un premier temps, brancher le capteur à la platine de mesure en reliant deux fils entre eux deux (GND et signal). Puis, afin d'obtenir une valeur digitale, il faut brancher le capteur à la Base Shield de la façon suivante : 
 
|Step_Content=Le capteur d'humidité utilisé contient à la fois un module (un capteur) et une platine de mesure (sous forme de fourche à plantée dans un sol). Il faut donc dans un premier temps, brancher le capteur à la platine de mesure en reliant deux fils entre eux deux (GND et signal). Puis, afin d'obtenir une valeur digitale, il faut brancher le capteur à la Base Shield de la façon suivante : 
Ligne 75 : Ligne 75 :
 
|Step_Picture_00=Arrosage_automatique_49586759_366362850810959_1288259403027316736_n.jpg
 
|Step_Picture_00=Arrosage_automatique_49586759_366362850810959_1288259403027316736_n.jpg
 
}}
 
}}
{{ {{tntn|Tuto Step}}
+
{{Tuto Step
 
|Step_Title=Pompe
 
|Step_Title=Pompe
|Step_Content=Nous avons utilisé un relai Arduino dans le but de contrôler la mise en service de notre pompe. Dans un premier temps, il faut donc brancher ce relai à notre Base Shield comme suit : 
+
|Step_Content=Nous avons utilisé un relai dans le but de contrôler la mise en service de notre pompe. Dans un premier temps, il faut donc brancher ce relai à notre Base Shield comme suit : 
  
 
- VCC -> 5V [Breadboard]
 
- VCC -> 5V [Breadboard]
Ligne 84 : Ligne 84 :
  
 
- IN1 -> 10 [Broche d'entrée / sortie numérique Base Shield]
 
- IN1 -> 10 [Broche d'entrée / sortie numérique Base Shield]
 +
 +
Puis du relai à notre pompe, il faut les lier à l'aide d'un fil. Une alimentation est utilisée afin de fournir le potentiel nécessaire ; cette alimentation est donc branchée d'un côté au relai et de l'autre, à la pompe qui sera équipée de tuyaux afin de faire circuler l'eau.
 
|Step_Picture_00=Arrosage_automatique_49612667_338847076957866_4412401056311410688_n.jpg
 
|Step_Picture_00=Arrosage_automatique_49612667_338847076957866_4412401056311410688_n.jpg
 
}}
 
}}
{{ {{tntn|Notes}}
+
{{Tuto Step
 +
|Step_Title=Code Arduino
 +
|Step_Content=Sur Arduino, copier le code suivant :
 +
 
 +
<nowiki>#</nowiki>include <math.h>
 +
 
 +
<nowiki>#</nowiki>define LIGHT_SENSOR A0
 +
 
 +
int sensorPin = A5;                      // Déclaration de la broche d'entrée de thermomètre
 +
 
 +
double Thermistor(int RawADC) //Calcul température du capteur correspondant
 +
 
 +
{
 +
 
 +
    double Temp;
 +
 
 +
    Temp = log(10000.0 * ((1024.0 / RawADC - 1)));
 +
 
 +
    Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp )) * Temp );
 +
 
 +
    Temp = Temp - 227.15;            // conversion de degrés Kelvin en °C
 +
 
 +
    return Temp;
 +
 
 +
}
 +
 
 +
int PinNumeriqueHumidite=2;    // Broche Numérique mesurant l'humidité 
 +
 
 +
int humidite;
 +
 
 +
void setup() 
 +
 
 +
{
 +
 
 +
  Serial.begin (9600);                //Connexion série à 9600 baud
 +
 
 +
  pinMode(10, OUTPUT);         //Pin 10 en entrée numérique de la pompe
 +
 
 +
  pinMode(PinNumeriqueHumidite, INPUT);       //Pin 3 en entrée numérique du capteur humidité
 +
 
 +
}
 +
 
 +
void loop() 
 +
 
 +
{   
 +
 
 +
  int readVal = analogRead(sensorPin);                  //Lecture valeur analogique de la température
 +
 
 +
  double temperature =  Thermistor(readVal);
 +
 
 +
  int luminosite = analogRead(LIGHT_SENSOR);  //Lecture valeur numérique de la luminosité
 +
 
 +
  Serial.println("Température = ");                            //Affichage valeur température
 +
 
 +
  Serial.print(temperature);
 +
 
 +
  Serial.println(" degrés.");
 +
 
 +
  delay(500);  
 +
 
 +
  humidite = digitalRead(PinNumeriqueHumidite);  //Affichage valeur humidité 
 +
 
 +
  Serial.println("Humidité = ");
 +
 
 +
  Serial.println(humidite);
 +
 
 +
  delay(500);  
 +
 
 +
  Serial.println("Luminosité = ");                               //Affichage valeur luminosité
 +
 
 +
  Serial.println(luminosite);
 +
 
 +
  delay(500);
 +
 
 +
  if (humidite==1)                                                          //Condition pour sol sec
 +
 
 +
     {
 +
 
 +
       if ((temperature>2) && (temperature<=10))          //Condition arrosage pour 2°C<T<10°C 
 +
 
 +
          {
 +
 
 +
            if (luminosite>100)                                           //Condition pour luminosité>100
 +
 
 +
               {
 +
 
 +
                digitalWrite(10, HIGH);
 +
 
 +
                delay(500);
 +
 
 +
                digitalWrite(10, LOW);
 +
 
 +
               }
 +
 
 +
            else 
 +
 
 +
            {
 +
 
 +
              digitalWrite(10, LOW);
 +
 
 +
            }
 +
 
 +
          }              
 +
 
 +
       if ((temperature>10) && (temperature<25))         //Condition arrosage pour 10°C<T<25°C 
 +
 
 +
          {
 +
 
 +
            digitalWrite(10, HIGH);   // Pompe allumée
 +
 
 +
            delay (10000); 
 +
 
 +
            digitalWrite(10, LOW);      
 +
 
 +
          }
 +
 
 +
       if (temperature>=25)                                            //Condition arrosage pour T>25°C
 +
|Step_Picture_00=Arrosage_automatique_Capture.PNG
 +
}}
 +
{{Notes
 
|Notes=
 
|Notes=
 
}}
 
}}
{{ {{tntn|Tuto Status}}
+
{{Tuto Status
 
|Complete=Draft
 
|Complete=Draft
 
}}
 
}}

Version actuelle datée du 9 décembre 2019 à 11:24

Auteur avatarZoé Tran-Van | Dernière modification 9/12/2019 par Clementflipo

Arrosage automatique Plante.PNG
Fabrication et programmation d'un système d'arrosage automatique pour une plante avec Arduino

Matériaux

-Arduino Uno 

-Breadboard 

-Straps mâles et femelles 

-Base Shield V2 

-Tuyaux en Plastique 

-Pompe 

-Relai [SRD-05VDC-SL-C]

-Capteur d’humidité [YL-69]

-Capteur de température [KY-013]

-Capteur de luminosité [Grove – Light Sensor (P) V1.1]

-Alimentation de 12V

Outils

Étape 1 - Branchement de la Base Shield V2

Dans un premier temps, il faut commencer par brancher la carte Arduino et la Base Shield V2 ensemble tout simplement en les emboîtant l’un dans l’autre. Cela permet de faciliter les branchements lorsqu’il est nécessaire de brancher plusieurs capteurs et d’éviter de mettre en désordre les câbles entre eux.




Étape 2 - Utilisation de la breadboard

Branchement du breadboard (au niveau du "+") au signal 5V de carte Arduino (répand un même signal sur toute la ligne pour l’utiliser pour plusieurs capteurs différents)




Étape 3 - Capteur de température

Brancher le capteur directement sur le breadboard. Puis brancher le câble rouge (le plus à gauche) au 5V ; le câble noir (au centre) au GRD et le câble blanc (le plus à droite) à une entrée analogique (soit, pour nous, A5).




Étape 4 - Capteur de luminosité

Brancher directement le capteur de luminosité avec une entrée analogique directe de la Base Shield A0.




Étape 5 - Capteur d'humidité

Le capteur d'humidité utilisé contient à la fois un module (un capteur) et une platine de mesure (sous forme de fourche à plantée dans un sol). Il faut donc dans un premier temps, brancher le capteur à la platine de mesure en reliant deux fils entre eux deux (GND et signal). Puis, afin d'obtenir une valeur digitale, il faut brancher le capteur à la Base Shield de la façon suivante : 

- VCC -> 5V [Breadboard] 

- GND -> GND [Base Shield] 

- D0 -> Pin 3 Digitale [Base Shield]




Étape 6 - Pompe

Nous avons utilisé un relai dans le but de contrôler la mise en service de notre pompe. Dans un premier temps, il faut donc brancher ce relai à notre Base Shield comme suit : 

- VCC -> 5V [Breadboard]

- GND -> GND [Base Shield]

- IN1 -> 10 [Broche d'entrée / sortie numérique Base Shield]

Puis du relai à notre pompe, il faut les lier à l'aide d'un fil. Une alimentation est utilisée afin de fournir le potentiel nécessaire ; cette alimentation est donc branchée d'un côté au relai et de l'autre, à la pompe qui sera équipée de tuyaux afin de faire circuler l'eau.




Étape 7 - Code Arduino

Sur Arduino, copier le code suivant :

#include <math.h>

#define LIGHT_SENSOR A0

int sensorPin = A5;                      // Déclaration de la broche d'entrée de thermomètre

double Thermistor(int RawADC) //Calcul température du capteur correspondant

{

    double Temp;

    Temp = log(10000.0 * ((1024.0 / RawADC - 1)));

    Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp )) * Temp );

    Temp = Temp - 227.15;            // conversion de degrés Kelvin en °C

    return Temp;

}

int PinNumeriqueHumidite=2;    // Broche Numérique mesurant l'humidité 

int humidite;

void setup() 

{

  Serial.begin (9600);                //Connexion série à 9600 baud

  pinMode(10, OUTPUT);         //Pin 10 en entrée numérique de la pompe

  pinMode(PinNumeriqueHumidite, INPUT);       //Pin 3 en entrée numérique du capteur humidité

}

void loop() 

{   

  int readVal = analogRead(sensorPin);                  //Lecture valeur analogique de la température

  double temperature =  Thermistor(readVal);

  int luminosite = analogRead(LIGHT_SENSOR);  //Lecture valeur numérique de la luminosité

  Serial.println("Température = ");                            //Affichage valeur température

  Serial.print(temperature);

  Serial.println(" degrés.");

  delay(500);  

  humidite = digitalRead(PinNumeriqueHumidite);  //Affichage valeur humidité 

  Serial.println("Humidité = ");

  Serial.println(humidite);

  delay(500);  

  Serial.println("Luminosité = ");                               //Affichage valeur luminosité

  Serial.println(luminosite);

  delay(500);

  if (humidite==1)                                                          //Condition pour sol sec

     {

       if ((temperature>2) && (temperature<=10))          //Condition arrosage pour 2°C<T<10°C 

          {

            if (luminosite>100)                                           //Condition pour luminosité>100

               {

                digitalWrite(10, HIGH);

                delay(500);

                digitalWrite(10, LOW);

               }

            else 

            {

              digitalWrite(10, LOW);

            }

          }              

       if ((temperature>10) && (temperature<25))         //Condition arrosage pour 10°C<T<25°C 

          {

            digitalWrite(10, HIGH);   // Pompe allumée

            delay (10000); 

            digitalWrite(10, LOW);      

          }

       if (temperature>=25)                                            //Condition arrosage pour T>25°C




Commentaires

Draft