ตามแผนผังข้างต้น ต้องการจะให้โหมด Timer รันในทั้ง auto และ manual
-
Timer 1 On Auto On Mode (open1)
-
Timer 1 On Manual On Mode (open2)
-
Timer 1 Off Auto Mode (close1)
-
Timer 1 Off Manual Off Mode (close2)
ซึ่งในฟังชั่นที่ 4 ข้อ ข้อ 2 - 4 ทำงานได้ปกติแล้ว ติดตรงฟังชั่นที่ 1 คือ
มีเงื่อนไข (auto_on == true) ที่ซ้ำกันอยู่ ระบบ Timer เลยไม่ทำงาน
มีวิธีแก้ไขยังไงบ้างครับ
Timer จะเป็นโหมดย่อย ๆ ในแต่ละโหมด เมื่อเวลา Timer หมดลง ระบบจะกลับขึ้นไปสู่โหมดเดิม
ที่เป็นปัญหาอยู่ตอนนี้ คือ ช่องสีส้ม ที่ติดเงื่อนไขใน autoMode :
autoMode จะทำงานตามเงื่อนไข auto_on = true และค่าของเซ็นเซอร์ คือ
ถ้า <= ค่าที่ตั้งไว้ จะเป็น autoOnMode
ถ้า > ค่าที่ตั้งไว้ จะเป็น autoOffMode
Remy_Martin
(Permpol Thanapunnamas)
5
กระทู้นี้เป็นไงบ้างครับอัพเดทกันหน่อย
สรุป เปลี่ยนเป็นแบบนี้แล้วครับ
state 0 = off mode
state 1 = auto mode
state 2 = manual mode
เอา Timer ไปไว้ใน state 0 ซึ่งคือ off mode
เหตุผลที่พยายามจะทำโหมด Timer ให้ทำงานแบบนี้
ก็เพื่อป้องกันไม่ให้ Timer รันในโหมดต่าง ๆ (Auto/Manual)
เพราะบางครั้ง อาจเผลอตั้งเวลา Timer ไว้ แล้วพอหมดเวลา มันจะไม่กลับเข้าไปในโหมดก่อนหน้า…
1 Likes
Remy_Martin
(Permpol Thanapunnamas)
7
เยี่ยมครับ ถ้าได้ตามที่ต้องการก็โอเคเลย