รีโมทควบคุมหุ่นยนต์

2wheels-3

วันก่อนทดลองประกอบโครงรถหุ่นยนต์ที่จำหน่ายในร้าน ioteshop การควบคุมมอเตอร์ก็ใช้ arduino ร่วมกับโมดูล tb6612fng ก็ง่ายดีครับ หากเป็นระบบอัตโนมัติ เช่น หุ่นยนต์เดินตามเส้น ก็ใช้เซนเซอร์อินฟราเรดในการตรวจจับเส้นเพื่อนำทาง แต่พอมาคิดว่าอยากจะมีรีโมทควบคุมมันได้เนี่ยก็มองหา โซลูชั่น หลายๆอันดู เช่น

  1. จอยต่อกับโมดูล nrf24l01
  2. wifi to serial
  3. bluetooth
  4. raspberry pi

1 กับ 2 ก็น่าสนใจ ติดตรง ต้องหาจอยมาใช้ร่วมกัน ขอหาก่อน
3 กับ 4 นี่ คิดถึง wiimote ขึ้นมา wiimote เป็น HID device (เหมือนเมาส์ คีย์บอร์ด จอยสติ๊ก) ใช้ bluetooth ในการสื่อสาร มันมีประเด็นขึ้นมาให้เลือกคือ

A. ถ้าเลือกใช้ arduino ต่อ จะคุยกับ HID bluetooth device ได้ ต้องมี USB host shield และ bluetooth USB dongle วิธีนี้โค้ดที่เคยเขียนควบคุมมอเตอร์ไม่ต้องเปลี่ยน

B. ถ้าเลือกใช้ raspberry pi แทน มี usb port ให้เสียบ bluetooth dongle หรือ ถ้าเป็น pi 3 ก็มีให้เลย(แต่แค่ควบคุมหุ่นยนต์ ไม่น่าใช้ น่าจะเปลืองแบตกว่า pi1 หรือ pi2) แต่ ต้องหาทางควบคุมทิศทางและความเร็วของมอเตอร์ ซึ่งถ้าจะใช้ hardware ก็ง่าย มีบอร์ด pwm เช่นของ adafruit เอามาต่อใช้ หรือถ้าจะเป็น software ก็ใช้ pi-blaster ซึ่งใช้ DMA ในการควบคุม เท่าที่ดูก็มีความแม่นยำโอเค

อืม ตกลงว่า ลองข้อ A ก่อนละกัน น่าจะง่ายที่สุด bluetooth usb dongle ก็มีอยู่แล้ว เหลือสั่ง usb host shield มาเท่านั้น

แต่ถ้าของมาช้า ก็อาจจะลอง B ก่อน ไว้จะมาอัพเดต ตอนต่อไป

อัพเดต พอดีไปเจอ joystick shield สามารถใช้ร่วมกับ nrf24l01 และ arduino ทำเป็นรีโมทคอนโทรลได้ ก็เป็นอีกหนึ่งทางเลือกครับ

ใส่ความเห็น