#include #include #include #include #include #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels #define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin) Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); #define LINE_TOKEN "AIDdBnEmtyuaoAG4qOL4fOkzA2kj7fDRcQN8WxDKK4E" int analogPin = D0; //ประกาศตัวแปร ให้ analogPin แทนขา analog ขาที่D0 int val = 0; boolean flag = true; void setup() { val = analogRead(analogPin); val = map(val, 0, 1023, 100, 0); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); Serial.begin(115200); WiFiManager wifiManager; wifiManager.setTimeout(180); if(!wifiManager.autoConnect("Soil-Moisture")) //=ชื่อ wifi { Serial.println("Failed to connect and hit timeout"); delay(3000); ESP.reset(); delay(5000); } WiFi.printDiag(Serial); Serial.println(); Serial.println("connected...OK"); //wifimanager LINE.setToken(LINE_TOKEN); } void loop() { val = analogRead(analogPin); val = map(val, 0, 1023, 100, 0); Serial.print("val = "); // พิมพ์ข้อมความส่งเข้าคอมพิวเตอร์ "val = " Serial.println(val); // พิมพ์ค่าของตัวแปร val Serial.println("%"); if (val >= 100) { display.setCursor(45,0); //oled display display.setTextSize(2); display.setTextColor(WHITE); display.println("Soil"); display.setCursor(20,15); display.setTextSize(2); display.setTextColor(WHITE); display.println("Moisture"); display.setCursor(30,40); //oled display display.setTextSize(3); display.setTextColor(WHITE); display.println(val); display.setCursor(70,40); display.setTextSize(3); display.println("%"); display.display(); display.clearDisplay(); } else if(val <= 1) { Serial.print(val); Serial.println("%"); LINE.notify("กรุณารดนํ้าด้วย"); flag = true; delay(200); display.setCursor(45,0); //oled display display.setTextSize(2); display.setTextColor(WHITE); display.println("Soil"); display.setCursor(20,15); display.setTextSize(2); display.setTextColor(WHITE); display.println("Moisture"); display.setCursor(30,40); //oled display display.setTextSize(3); display.setTextColor(WHITE); display.println(val); display.setCursor(70,40); display.setTextSize(3); display.println("%"); display.display(); display.clearDisplay(); } delay(200); }