米兔智慧積木做自動平衡雲台

繼上一篇米米兔智慧積木開箱後, 雖然照說明拼出了一台會走路的企鵝, 但其實沒有寫到有關程式的部份, 由於App裡介紹的都是直線運動(前進跟後退及控制轉向而己), 實在沒什麼太大動力再玩下去…..這幾天終於想到一個主題來寫米兔的編程, 就是自動平衡雲台, 以前曾用Arduino控制過類似的陀螺儀+馬達的經驗, 於是就想到即然米兔有馬達, 是否可以用手機內的陀螺儀來做出一個自動平衡的雲台呢?

編程裡的【陀螺儀】是來藍芽連線的手機內建的陀螺儀, 所以如果要做出仿平衡雲台的話, 就要把手機綁在積木上一起運作.

自動平衡雲台基本需求: 手機傾斜時, 只要反向轉回來, 手機就會回到原位.
流程: 手機傾斜了->馬達要轉動->直到回到原位->馬達停止。

我們先來寫一個簡單的程式:
1.新增一個觸發: 向上傾斜時 (當手機往上傾斜時)
2.新增一個控制:  (if ….  else …..)
3.新增一個數學式: 當陀螺儀Y > 0 時 ,
4.新增一個運動: 馬達轉 = -40 (逆向轉回)
5.在 else 放入一個 馬達轉 =0 (水平時就停止)

以上只是一個很簡單的程式, 並沒有很精細的運算.

smartselect_20181030-223522_mi mini robot builder1211585637419046686..jpg

以下是實際操作影片,

從影片中可以看到轉動手把時, 雲台會自己逆向旋轉直到恢復水平. 但由於手機太重, 會導致轉動馬達. 如果改雙握把或輕一點的手機, 可能就會穩定一點.

目前沒找到任何編程的文件可以參考. 梁爸試了一下, X軸是左上右下. Y軸是向前向後, Z軸是手機垂直地面或水平.

如果要讓雲台運行的更平順, 思考方向:
1. 可能要用變數的方式先取陀螺儀Y軸的數值 如: 變數A=陀螺儀Y軸
2. 馬達的轉動數值=變數A 除以 2 或 50-某一線性遞減值….等等.
3. 藍芽訊號可能會有訊號不即時問題, 會有誤差值.
4. 克服重量跟馬達扭力的問題…..

但如果以第一次寫米兔程式來說, 試寫以上的題目幾次之後, 我們就比較懂米兔智慧積木的編程方法了. 多練習應該就會更好寫了. 建議用iPad等大螢幕來拖拉邏輯方塊會比較好喔.

以上供想試玩編程的人參考。下次有新的心得再分享。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.