Auteur Gaëlle LHERITEAU | Dernière modification 9/12/2019 par Clementflipo
Pas encore d'image
Arduino, plante, arrosage, Arduino fr none Technique 0
-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
Le programme est le suivant :
[code]
#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;
int humidite;
void setup()
{
Serial.begin (9600);
pinMode(10, OUTPUT);
pinMode(PinNumeriqueHumidite, INPUT);
}
void loop()
{
int readVal = analogRead(sensorPin);
double temperature = Thermistor(readVal);
int luminosite = analogRead(LIGHT_SENSOR);
Serial.println("Température = ");
Serial.print(temperature);
Serial.println(" degrés.");
delay(500);
humidite = digitalRead(PinNumeriqueHumidite);
Serial.println("Humidité = ");
Serial.println(humidite);
delay(500);
Serial.println("Luminosité = ");
Serial.println(luminosite);
delay(500);
if (humidite==1)
{
if ((temperature>2) && (temperature<=10))
{
if (luminosite>100)
{
digitalWrite(10, HIGH);
delay(500);
digitalWrite(10, LOW);
}
else
{
digitalWrite(10, LOW);
}
}
if ((temperature>10) && (temperature<25))
{
digitalWrite(10, HIGH); // Pompe allumée
delay (10000);
digitalWrite(10, LOW);
}
if (temperature>=25)
{
digitalWrite(10, HIGH);
delay(15000);
digitalWrite(10, LOW);
}
else
{
digitalWrite(10, LOW);
}
}
else
{
digitalWrite(10, LOW);
}
}
[/code]
Draft
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #