#include <DHTesp.h>
#define DHTPIN 32
DHTesp dht;
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
int pir =33;
int IP;
int potentiometer =35;
float val1 = 0 ;
float val2 =0;
#define TRIG_PIN 17
#define ECHO_PIN 16
void setup() {
dht.setup(DHTPIN, DHTesp::DHT22);
lcd.init();
lcd.clear();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print(" HELLO Teacher");
delay(1000);
lcd.clear();
Serial.begin(115200);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(potentiometer, INPUT);
pinMode(pir,INPUT);
}
void loop() {
float data, cm;
// Trigger the ultrasonic sensor
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
data = pulseIn(ECHO_PIN, HIGH);
cm = data * 0.034 / 2; // คำนวณระยะทาง
lcd.setCursor(0, 1);
lcd.print("D: = ");
lcd.print(cm);
lcd.print(" CM ");
delay(1000);
float h = dht.getHumidity();
float t = dht.getTemperature();
lcd.setCursor(0, 0);
lcd.print("T:=");
lcd.print(t);
lcd.setCursor(8, 0);
lcd.print(" H:=");
lcd.print(h);
val1 = analogRead(potentiometer);
val2 = map(val1,0,4095,0,5);
lcd.setCursor(0,2);
lcd.print("volt=");
lcd.print(val2);
lcd.print("V");
delay(1000);
IP=digitalRead(pir);
delay(100);
if(IP==1){
lcd.setCursor(0,3);
lcd.print("Detected! ");
delay(1000);
}
else{
lcd.setCursor(0,3);
lcd.print("Not found!");
delay(1000);
}
}