Bonjour,
Je débute sur Arduino et j'aimerais créé une alarme en cas de montée de température ou baisse sur une durée de 2 secondes.
Je suis sur un capteur DHT11 mais apparement l'humiditée ne fonctionne pas, 85% même en changeant de capteur.
J'ai donc décidé de créé mon alarme autour de la température mais sur un temps très bref.
Imaginons qu'il fasse 20 degré continu, j'aimerais faire déclanché mes leds et buzzer si hausse ou baisse de température sur une période de 2 sec maximum.
Voici une partie du code mais je ne sais pas comment le terminer.
Si vous pouviez m'aidez ça serait sympa.
#include <SimpleDHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int pinDHT11 = 9;
SimpleDHT11 dht11;
const int buzzerPin = 13;
void setup() {
pinMode (buzzerPin, OUTPUT);
Serial.begin(9600);
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 ( temperature >21)
tone(buzzerPin, 800);
{
analogWrite(6, 255);
analogWrite(7, LOW);
}
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);
}