Fichier:Code Arduino : Différence entre versions

(Code Arduino Projet Plante)
 
 
(Une révision intermédiaire par un autre utilisateur non affichée)
Ligne 1 : Ligne 1 :
#include <math.h>
+
# include <math.h>
#define LIGHT_SENSOR A0
+
# define LIGHT_SENSOR A0
  
 
int sensorPin = A5;                      // Déclaration de la broche d'entrée de thermomètre
 
int sensorPin = A5;                      // Déclaration de la broche d'entrée de thermomètre

Version actuelle datée du 2 janvier 2019 à 18:15

  1. include <math.h>
  2. 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
         {
           digitalWrite(10, HIGH);
           delay(15000);
           digitalWrite(10, LOW);
         }
      else 
      {
           digitalWrite(10, LOW);    
      }
    }

else {

 digitalWrite(10, LOW);

} }

Les 2 pages suivantes utilisent ce fichier :