#include "OneWire.h" //blibliotèque gestion des capteurs sur un seul bus
#include "DallasTemperature.h" //Blibli gestion capteur température
OneWire oneWire(5); //Assignation du bus de donnée à la pin 5
DallasTemperature ds(&oneWire); //Connection du capteur de température au bus OneWire
int led = 2; //Assignation de la led à la pin 2
void setup() //fonction initiallisation
{
Serial.begin(9600); //initiallisation de la vitesse de communication Série
ds.begin(); //initiallisation du capteur de température
pinMode(led,OUTPUT); //Définition du pin de la led comme une sortie
}
void loop() //Fonction moteur, boucle infini
{
ds.requestTemperatures(); //Activation du capteur de température
int t = ds.getTempCByIndex(0); //Mesure et stockage de la valeur de la temp dans la variable t
Serial.print(t); //Affichage de la temperature dans la com Serie
Serial.println("°C");
if (t >= 40) //Condition temperature supérieur à 40°C
{
while (t >= 40) // boucle tant que la temperatur >40°C
{
Serial.println("Régime 40");
Serial.println("Boire !"); //Affichage Serie
digitalWrite(led,HIGH); // led on
delay(10000); //délai de 10s
digitalWrite(led,LOW); // led off
delay(30000); //Délais 30s (simulation 30 mn)
ds.requestTemperatures(); //Activation du capteur de temperature
t = ds.getTempCByIndex(0); //remesure de la temperature
}
}
else if ( t<40 && t>=30) // Condition temperature entre 30 et 40 °C
{
while (t<40 && t>=30) //Même boucle que précedemment seul les délais changent
{
Serial.println("Régime 30-40");
Serial.println("Boire !");
digitalWrite(led,HIGH);
delay(10000);
digitalWrite(led,LOW);
delay(45000); //Délais 45s (simulation 45 mn)
ds.requestTemperatures();
t = ds.getTempCByIndex(0);
}
}
else if ( t<30) // Condition temperature inférieur à 30°C
{
while (t<30) //Même boucle que précedemment seul les délais changent
{
Serial.println("Régime <30");
Serial.println("Boire !");
digitalWrite(led,HIGH);
delay(10000);
digitalWrite(led,LOW);
delay(60000); //Délais 60s (simulation 60 mn)
ds.requestTemperatures();
t = ds.getTempCByIndex(0);
}
}
delay(100);
}
Loading
ds18b20
ds18b20