#include <WiFi.h>
#include <WiFiClient.h>
#include "DHTesp.h"
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
#define SPEAKER_PIN 14
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
const char* ssid = "Wokwi-GUEST";
//การประกาศสร้างตัวแปรเก็บ Username เครื่อข่าย WiFi ชื่อว่า ssid
const char* pass = "";
//การประกาศสร้างตัวแปรเก็บ Password ของเครื่อข่าย WiFi ชื่อว่า pass
int a=0;
int DHT_PIN = 12;
int Sw= 27;
int count ;
DHTesp dhtSensor;
String stMac;
String ip;
void setup() {
lcd.init();
lcd.backlight();
Serial.begin(115200);
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("Initializing WiFi...");
//lcd.clear();
Serial.println("Initializing WiFi...");
WiFi.mode(WIFI_STA);
Serial.println("Connecting to WiFi ");
lcd.setCursor(0, 1);
lcd.print("Connecting to WiFi");
lcd.clear();
WiFi.begin("Wokwi-GUEST", "");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
lcd.setCursor(0, 0);
lcd.print("WiFi connected");
lcd.clear();
Serial.println("WiFi connected");
Serial.println("IP address: ");
ip = WiFi.localIP().toString();
Serial.println(ip);
Serial.println(WiFi.macAddress());
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
pinMode(14, OUTPUT);
pinMode(15,OUTPUT);//ฮีตเตอร์
pinMode(2,OUTPUT);//พัดลม1
pinMode(4,OUTPUT);//พัดลม2
pinMode(5,OUTPUT);//ไอออน
pinMode(27,INPUT);
pinMode(26,OUTPUT);
}
void loop() {
int Switch = digitalRead(Sw);
float t = dhtSensor.getTemperature();
Serial.println("Temp: " + String(t) + "°C");
delay(1000);
Serial.println("---");
lcd.setCursor(0, 0);
lcd.print("Temp : "+String(t));
lcd.setCursor(0, 1);
lcd.print("Time : "+String(count));
if (Switch == 1) {
a=1;
}
if( a == 1){
count = count+1 ;
delay(1000);
Serial.println(count);
digitalWrite(26, HIGH);
if(count >=0 && count <=10){
if(t <46){
digitalWrite(15, HIGH);//ฮีตเตอร์
digitalWrite(4,LOW);//พัดลมดูดอากาศ
digitalWrite(2,LOW);//พัดลม
digitalWrite(5, HIGH);//ไอออน
}
else if (t >46){
digitalWrite(15, HIGH);//ฮีตเตอร์
digitalWrite(4,HIGH);//พัดลมดูดอากาศ
digitalWrite(2,LOW);//พัดลม
digitalWrite(5, HIGH);//ไอออน
}
}
else if (count >=11 && count <=20){
if(t <46){
digitalWrite(15,LOW );//ฮีตเตอร์
digitalWrite(4,LOW);//พัดลมดูดอากาศ
digitalWrite(2, LOW);//พัดลม
digitalWrite(5, HIGH );//ไอออน
}
else if (t >46){
digitalWrite(15,LOW );//ฮีตเตอร์
digitalWrite(4,LOW);//พัดลมดูดอากาศ
digitalWrite(2, LOW);//พัดลม
digitalWrite(5, HIGH );//ไอออน
}
}
else if (count >20 && count <=30){
if(t <46){
digitalWrite(15,LOW );//ฮีตเตอร์
digitalWrite(4, HIGH );//พัดลมดูดอากาศ
digitalWrite(2, LOW);//พัดลม
digitalWrite(5, LOW );//ไอออน
}
else if (t >46){
digitalWrite(15,LOW );//ฮีตเตอร์
digitalWrite(4, HIGH);//พัดลมดูดอากาศ
digitalWrite(2, LOW);//พัดลม
digitalWrite(5, LOW );//ไอออน
}
}
else if (count >30 && count <40){
if(t <46){
digitalWrite(15,LOW );//ฮีตเตอร์
digitalWrite(4,LOW );//พัดลมดูดอากาศ
digitalWrite(2,HIGH);//พัดลม
digitalWrite(5, LOW);//ไอออน
}
else if (t >46){
digitalWrite(15,LOW );//ฮีตเตอร์
digitalWrite(4,LOW );//พัดลมดูดอากาศ
digitalWrite(2,HIGH);//พัดลม
digitalWrite(5, LOW );//ไอออน
}
}
else if (count > 40){
if(t <46){
digitalWrite(15,LOW );//ฮีตเตอร์
digitalWrite(4,LOW );//พัดลมดูดอากาศ
digitalWrite(2,LOW);//พัดลม
digitalWrite(5, LOW );//ไอออน
tone(14,572,250);
delay(150);
tone(14,519,250);
delay(150);
tone(14,465,250);
delay(150);
a=0;
}
else if (t >46){
digitalWrite(15,LOW );//ฮีตเตอร์
digitalWrite(4,LOW );//พัดลมดูดอากาศ
digitalWrite(2,LOW);//พัดลม
digitalWrite(5, LOW );//ไอออน
tone(14,572);
delay(150);
tone(14,519);
delay(150);
tone(14,465);
delay(150);
a=0;
count=0;
}
}
}
else if ( Switch == 0)
{
digitalWrite(26, LOW);
digitalWrite(15,LOW);//ฮีตเตอร์
digitalWrite(4,LOW);//พัดลมดูดอากาศ
digitalWrite(2, LOW);//พัดลม
digitalWrite(5, LOW);//ไอออน
}
}