[ATX2] ใช้ ZX-SWITCH01 แทนสวิตช์ OK

บอร์ดควบคุมหุ่นยนต์ ATX2 ,POP-X2 ,POP-7 ,IPST-SE ทุกตัวมีสวิตช์ OK และมีคำสั่ง OK รองรับ ปัญหาคือบางครั้งออกแบบหุ่นยนต์แล้ว กดสวิตช์ตำแหน่งนี้ยาก ถ้าต่อสวิตช์ภายนอก แล้วให้ทำงานเหมือนสวิตช์ OK ได้หรือเปล่า เดี๋ยวเรามาลองกัน

สำหรับบอร์ด ATX2 ตำแหน่งสวิตช์ OK จะอยู่ในตำแหน่งดังรูป

งานนี้ขอยกตัวอย่างด้วยบอร์ด ATX2 เนื่องจากใช้ OK() อยู่บ่อยครั้ง

 คำสั่ง OK();

นอกจากจะรอกดสวิตช์เพื่อเริ่มงานแล้ว ยังเรียกคำสั่ง XIO() เพื่อเปิดการทำงานของ CPU ตัวที่ 2 ของบอร์ด ATX2 อีกด้วย มาพร้อมกับหน้าจอแสดงข้อความเรียกร้องให้กดปุ่ม

1. แสดงข้อความที่หน้าจอ

2. รอจนกระทั่งกดสวิตช์ OK

3. ทำงานคำสั่งถัดไป

ZX-Switch01

สวิตช์ที่เวลาใช้งานบางคนจะงงๆ เพราะออกแบบมาให้กดแล้วเป็น 0 ไม่กดเป็น 1 มีไฟแสดงตอนกดด้วย สวิตช์ก็เลือกคุณภาพสูงทนการกดนับครั้งไม่ถ้วน (แต่แพง) เนื่องจากเป็นอุปกรณ์อินพุตดิจิตอล เมื่อใช้งานกับบอร์ด ATX2 ,POP-X2 ,POP-7 ,IPST-SE จะอ่านค่าด้วยคำสั่ง in(ขาที่ต่อ) สั้นๆ ได้เลย

ลงมือปฏิบัติ

  1. ต่อสวิตช์เข้าที่ขา 30/A6 (บอร์ด ATX2)

  1. เขียนโค้ดเพื่อรอการกดสวิตช์ แล้วค่อยทำงานต่อไป
 #include <ATX2.h>      // ATX2 Board
void setup() {
XIO();      // ATX2 initialize
while(in(30));
beep();
setTextSize(4);
glcd(1,1,"RUN");
}
void loop() {

}

 การทำงาน

  1. เพื่อปลุก CPU ตัวที่ 2 บนบอร์ด ATX2 ให้ทำงานเมื่อไม่เรียก OK แล้วก็ต้องเรียก XIO
  2. คำสั่ง while ปกติถ้าใส่ “;” อย่าเอาไปใช้ที่อื่นนะ มันจะค้างยาวเลย แต่ใช้งานนี้คือ วนรอไปจนกว่าสวิตช์ที่ต่ออยู่กับขา 30/A6 จะถูกกดแล้วจึงข้ามไปทำงานคำสั่งถัดไป
  3. คำสั่งที่ให้ทำเป็นอะไรก็ได้ในที่นี้แค่ให้สร้างเสียงกับแสดงข้อความที่หน้าจอ เป็นอันจบ

 

Facebook Comments Box