14° : สิบสี่องศา Programmer's Blog

สิงหาคม 24, 2016

LoRa

Filed under: Development,hardware,Network,Raspberry Pi — ป้ายกำกับ:, , — สี่สิบดีกรี @ 10:17 am

ลองสั่งทำ PCB บอร์ดมาจากต่างประเทศ สำหรับการทำเดโมหรือทดลอง ราคาไม่แพงเลยครับ เดี๋ยวนี้ไอซีทำออกมาเป็นโมดูลมากขึ้น ทำให้เราเอามาพัฒนาต่อยอดได้ง่ายและรวดเร็วกว่าเมื่อก่อน ดูอย่างเจ้า LoRasPi ที่ผมสั่งทำจำนวนไม่กี่บอร์ดก็ยังทำให้ได้ รายได้ก็กลับไปที่นักพัฒนาด้วย CooL!

แต่ว่ายังไม่ได้สั่งโมดูล LoRa เข้ามาจำหน่ายเลย รอก่อนนะเจ้าบอร์ด เอิ๊ก เอิ๊ก

IMG_20160823_104300-s

กรกฎาคม 31, 2016

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

Filed under: Arduino,bluetooth,Development,Embedded,hardware,Raspberry Pi — ป้ายกำกับ:, , , , — สี่สิบดีกรี @ 6:56 pm

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 ทำเป็นรีโมทคอนโทรลได้ ก็เป็นอีกหนึ่งทางเลือกครับ

Powered by WordPress