การต่อใช้งานบอร์ด Wemos IoT 2DC
บอร์ด Wemos IoT 2DC เป็น 1 ใน 3 รุ่นในโมเดลบอร์ด Wemos IoT ได้แก่ Wemos IoT 1AC, Wemos IoT 2AC และ Wemos IoT 2DC ที่ออกแบบมาให้ขนาดพอดีกับกล่องกันน้ำ Leetech ขนาด 4×4 นิ้ว และออกแบบวงจรให้ใกล้เคียงกับ Sonoff BASIC R2 แต่เพิ่มส่วนของรีเลย์เข้ามาอีกชุดหนึ่ง และช่องต่อเซนเซอร์แบบ XH2.54 เป็นทางเลือกหนึ่งสำหรับคนที่ไม่อยากโมสายไฟ Sonoff เอง บนบอร์ดใช้ไมโครคอนโทรลเลอร์ ESP8266 สามารถเขียนโปรแกรมเองหรือ flash firmware Tasmota ก็ได้
ส่วนประกอบบนบอร์ด Wemos IoT 2DC
- ช่องต่อไฟเลี้ยงกระแสตรง 5-30 โวลต์ แรงดันไฟขาออกจะเท่ากับไฟเลี้ยง
- ช่องต่อไฟออกเพื่อนำไปต่อใช้งานเครื่องใช้ไฟฟ้ากระแสตรง สามารถต่อ + และ – ออกไปใช้งานได้เลย มีทั้งหมด 2 ช่อง ได้แก่ GPIO12 และ GPIO13 ทำงานแบบ Active HIGH
- ช่องต่อปุ่มกดภายนอก มีทั้งหมด 2 ช่อง คือ GPIO0 และ GPIO2 ทำงานแบบ Active LOW
- ปุ่มกดภายใน มีทั้งหมด 2 ช่อง คือ GPIO0 และ GPIO2 ทำงานแบบ Active LOW
- ช่องต่อเซนเซอร์อื่นๆเพิ่มเติม ได้แก่ GPIO4, GPIO5, GPIO14 และ A0
พิกัดบอร์ด Wemos IoT 2DC :
โค้ดตัวอย่างสำหรับบอร์ด Wemos IoT 2DC
#define BUTTON1_PIN 0
#define BUTTON2_PIN 2
#define RELAY1_PIN 12
#define RELAY2_PIN 13
bool relay1State = LOW;
bool relay2State = LOW;
void setup() {
pinMode(BUTTON1_PIN, INPUT_PULLUP);
pinMode(BUTTON2_PIN, INPUT_PULLUP);
pinMode(RELAY1_PIN, OUTPUT);
pinMode(RELAY2_PIN, OUTPUT);
digitalWrite(RELAY1_PIN, relay1State);
digitalWrite(RELAY2_PIN, relay2State);
}
void loop() {
if (digitalRead(BUTTON1_PIN) == LOW) {
delay(50); // Debounce delay
if (digitalRead(BUTTON1_PIN) == LOW) {
relay1State = !relay1State;
digitalWrite(RELAY1_PIN, relay1State);
while (digitalRead(BUTTON1_PIN) == LOW); // Wait for button release
}
}
if (digitalRead(BUTTON2_PIN) == LOW) {
delay(50); // Debounce delay
if (digitalRead(BUTTON2_PIN) == LOW) {
relay2State = !relay2State;
digitalWrite(RELAY2_PIN, relay2State);
while (digitalRead(BUTTON2_PIN) == LOW); // Wait for button release
}
}
}
อธิบายโปรแกรม :
- เช็คสถานะของปุ่มกด 1 และ 2
- ถ้าปุ่มกดถูกกด (สถานะเป็น LOW) ให้ทำการ debounce และเช็คสถานะอีกครั้งเพื่อยืนยัน
- สลับสถานะของรีเลย์
- รอจนกว่าปุ่มกดจะถูกปล่อย (สถานะเป็น HIGH) ก่อนจะกลับไปเช็คอีกครั้ง
Facebook Comments