เริ่มต้นเนื้อหา
i-Mation Pico Dev Board เป็นบอร์ดพัฒนาที่ออกแบบมาเพื่อตอบโจทย์การใช้งานที่หลากหลายสำหรับไมโครคอนโทรลเลอร์ตระกูล Pico เช่น ESP32-S3 Pico, Raspberry Pi Pico W
อย่างไรก็ตาม หากต้องการใช้งาน Relay 4 CH บน i-Mation Pico Dev Board ร่วมกับ ESP32-C3 Super Mini ซึ่งไม่ได้ออกแบบมาให้รองรับกันโดยตรง อาจจำเป็นต้องมีการปรับแต่งเล็กน้อยเพิ่มเติมเพื่อให้ทั้งสองอุปกรณ์ทำงานร่วมกันได้ การปรับแต่งนี้เปิดโอกาสให้ผู้ใช้ได้สร้างสรรค์การใช้งานที่ตรงกับความต้องการ โดยไม่ต้องลงทุนในบอร์ดพัฒนาใหม่เพิ่มเติม
โปรดให้ความสนใจว่า:
– ฟังก์ชัน i-nergy Guard ซึ่งเป็นระบบตรวจจับและสลับแหล่งจ่ายไฟอัตโนมัติของบอร์ด “จะไม่สามารถใช้งานได้” เนื่องจากฟังก์ชันนี้ออกแบบมาเฉพาะสำหรับไมโครคอนโทรลเลอร์ตระกูล Pico ดังนั้นโปรดอย่าต่อแหล่งจ่าย Power in และ USB พร้อมกัน เพราะอาจทำให้คอลโทรลเลอร์ได้รับความเสียหายและอาจรวมไปถึงคอมพิวเตอร์
– เหมาะสำหรับการใช้งานกับโหลดแบบ non-inductive
แม้จะมีข้อจำกัดดังกล่าว แต่การปรับแต่งนี้ยังคงคุ้มค่าและน่าสนใจสำหรับผู้ที่ต้องการใช้งาน i-Mation Pico Dev Board ในแบบที่ประหยัด
มาเริ่มกันเลย!!!
หากต้องการความเรียบง่าย สามารถเสียบ ESP32-C3 Super Mini ลงไป โดยให้ตำแหน่ง 5V ตรงกับ Pin Ref. 20 ของ i-Mation ดังนี้
สามารถเสริมความมั่นคง ด้วยการเพิ่ม Female Pin Header
จากนั้นต่อไฟเลี้ยงดังภาพ
ESP32-C3 Super Mini: 5V (Pin Ref. 20) ไปต่อกับ VSYS ของ i-Mation
ESP32-C3 Super Mini: G (Pin Ref. 19) ไปต่อกับ GND ของ i-Mation
เพียงเท่านี้คุณจะสามารถใช้งาน Relay ทั้ง 4 ช่องได้แล้ว!
การเชื่อมต่อรีเลย์
- รีเลย์ตัวที่ 1 (CH1): เชื่อมต่อกับ Pin Ref. 14 (ESP32-C3 Super Mini: GPIO1)
- รีเลย์ตัวที่ 2 (CH2): เชื่อมต่อกับ Pin Ref. 15 (ESP32-C3 Super Mini: GPIO2)
- รีเลย์ตัวที่ 3 (CH3): เชื่อมต่อกับ Pin Ref. 16 (ESP32-C3 Super Mini: GPIO3)
- รีเลย์ตัวที่ 4 (CH4): เชื่อมต่อกับ Pin Ref. 17 (ESP32-C3 Super Mini: GPIO4)
ขา i/o ของ ESP32-C3 Super Mini ที่เหลือคุณสามารถใช้มันได้ตามความต้องการ โดยข้ามความกังวลไปได้เลย เพราะนอกเหนือ Relay พินอื่นๆจะไม่มีการเชื่อมต่อทางไฟฟ้าใดๆบนบอร์ด i-Mation
อุปกรณ์
i-Mation Pico Dev Board | X 1 | ||
กล่องใส่แผงวงจร IMI-PLC25 | X 1 | ||
ESP32 C3 Super Mini | X 1 |
อธิบายโค้ด
Code ทดสอบ
int relay1 = 1;
int relay2 = 2;
int relay3 = 3;
int relay4 = 4;
void setup() {
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);
pinMode(relay4, OUTPUT);
}
void loop() {
digitalWrite(relay1, HIGH);
delay(200);
digitalWrite(relay1, LOW);
digitalWrite(relay2, HIGH);
delay(200);
digitalWrite(relay2, LOW);
digitalWrite(relay3, HIGH);
delay(200);
digitalWrite(relay3, LOW);
digitalWrite(relay4, HIGH);
delay(200);
digitalWrite(relay4, LOW);
delay(500);
}
แหล่งอ้างอิง
Disclaimer: ข้อมูลนี้จัดทำขึ้นเพื่อเป็นแนวทางในการศึกษาและทำความเข้าใจเท่านั้น ไม่ควรถือเป็นคำแนะนำทางวิชาการหรือทางการค้า