#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "DHT.h"
#include "WiFi.h"
/*define ___ */
#define LDR 14
#define PIR 2
#define LED 5
#define LEDB 33
#define DHTPIN 21
#define DHTTYPE DHT22
/* déclaration globale */
int valPIR = 0;
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 16, 2);
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// put your setup code here, to run once:
dht.begin();
pinMode(LDR , INPUT);
pinMode(PIR, INPUT);
pinMode(LED, OUTPUT);
pinMode(LEDB, OUTPUT);
Serial.begin(9600);
LCD.init();
LCD.backlight();
LCD.setCursor(0, 0);
LCD.println("welcom ");
WiFi.mode(WIFI_STA);
Serial.print("Connecting to WiFi");
WiFi.begin("Wokwi-GUEST", "", 6);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.println(" Connected!");
}
void loop() {
LCD.clear();
Serial.println("");
if (digitalRead(LDR) == LOW) {
Serial.println("Light!");
LCD.setCursor(0, 0);
LCD.println("Light ");
digitalWrite(LED, LOW);
}
else
{
Serial.println("Dark ");
LCD.setCursor(0, 0);
LCD.println("Dark ");
digitalWrite(LED, HIGH);
}
valPIR = digitalRead(PIR);
if(valPIR == HIGH)
{
Serial.println("Détection de mouvement!");
LCD.setCursor(0, 1);
LCD.println("dtect MVT ");
digitalWrite(LEDB, HIGH);
}
else
{
Serial.println("Fin du mouvement!");
LCD.setCursor(0, 1);
LCD.println("Fin de MVT ");
digitalWrite(LEDB, LOW);
}
float h = dht.readHumidity();
float t = dht.readTemperature();
delay(500);
LCD.clear();
Serial.print(F("Humidity: "));
Serial.print(h);
LCD.setCursor(0, 0);
LCD.println("Hum: ");
LCD.setCursor(5, 0);
LCD.println(h);
LCD.setCursor(10, 0);
LCD.println("%");
Serial.print(F("% Temperature: "));
Serial.print(t);
LCD.setCursor(0, 1);
LCD.println("temp: ");
LCD.setCursor(6, 1);
LCD.println(t);
LCD.setCursor(12, 1);
LCD.println("deg");
Serial.println(F("°C"));
//delay(500);
//digitalWrite(LED, LOW);
delay(500);
}