การต่อใช้งานบอร์ด Wemos IoT 1AC

บอร์ด Wemos IoT 1AC เป็น 1 ใน 3 รุ่นในโมเดลบอร์ด Wemos IoT ได้แก่ Wemos IoT 1AC, Wemos IoT 2AC และ Wemos IoT 2DC ที่ออกแบบมาให้ขนาดพอดีกับกล่องกันน้ำ Leetech ขนาด 4×4 นิ้ว เพื่อใช้งานกับบอลวาล์วไฟฟ้าแบบ 220V 3 wire 2 control โดยเฉพาะ ข้อดีของบอลวาล์วประเภทนี้คือไม่ต้องจ่ายไฟเลี้ยงไว้ตลอดการทำงานแค่สั่งเปิดแล้วก็หยุดจ่ายไฟได้ หลักการทำงานคือใช้ Nuetral (N) ร่วมกัน และใช้ Line (L) ในการสั่งเปิดวาล์ว (Open) 1 เส้นและปิดวาล์ว (Close) อีก 1 เส้น วงจรนี้ป้องกันการจ่ายไฟมาที่ Open และ Close พร้อมกันโดยที่ GPIO13 จะเป็นตัวกำหนดเส้นทางว่า Line จะไปทางไหนได้เพียง 1 เส้นทาง ส่วน GPIO12 จะเป็นตัวปล่อยไฟให้ทำงานและหน่วงเวลาเพื่อปิดการจ่ายไฟ

ส่วนประกอบบนบอร์ด Wemos IoT 1AC

  1. ช่องต่อไฟเลี้ยงกระแสสลับ 220V
  2. ช่องต่อไฟออกไปยังบอลวาล์วไฟฟ้ามี 3 ขั้วคือ
    – Open : เปิดวาล์ว
    – Close : ปิดวาล์ว
    – N : Nuetral
  3. ช่องต่อปุ่มกดภายนอก มีทั้งหมด 1 ช่อง คือ GPIO0 ทำงานแบบ Active LOW
  4. ปุ่มกดภายใน มีทั้งหมด 1 ช่อง คือ GPIO0 ทำงานแบบ Active LOW
  5. ช่องต่อเซนเซอร์อื่นๆเพิ่มเติม ได้แก่ GPIO4, GPIO5, GPIO14 และ A0

พิกัดบอร์ด Wemos IoT 1AC :

โค้ดตัวอย่างสำหรับบอร์ด Wemos IoT 1AC

#define BUTTON1_PIN 0
#define RELAY1_PIN 12
#define RELAY2_PIN 13

bool ValveState = LOW;

void setup() {
  pinMode(BUTTON1_PIN, INPUT_PULLUP);
  pinMode(RELAY1_PIN, OUTPUT);
  pinMode(RELAY2_PIN, OUTPUT);
  digitalWrite(RELAY1_PIN, LOW);
  digitalWrite(RELAY2_PIN, LOW);
}

void loop() {
  if (digitalRead(BUTTON1_PIN) == LOW) {
    delay(50); // Debounce delay
    if (digitalRead(BUTTON1_PIN) == LOW) {
      ValveState = !ValveState;
      digitalWrite(RELAY1_PIN, HIGH);
      digitalWrite(RELAY2_PIN, ValveState);
      delay(10000);
      digitalWrite(RELAY1_PIN, LOW);
    }
  }
}

อธิบายโปรแกรม :

  • เช็คสถานะของปุ่มกด 1
  • ถ้าปุ่มกดถูกกด (สถานะเป็น LOW) ให้ทำการ debounce และเช็คสถานะอีกครั้งเพื่อยืนยัน
  • เปลี่ยนเส้นทางเดินไฟฟ้าระหว่าง Open กับ Close
  • จ่ายไฟไปยังวาล์วเป็นเวลา 10 วินาทีแล้วหยุด
Facebook Comments