#include #include #include #include #include #include #include #include "DHT.h" WidgetLCD lcd(V1); int led = D0; LiquidCrystal_I2C lcd02(0x27, 16, 2); DHT dht; //DHT dht(DHTPIN, DHTTYPE); char auth[] = "x58XW6ks6yzvUxs_Pz3J8KMWE070VejW"; const char* ssid = "@Interface323"; const char* password = "11223344"; /* const char* ssid = "PONDSILVERTOWN_2.4G"; const char* password = "SILVER925"; */ char pass[] = "SILVER925"; const long utcOffsetInSeconds = 3600; char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; // Define NTP Client to get time WiFiUDP ntpUDP; NTPClient timeClient(ntpUDP, "0.th.pool.ntp.org", 25200); void setup(){ lcd02.begin(); //lcd02.backlight(); Serial.begin(115200); WiFi.begin(ssid, password); while ( WiFi.status() != WL_CONNECTED ) { delay ( 500 ); Serial.println ( "NOT CONNECTED" ); } timeClient.begin(); Blynk.begin(auth, ssid, pass,"elec.cmtc.ac.th",8080); pinMode(led,OUTPUT); //pinMode(sw1,INPUT_PULLUP); dht.setup(2); //dht.begin(); } void disp() { timeClient.update(); lcd02.clear(); lcd.clear(); lcd02.setCursor(0, 0); lcd.print(0, 0, daysOfTheWeek[timeClient.getDay()]); lcd02.print(daysOfTheWeek[timeClient.getDay()]); lcd02.setCursor(0, 1); lcd.print(0, 1,timeClient.getHours()); lcd02.print(timeClient.getHours()); lcd02.setCursor(2, 1); lcd.print(2, 1,":"); lcd02.print(":"); lcd02.setCursor(4, 1); lcd.print(4, 1,timeClient.getMinutes()); lcd02.print(timeClient.getMinutes()); lcd02.setCursor(6, 1); lcd.print(6, 1,":"); lcd02.print(":"); lcd02.setCursor(8, 1); lcd.print(8, 1,timeClient.getSeconds()); lcd02.print(timeClient.getSeconds()); } BLYNK_WRITE(V2) { int pinValue = param.asInt(); if (pinValue == 1){ digitalWrite(led,1); Blynk.virtualWrite(V3, 255); } else{ digitalWrite(led,0); Blynk.virtualWrite(V3, 0); } } void loop() { delay(dht.getMinimumSamplingPeriod()); float humidity = dht.getHumidity(); // Humid float temperature = dht.getTemperature(); // Temp Serial.print(dht.getStatusString()); Serial.print("\t"); Serial.print(humidity, 1); Serial.print("\t\t"); Serial.print(temperature, 1); Serial.print("\t\t"); Serial.println(dht.toFahrenheit(temperature), 1); Blynk.virtualWrite(V4,temperature); lcd.print(12, 1, temperature); lcd02.setCursor(12, 1); lcd02.print(temperature); timeClient.update(); Serial.print(daysOfTheWeek[timeClient.getDay()]); Serial.print(", "); Serial.print(timeClient.getHours()); Serial.print(":"); Serial.print(timeClient.getMinutes()); Serial.print(":"); Serial.println(timeClient.getSeconds()); //Serial.println(timeClient.getFormattedTime()); delay(300); Blynk.run(); disp(); }