Bonjour,
j'ai posé un sujet tout a l'heure mais j'ai du mal m'expliquer.
Voilà en fait sur un DHT 11, l'humidité de fonctionne pas et me donne des valeur erronée malgré plusieurs échanges de capteur.
J'aimerais trouver une fonction sur la température qui me donnerai une alarme si +ou- 1 degré quelques soit la température.
Exemple il fait 20 degré, si il y a une chute brutale 19 degré, cela me déclancherai mon buzzz, pareil si augmentation de température.
J'ai intégré des leds et écran.
Voici mon bout de code.
Si vous auriez une solution cela m'arrangerai sincerement, c'est pour dans 5 jours.
Merci bien.
#include <SimpleDHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int pinDHT11 = A0;
const int buzzerPin = 13;
SimpleDHT11 dht11;
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(7, OUTPUT);
pinMode(6, OUTPUT);
lcd.begin(16, 2);
lcd.init(); // initialize the lcd
lcd.backlight();
}
void loop() {
byte temperature = 0;
byte humidity = 0;
lcd.setCursor(0, 0);
int err = SimpleDHTErrSuccess;
if ((err = dht11.read(pinDHT11, &temperature, &humidity, NULL)) != SimpleDHTErrSuccess)
{
Serial.print("Read DHT11 failed, err="); Serial.println(err);delay(1000);
return;
}
Serial.print("Lecture OK: ");
Serial.print(" TEMPERATURE "); Serial.print((int)temperature); Serial.print(" °C, ");
Serial.print(" HUMIDITE "); Serial.print((int)humidity); Serial.println(" %");
if (abs (temperature - ?????)
{
analogWrite(6, 255);
analogWrite(7, LOW);
tone(buzzerPin, 800);
}
else
{
analogWrite(6, LOW);
analogWrite(7, 255);
noTone (buzzerPin);
}
lcd.setCursor(2,0);
lcd.print("- G.F.E.P °" );
lcd.setCursor(0,1);
lcd.print((int)temperature);
lcd.print(" deg.");
lcd.setCursor(8,6);
lcd.print((int)humidity);
lcd.print("% HUMID");
delay(3000);
}
Point d'interrogation après if je ne sais pas comment gérer les timer et température,si vous avez une idée, merci beaucoup.