#include <DHT.h>
#include <WiFi.h>
#include <HTTPClient.h>
#define DHTTYPE DHT22
#define DHTPIN1 14 // DHT22 ตัวแรกที่ใช้ขา 14
#define DHTPIN2 16 // DHT22 ตัวที่สองที่ใช้ขา 16
DHT dht1(DHTPIN1, DHTTYPE); // เซ็นเซอร์ที่ใช้ขา 14
DHT dht2(DHTPIN2, DHTTYPE); // เซ็นเซอร์ที่ใช้ขา 16
const char* ssid = "wokwi-GUEST";
const char* password = "";
String s = " ";
int manualSW = 0; // 0 : ไม่กด 1 : กด
// Google script Ip and required credentials
String GOOGLE_SCRIPT_ID = "AKfycbzlMg9pIc-SPg6irnR-t9_NkesLMas3HXfeZMUD2-OdiDblPvihYwDJDqLR0m1Hkog";
String GOOGLE_SCRIPT_URL = "https://script.google.com/macros/s/AKfycbzlMg9pIc-SPg6irnR-t9_NkesLMas3HXfeZMUD2-OdiDblPvihYwDJDqLR0m1Hkog/exec";
unsigned long previousTime1 = millis();
long timeInterval1 = 10000; // 10 วินาที
// Object http from HTTPClient
HTTPClient http;
void setup() {
Serial.begin(115200);
dht1.begin(); // เริ่มต้นการใช้งานเซ็นเซอร์ตัวแรก
dht2.begin(); // เริ่มต้นการใช้งานเซ็นเซอร์ตัวที่สอง
WiFi.begin(ssid, password, 6);
Serial.print("Connecting to WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.print("OK! IP=");
Serial.println(WiFi.localIP());
}
void loop() {
unsigned long currentTime = millis();
if(currentTime - previousTime1 >= timeInterval1){
previousTime1 = currentTime;
dataLogger();
}
delay(200);
}
void dataLogger() {
// Data to Send
float temp1 = dht1.readTemperature(); // อ่านอุณหภูมิจากเซ็นเซอร์ตัวแรก
float humi1 = dht1.readHumidity(); // อ่านความชื้นจากเซ็นเซอร์ตัวแรก
float temp2 = dht2.readTemperature(); // อ่านอุณหภูมิจากเซ็นเซอร์ตัวที่สอง
float humi2 = dht2.readHumidity(); // อ่านความชื้นจากเซ็นเซอร์ตัวที่สอง
// แสดงผลข้อมูลบน Serial Monitor
Serial.println("Sensor 1 - Temp: " + String(temp1) + " C, Humidity: " + String(humi1) + " %");
Serial.println("Sensor 2 - Temp: " + String(temp2) + " C, Humidity: " + String(humi2) + " %");
int string_lux = 30; // ค่าของ Lux อาจต้องเปลี่ยนตามที่ต้องการ
// URL & Data to Send
String urlFinal = GOOGLE_SCRIPT_URL + "?FIELD1=" + temp1 + "&FIELD2=" + humi1 + "&FIELD3=" + temp2 + "&FIELD4=" + humi2 + "&FIELD5=" + string_lux;
Serial.print("Post data to spreadsheet!");
Serial.println(urlFinal);
// Connect to WebApp with URL
unsigned long startTime = millis();
http.begin(urlFinal.c_str());
http.setFollowRedirects(HTTPC_STRICT_FOLLOW_REDIRECTS);
// Get HTTP status Code
int httpcode = http.GET();
Serial.print("HTTP status Code: ");
Serial.println(httpcode);
Serial.println(millis() - startTime);
// Getting response from webApp
String payload;
if (httpcode > 0){
payload = http.getString();
Serial.println("Payload: " + payload);
s = payload;
}
http.end();
}