Blynk ตั้ง Timer ในโหมด auto แต่ขัดกับเงื่อนไขก่อนหน้า

flow-program

ตามแผนผังข้างต้น ต้องการจะให้โหมด Timer รันในทั้ง auto และ manual

  1. Timer 1 On Auto On Mode (open1)

  2. Timer 1 On Manual On Mode (open2)

  3. Timer 1 Off Auto Mode (close1)

  4. Timer 1 Off Manual Off Mode (close2)

ซึ่งในฟังชั่นที่ 4 ข้อ ข้อ 2 - 4 ทำงานได้ปกติแล้ว ติดตรงฟังชั่นที่ 1 คือ

มีเงื่อนไข (auto_on == true) ที่ซ้ำกันอยู่ ระบบ Timer เลยไม่ทำงาน

ภาพหน้าจอ (53)

ภาพหน้าจอ (51)

ภาพหน้าจอ (52)

มีวิธีแก้ไขยังไงบ้างครับ

  1. ต้องเปลี่ยนจาก && เป็น || รึป่าวนะ ผมยังไม่เข้าใจว่าอะไรต้องทำงานก่อนกัน
  2. ทำไม่ต้องเอา auto_on == true ไปดักก่อนเข้า autoMode ()

Timer จะเป็นโหมดย่อย ๆ ในแต่ละโหมด เมื่อเวลา Timer หมดลง ระบบจะกลับขึ้นไปสู่โหมดเดิม

ที่เป็นปัญหาอยู่ตอนนี้ คือ ช่องสีส้ม ที่ติดเงื่อนไขใน autoMode :

autoMode จะทำงานตามเงื่อนไข auto_on = true และค่าของเซ็นเซอร์ คือ

ถ้า <= ค่าที่ตั้งไว้ จะเป็น autoOnMode
ถ้า > ค่าที่ตั้งไว้ จะเป็น autoOffMode

ต้องเอาโค้ตมาดูกันครับ