Thanet_Totong (Thanet Totong) October 30, 2020, 7:15am #1
Lcd2333.ino (1.6 KB)
Thanet_Totong (Thanet Totong) October 30, 2020, 10:24am #2
#include <TridentTD_LineNotify.h>
#define SSID "Kk"
#define PASSWORD "ete16041n"
#define LINE_TOKEN "7c8VpxOiAukgJlmeKIyMvu1DK3HjsfISu8IkDlbf5tU"
#include <Servo.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
Servo myservo;
LiquidCrystal_I2C lcd(0x27, 16, 2);
int digitalPin = D3;
int digitalPin1 = D5;
int val = 0;
void setup()
{
Serial.begin(115200); Serial.println();
Serial.println(LINE.getVersion());
WiFi.begin(SSID, PASSWORD);
Serial.printf("WiFi connecting to %s\n", SSID);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(1000);
}
Serial.printf("\nWiFi connected\nIP : ");
Serial.println(WiFi.localIP());
LINE.setToken(LINE_TOKEN);
myservo.attach(D4);
pinMode(digitalPin, INPUT);
pinMode(digitalPin1, INPUT);
Serial.begin(9600);
}
void loop() {
val = digitalRead(digitalPin);
Serial.print("val = ");
Serial.println(val);
if (val == 1) {
myservo.write(90);
lcd.begin();
lcd.print("No");
lcd.setCursor(0, 1);
lcd.print("FOOD");
LINE.notify("กำลังเติมอาหาร");
}
else {
myservo.write(0);
lcd.begin();
lcd.print("CAT");
lcd.setCursor(0, 1);
lcd.print("Food");
LINE.notify("อาหารเต็มแล้ว");
delay(1000);
}
val = digitalRead(digitalPin1);
Serial.print("val = ");
Serial.println(val);
if (val == 0)
{
LINE.notify("ถังใกล้หมด");
}
else {
LINE.notify("อาหารเต็มถังแล้ว");
}
delay(1000);
}
}
Thanet_Totong (Thanet Totong) October 30, 2020, 7:21am #3
ปัญหาคือไลน์มันส่ง วนไปวนมาตลอดเวลา อยากให้ไลน์ส่งแค่ครั้งเดียวในแต่ละครั้ง แก้ยังไงบ้างครับ
PUYIOT October 30, 2020, 10:18am #4
ลองดูครับ @Remy_Martin ทำไว้แล้วครับ
Remy_Martin (Permpol Thanapunnamas) October 30, 2020, 1:15pm #5
ใน live ผมอธิบายไว้ด้วยครับ ลองดู