popbot-xt รุ่นมาตรฐานจะมาพร้อมกับมอเตอร์รุ่น BO2 ทำให้ยากต่อการติดตั้ง Encoder เพื่อนับระยะทางการเคลื่อนที่ มาดูว่า ถ้าต้องการติดตั้ง Encoder ให้กับ POPBOT XT ต้องปรับแต่งหุ่นยนต์อย่างไรกันบ้าง
รายละเอียดของตัว Encoder ที่ inex ใช้งานเป็นลักษณะดังนี้
เริ่มสร้างกันเลย...
1. ใช้ฉากโลหะ 2x3 ขันยึดเข้ากับฐานหุ่นยนต์
2. ใช้สกรู 3x10 มม.ขันยึดด้วยนอต 3 มม.
3. นำมอเตอร์มายึดโดยใช้สกรู 3x25 มม. เฉพาะด้านล่างก่อน
4. นำเสารองโลหะ 37 มม. คั่นระหว่างมอเตอร์ 2 ตัวแล้วใช้สกรู 3x25 มม.ขันยึด
5. นำล้อมายึดเข้ากับแกนมอเตอร์ แล้วใช้สกรูเกลียวปล่อยขันยึด
6. เสียบจานเอ็นโค้ดเดอร์ เข้ากับแกนของมอเตอร์
7. ยึดเสารองเข้ากับเอ็นโค้ดเดอร์ ทำเหมือนกัน 2 ชุด
8. ครอบ Encoder ลงบนจาน Encoder ขันสกรูยึดให้แน่น
9. เสียบสาย สัญญาณตำแหน่งดังรูป
10. นำถาดรองกะบะถ่าน ยึดเข้ากับเสารองพลาสติก และเสารองโลหะ ใช้สกรูขนาด 3x15 ขันยึด
11. นำถาดรองกะบะถ่าน ยึดเข้ากับฐานและใช้สกรู 3x6 มม.ขันยึดในตำแหน่งดังรูป
12. นำ ZX-03 ยึดเข้ากับแท่งต่อ 5 รู ใช้สกรู 3x15 มม.ขันยึดด้วยนอต 3 มม.
13. นำ ZX-03 ยึดเข้ากับด้านหน้าของหุ่นยนต์ ในตำแหน่งดังรูป ใช้สกรูขนาด 3x10 มม. ขันยึดให้แน่น
14. จัดวางตำแหน่งเซนเซอร์ ให้อยู่ในระนาบเดียวกัน
15. นำบอร์ด POP-XT ใส่ถ่าน AA 4 ก้อน
16. เสียบบอร์ดไว้ที่โครงหุ่นยนต์
17.เสียบสายมอเตอร์ ดูทิศทางให้ถูกต้อง โดยให้ปิดสวิตช์ที่ตัวหุ่นยนต์ จากนั้นลองหมุนมอเตอร์ หมุนไปด้านหน้าไฟต้องติดเป็นสีเขียว หมุนถอยหลังไฟติดเป็นสีแดง มอเตอร์ 1 ด้านซ้าย มอเตอร์ 2 ด้านขวา
18. เสียบสาย Encoder เข้าที่จุด 2/SDA และ 3/SCL
19. เสียบสาย ZX-03 เข้าที่ A0, A1, A2, A3 (จุดต่ออะนาลอกสีแดง)
หุ่นยนต์เมื่อประกอบเสร็จสมบูรณ์
การเคลื่อนที่ของหุ่นยนต์เมื่อใช้ Encoder
ระยะทางการเคลื่อนที่เมื่อล้อหมุนครบ 1 รอบ
แนวคิดการเขียนโปรแกรมอย่างง่ายๆ
อ่านค่าโดยใช้คำสั่ง in เพื่อรับค่าอินพุตเข้ามา เป็น "0" 1 ครั้ง เป็น "1" 1ครั้ง นับค่าเป็น 1 ค่า ดังนั้นถ้านับค่าครบ 20 ค่า จะเคลื่อนที่ได้ 1 รอบหรือประมาณ 22 เซนติเมตรพอดี
ขาที่ใช้งานเป็น Encoder ของ POP-XT
การอ่านค่าโดยใช้อินเตอร์รัปต์
บอร์ด POPXT ที่ติดตั้งซอฟต์แวร์ตั้งแต่เวอร์ชั่น 1.07 ขึ้นไป จะมีไลบรารี่ ชื่อ XTencoder.h ติดตั้งมาด้วย ไลบรารี่ ตัวนี้จะยอมให้สามารถต่อขาเอ็นโค้ดเดอร์ได้ถึง 4 ขา และทำงานเบื้องหลังได้ ผู้ใช้งานเพียงอ่านค่า หรือรีเซตค่า โดยไม่ต้องคอยวนตรวจสอบ รูปแบบการใช้งานคำสั่งมีดังนี้ตัวอย่างการใช้งาน
จากตัวอย่างเป็นการใช้งาน Encoder ที่ขา 2 โดยเริ่มต้นจะต้องรีเซตค่าการนับให้เป็น 0 ก่อนจากนั้น สั่งให้หุ่นยนต์เดินหน้า ค่าการนับมีค่ามากกว่า 40 สั่งให้หุ่นยนต์หยุดหมุน
จากตัวอย่างด้านบน สามารถเพิ่มคำสั่งสำหรับการหยุดหุ่นยนต์ แบบทันทีทันใดเข้าไป ด้วย สร้างเป็นโปรแกรมที่สมบูรณ์ได้ดังนี้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น