M5StickC機器人

關於M5StickC Robot

這也是PLEN:bit的轉換版本,主要是將控制板換成M5StickC plus,和改裝及M5Stack Core一樣,IoT和AI的部份得到增強,只不過Lcd比較小,內建了電池(120 mAh  ),M5StickC plus是由深圳創業公司開發,它具有各種接口,例如LCD,揚聲器,microSD插槽,按鈕,USB,Grove連接器,並且由於可以使用Wifi /藍牙,因此適用於IoT。

這顆小小的主板,功能倒是蠻多的,它基於ESP32,支持BLE 4.2和WiFi,內置6軸IMU、紅色LED紅外線發射器、麥克風、實時時鐘、LCD(1.14英寸)、內置鋰電池、可擴展插座、內置無源蜂鳴器,開發平台UIFlow,MicroPython,Arduino

※拿它搭配專用的8 Servo Hat 擴充版,正好可以進行迷你機器人的嘗試

8 Servos HAT 

8Servos HAT是與M5StickC兼容的8路伺服控制板。 通過I2C與M5StickC通信。為了確保多個伺服器可以同時工作,HAT配備了單獨的16340電池座,用於外部和獨立電源, 擁有一個控制開關和一個RGB LED 

拆機與重生:

這隻,以前設計得有點欠考慮了,為了符合擴板(ksb048)做得有點雜亂,拆了…… 

之前的設計是KSB048擴充板平躺在中間

雖然看起來還可以的樣子,是使用Micro:bit當做控制主板

拆了吧!零件將在另一台機器人身上獲得新生

新的想法:混用plen的3D列印件加上自己設計的雷切壓克力 

我很欣賞plen機器人身體部份的舵機擺放方式,很緊密不浪費空間

丈量設計一下身體的前後蓋,由於使用不同的控制板,當然無法使用原來plen的3D列印檔

用說的其實比較簡單,弄出前後符合的壓克力件,花了許多時間

開始組裝舵機

一顆14500電池提供了8顆舵機所需要的能量

頭部也是自行使用壓克力件設計,儘可能有點風趣,使用了RGB unit

修來改去中算是做好了這隻M5StickC Robot, 只是為了實現一個構想…

有趣的挑戰應該是接下來的動作程式撰寫:可以使用Arduino IDE或UIFlow來寫

因為不是買人家現成的套件,所以不會有現成的程式範例或設計好的專用積木啦!不過,大家一直都是喊著:STEAM教育、做機器人學程式…,這不是剛剛好嗎?Robot要怎麼動,完全由自己寫每一個舵機的角度變化,而不是套用人家寫好的涵式,其實使用UIFlow真的蠻方便的,功能也強大~

UIFlow線上版:https://flow.m5stack.com/ 

前進走路的範例說明

這段影片中機器人走路的程式碼是使用UIFlow的積木拉的,為了讓動作可以流暢,舵機角度的給予方式需有一些技巧,避免直接指定轉動到某一大角度,機器人可會僵硬或摔倒的!

先了解一下機器人舵機的配置

在看下頭的程式之前,必須先知道一下我這台機器人的各個舵機所接的pin位,8Servo Hat的pin是從1開始算不是0

使用8servo Hat需注意一點便是,程式開始一定要指定每個舵機的角度,否則會有不正常的狀況

我的做法是寫一個舵機初始化的涵數,使用s1~s8變數來儲存8個舵機的角度值,再指定到舵機去,之後在其他程式中都是以變數的方式來操作舵機

機器人向前走的積木程式碼輯說明:其實只要掌握一個要點便是「重心轉移」

後記:更改背蓋的設計

一開始在設計壓克力部份的時候,對於機器人的後蓋,原想著就封在裡頭,反正是充電電池,靠的是M5StickC一起充電,但後來想一想,如果一段時間之後電池掛了或靠M5StickC充電太慢了,想直接取出電池用充電器來充呢?

所以就更改背蓋的設計好了!

改成這樣

隨時可方便拿出16340

最後版本定案

這台Robot就這樣了,在更改時順便也使用白色不透明的壓克力來切,這樣看起來比較有一致性,也不會感覺看到亂亂的線…