用Robot:bit做一個體感控制小車_mBot 改裝

2018-02-15 18:01


[Robot:bit] 用Robot:bit做一個體感控制小車

 

sharpcat 發表於 2017-12-18 18:38:29 | 只看該作者 [複製連結]   


本帖最後由 sharpcat 於 2017-12-27 23:50 編輯

昨天寫了一個藍牙控制的小車,www.astar-tek.com.tw/news/%E7%94%A8robot%3abit%E5%81%9A%E8%97%8D%E7%89%99%E6%8E%A7%E5%88%B6%E5%B0%8F%E8%BB%8A%EF%BC%88%E5%85%A8%E7%B6%B2microbit%E8%97%8D%E7%89%99%E5%B0%8F%E8%BB%8A%E9%A6%96%E7%99%BC%EF%BC%89-mbot-%E6%94%B9%E8%A3%9D/

今天繼續哈。

Microbit板上集成了加速度感測器,可以檢測XYZ 3軸的重力值,再加上Robot:bit擴展了強大的電機驅動能力,同時,可以利用Microbit的2.4G收發功能,我們就可以設計出一輛麻溜的體感控制小車了。

話不多說,進入今天的主題,當然,前提是你必須有2塊Microbit板子,一塊做小車控制,一塊當做體感遙控器,另外,你還需有一塊Robot:bit,購買傳輸門:www.astar-tek.com.tw/products/mbot-%E9%AB%94%E6%84%9F%E9%81%99%E6%8E%A7%E6%94%B9%E8%A3%9D%E5%A5%97%E4%BB%B6/


首先,我們來一塊Microbit來做遙控器,在make code下找到input模組,選擇加速度積木。



這裡我們來分析下加速度X,Y,Z的含義,X是Microbit左右方向受到的地球引力值,Y是Microbit前後方向的值,Z是上下的值,範圍從-1023到1023,見下圖:

 

如果將Microbit水準放置後,X和Y的值為零,Z為-1023,此處你們自己多理解下。

體感遙控器的思路是,利用Y的變化,即板子前後傾倒的角度,來控制Robit:bot的速度快慢,同時按住AB鍵,車子前後運動,單獨按住A鍵或者B鍵控制左轉和右轉。這些控制指令和資料通過2.4G發送,下面是PXT的積木塊。



接下來設計控制小車的Microbit,首先將你的兩個直流電機接上Robot:bit的電機驅動口,不知道接電機的話,可以先參考入門帖:https://kittenbot.cn/bbs/forum.ph ... =129&extra=page%3D2

無線接收部分如下,其實就是將遙控器發出的資料名稱和值接收回來,分配給變數speed, A,和B.



然後按照speed, A和B的狀態對應控制小車的運動形態。記得先在make code裡添加Robot:bit的擴展包:https://github.com/KittenBot/pxt-robotbit



怎麼樣,是不是很簡單!我這個體感控制遙控器只用到了Y的變化,你們也可以利用X的變化,即Microbit左傾右傾,來實現小車的拐彎。

不過我試過這種控制方式,由於-1023到1023的變化比較大,而小車電機電壓的設置範圍是-255到255,最好將資料XYZ的值重新MAP到-255~255,不然控制起來太靈敏,不夠線性。

 

mbot 體感遙控改裝套件

www.astar-tek.com.tw/products/mbot-%E9%AB%94%E6%84%9F%E9%81%99%E6%8E%A7%E6%94%B9%E8%A3%9D%E5%A5%97%E4%BB%B6/

 

本主題由 喵人兒 于 2017-12-18 16:51 添加圖示 精華

—————

返回