lock มันด้วย bool ครับให้มันวิ่งผ่าน เงื่อนไขนี้แค่ครั้งเดียว จนกว่าจะ เป็น high เพื่อเคลียร์ค่า รอกลับมาทำใหม่อีกครั้งเมื่อ เป็น low
#include <TridentTD_LineNotify.h>
#define sensor1 D1
#define sensor2 D2
#define sensor3 D3
#define sensor4 D4
#define sensor5 D5
#define sensor6 D6
#define sensor7 D7
#define sensor8 D8
#define SSID "xxxx-maintenance"
#define PASSWORD "6xxxxxxxxx8163"
#define LINE_TOKEN "F29yqWzvo8Mfvvrha"
int i;
bool lock1 = false;
bool lock2 = false;
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(400); }
Serial.printf("\nWiFi connected\nIP : ");
Serial.println(WiFi.localIP());
pinMode(sensor1,INPUT_PULLUP);
pinMode(sensor2,INPUT_PULLUP);
pinMode(sensor3,INPUT_PULLUP);
pinMode(sensor4,INPUT_PULLUP);
pinMode(sensor5,INPUT_PULLUP);
pinMode(sensor6,INPUT_PULLUP);
pinMode(sensor7,INPUT_PULLUP);
pinMode(sensor8,INPUT_PULLUP);
LINE.setToken(LINE_TOKEN);
LINE.notify("System Start Ready");
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(sensor1)==LOW){
if(lock1 == false){
LINE.notify("พบการบุกรุกจุดที่ 1");
Serial.println("พบการบุกรุกจุดที่ 1");
lock1 = true;
}
delay(5);
}
else
{
lock1 = false;
}
if(digitalRead(sensor2)==LOW){
if(lock2 == false){
LINE.notify("พบการบุกรุกจุดที่ 2");
Serial.println("พบการบุกรุกจุดที่ 2");
lock2 = true;
}
delay(5);
}else{
lock2 = false;
}
}