文章來自ID:阿财《走進機器人的編程世界,智能拼裝玩具MakeblockmBot教育機器人試玩》
可以說,短短10天的mBot智能教育機器人試用過程,樓主意猶未盡,感覺其中樂趣無窮。身為一個程序猿十年,居然不知道單片機開發能有那麼多樂趣,神秘的 機器人原來就是用微處理器 程序 輸入:傳感器 輸出:機電設備組成的。可以說mBot智能教育機器人和R2D2(《星球大戰》電影中的著名智能機器人) 之間差得隻有小朋友們的想象力。
我喜歡Makeblock mBot智能教育機器人,因為:
1、簡化編程學習開發門檻,開發孩子的智力,想象力和動手能力,DIY的樂趣多多。
2、mBot智能機器人開發套件的價格非常平易近人,一套單片機開發工具例如樹莓派2和Intel Edison套件大概需要人民币190~650元,然而沒有配置任何輸出輸入傳感器配置,一切都要開發者自己另行采購。而mBot智能教育機器人已經具備基本的巡線,移動, 避障,藍牙和WIFI通訊能力,雙11優惠活動的時候隻要398元。
3、搭配靈活,官網有大量的配件可供選購,可以輕松升級機器人的能力和提高開發的複雜度。當然還有更高階的機器手Starter套裝,機器人繪圖儀畫蛋機等開發套裝選購。
4、安全,接線和插座均為防呆設計,M3長螺釘長度較大,M4螺釘體積較大也非常的安全,不容易讓兒童吞服或者紮到眼睛。動力馬達的力矩适中,就算強行停止,也不會弄傷兒童的手。
5、 編程語言标準。使用Arduino單片機,開發環境最終為标準的C語言,适合計算機編程語言的入門學習,而且C語言的壽命非常悠久,基本上孩子們可以從中 受益終身。因為計算機語言的更新換代速度相當之快,10年時間完全有可能淘汰一批語言,所以一旦孩子們花費寶貴的童年時間去學習一種沒有未來的計算機語 言,結果就是白白浪費幾年時間。說到這點,樓主是押寶“中途死亡”計 算機語言錯誤的受害者,中學階段學習的是Turbo Pascal語言,大學學習的是基于Object Pascal語言的Delphi。結果沒到2005年剛畢業,由于微軟爸爸強有力的開發工具VS2005的面世,它們~都~死~了,Borland公司也 倒閉轉型。同樣的最近15年還有被淘汰的Visual Basic和Visual FoxPro,Sybase數據庫等。而C語言的頑強生命力,已經誕生了超過60年依然是主要的單片機和驅動程序,嵌入式硬件設備的開發語言。
初識教育機器人
其實,從小樓主就玩着拼裝玩具長大,當然那時候拼裝玩具還沒有具備MCU,僅僅是最簡單的發條動力,鋼片結構,就像下面圖片中的那樣。
長大後才知道,原來小時候玩過的玩具還挺有來頭,而且這世界上還有許許多多種拼裝玩具,其中就有大名鼎鼎的樂高積木和這次樓主有幸申請到試用的——makeblock mBot機器人。
看看下面的官方圖片,是不是感覺就是樓主小時候玩的拼裝玩具的超級增強版呢?25年的技術進步,使得現在的智能玩具更多的高科技傳感器,微處理處理器和鋁合金預制零件類型。
makeblock mBot正是一款很容易上手的教育機器人,其設計的初衷是便于孩子們學習編程、Arduino單片機編程,還有神秘而強大的機器人是如何通過傳感器輸入, 驅動馬達和電機,顯示屏等輸出設備工作的。在它小巧的體内蘊藏了大部分創客教育機器人所需要的電子元件。
makeblock mBot通過官網商店makeblock擴充組件,可以搭配出鏟車,鈎機、甚至坦克等現實中的機械和車輛模型,并且具備可編程的智能邏輯。但是這次試用體驗的makeblock mBot藍牙基礎版并沒有那麼多零件,不過樓主依然可以管中窺豹,體驗到智能機器人玩具的無窮樂趣。
官方資料裡面宣傳這是一個面向8歲以上兒童的教育玩具,八歲以下兒童需要大人陪同才能夠進行玩耍。事實上,樓主發現自己這個8歲x4的老頑童也依然能夠樂在其中,整個星期的鑽研這套makeblock mBot智能拼裝教育機器人所帶來的無限樂趣和引爆出來的想象力。
開箱過程
因為mBlock mBot智能機器人上手編程的難度較高,所以IT168試客活動貼心的配了一本《mBlock小創客玩轉機器人》的圖文指導書籍。
包裝盒背面,因為之前的産品主要是面向國外市場的緣故,mBot的包裝盒上都是英文版的介紹,隻有一個中文條形碼标簽是後貼上去的,英文介紹了mBot教育智能機器人的特性。簡單的結構分解圖,電氣安全信息。
這是官方的中文版參數
打開盒子,首先看到的是IT168試客标簽和mBot使用說明書。
泡沫蓋闆下面才是收納mBot機器人零部件的包裝盒。
雙層泡沫收納格中是mBot小機器人的全部零件,這個稍後會在組裝過程中逐一介紹。
我們可以在圖中看到mBot小機器人全部的資料和配件。
對比這張說明書中的零件清單,清點好零件數量。
開始組裝mBot
我們先來看看一下官網的這張mBot裝配示意圖動畫,很好理解吧,相信孩子們在家長的幫助下也能夠輕松組裝。
馬達和變速箱是mBot智能教育機器人的發動機,也就是它能夠在地面上移動的動力來源,注意看變速箱的外殼上有防呆的圓形和方形突起,這是為了在mBot智能機器人的底盤上安裝地位設計的。
mBot智能教育機器人漂亮的藍色的鋁合金底盤,
我們把馬達和變速箱安裝上去,可以看到馬達上圓形和方形突起正好嵌入底盤合适的位置
馬達使用最長的M3十字螺釘 螺母安裝固定,在包裝袋中找到螺母和螺釘。
擰緊螺母需要工具,mBot機器人包裝中包括了一把組合螺絲刀,包括雙頭螺杆一根,可以擰緊M3十字螺釘和M4内六角螺釘。
螺絲刀的螺杆裝在這一頭就是十字螺絲刀了
我們來擰緊馬達的M3十字固定螺絲
把兩個固定螺釘都擰緊
兩個輪子自然需要2個馬達驅動,所以需要安裝2個馬達四根固定螺釘。
mBot小機器人的腳——尼龍輪子和橡膠輪胎。
把輪子和輪胎組合在一起。
輪子需要套上馬達變速箱上的尼龍驅動軸
使用自攻螺釘擰緊輪子防止它脫落
由于自攻螺釘是對驅動軸有損傷的,而且小朋友往往因為意外跌落導緻mBot——瘸腿,所以還貼心的配備了多2根尼龍驅動軸
安裝好了2個輪子和馬達以後
給小mBot翻個個兒
接下來我們要給小mBot安裝萬向輪
還有巡線傳感器,它能感知地上的黑白線條,判斷小mBot是否走在正确的道路上
mBot的巡線傳感器和其他傳感器都采用标準的M4安裝孔和RJ25數據線接口。
安裝上面兩個零件需要使用到新的螺釘——M4内六角半圓頭螺釘。
同時要把螺絲刀的螺杆刀頭更換過來,變成六角刀頭
兩個部件疊在一起,注意巡線傳感器的安裝方向,使用M4螺釘擰緊固定好
接下來要使用到的是RJ25數據線,連接傳感器,然後穿過小mBot底盤上的走線孔。
RJ25接頭的使用方法跟RJ11 RJ45水晶頭一樣,隻要咔嗒一聲就能安裝進對應的傳感器插孔内,非常方便,小朋友們也不會弄錯哦。
把線穿過走線孔,整理一下,我們繼續安裝上層部件。
接下來安裝的是超聲波傳感器,它能感知前方的垂直障礙物,
兩個M4螺母都要擰緊。
上層需要繼續安裝四個螺柱來方便安裝小mBot機器人的心髒:mCore主闆。
把四個螺柱逐一擰緊到螺孔裡面
把四個螺柱逐一擰緊到螺孔裡面
小mBot還需電池作為運作的動力儲備,我們需要使用背膠尼龍粘扣來固定電池盒
尼龍粘扣一面粘在地盤上,一面粘在電池盒上面。
把電池盒用尼龍粘扣粘在小mBot的底盤上啦
超聲波傳感器的連接線也必須提前插好。否則裝上了主闆,傳感器插頭就被蓋在下面,手指無法夠到。
準備好了電池盒,裝好了,就可以安裝小mBot機器人的大腦:mCore主闆了。
主闆上面集成了非常多的接口和功能:如上面圖所示。
用M4螺釘擰緊四個固定孔,就能安裝好小mBot的大腦:mCore主闆啦。
這時候的mCore還是光杆司令,因為所有的連接線都沒有接上。
我們需要按照說明書的指示,把每個傳感器按照特定的接口接上,如果更換了接口,那麼在後面的mBlock程序開發中就需要修改端口号才能夠正常使用傳感器了哦。
馬達也是需要對應插孔,接反了會導緻mBot智能教育機器人在本應左轉的時候變成右轉。
mBot智能教育機器人除了使用四節5号電池之外,還能使用一塊1800mAh的 3.7V锂電池供電。
把锂電池塞進電池盒的位置。電池電源線也接上mCore主闆
我們可愛的小mBot智能教學機器人基本上已經安裝完成
慢着,還少一個很重要的部件——2.4G藍牙通訊模塊。
藍牙模塊支持藍牙2.0和3.0協議,背面有一個3pin一個4pin的杜邦插頭。
對準2個杜邦接口的位置,插進去就安裝完成了。
最後需要使用的配件是USB 3.0數據線一根。小mBot機器人需要用它來充電,上傳Arduino程序。
通過USB線給mBot标配的锂電池充電,需要充幾個小時才能夠充滿,樓主第一次給mBot充電先直接充了一晚上。
锂電池充好了充電紅燈會變成綠燈亮起,撥動開關就能給mBot通電開機。
PWR電源紅燈會亮起了,經過一兩秒自檢以後,小mBot會發出哆蕾咪三聲不同聲調的提示音,然後就活了過來,這時候巡線傳感器亮藍LED等,藍牙2.4G模塊會亮藍燈,mCore主闆上會亮根據工作狀态亮起兩盞RGB*可變色的LED燈
筆者注:*色光三基色原理,當RGB紅綠藍三色LED以相同亮度發光的時候人眼看上去就是白色的LED燈。
mBot 預裝程序試玩
mBot有三種操作模式,PC聯機,紅外遙控器,手機APP。其中不與電腦聯機的出廠固件脫機模式情況下,隻能使用紅外遙控器進行操作。
最簡單的操作方式當然就是使用自帶紅外遙控器,注意mBot的紅外遙控器在第一次使用的時候需要拔掉裡面的防漏電絕緣PET塑膠墊片才能夠使用
視頻,mBot出廠固件:默認巡線模式和自動超聲波避模式。
每一個小盆友都是未來的程序猿!
跟樓主一起學習自己開發mBot智能機器人的程序
自己開發程序就意味着需要使用PC聯機mBot并且通過mBlock智能機器人程序開發軟件上傳自己的設計的程序覆蓋出廠固件程序。
使用mBlock和mBot相連大概需要以下幾個步驟:
1、安裝mBlock程序——首先我們需要下載并安裝mblock開發工具
mBlock軟件是mCore主闆的核心——Arduino單片機官方編程環境的第三方軟件,目前必須依附于Arduino軟件下運行,區别于Arduino文本式編程環境,mBlock是以 圖形化積木搭建的方式編程的,這樣的方式會使編程的可視化和交互性加強,編程門檻降低,即使沒有編程經驗的人也可以嘗試給Arduino控制器編寫程序。 讓機器人創客活動是每個小朋友都能參與的活動,降低單片機軟件編程學習門檻,可以吸引更多的兒童投入到計算機編程和機器人學習的創新制作中來,每一個孩子都是小創客!
mBlock,顧名思義,就是把深奧的編程,轉化成為簡單的積木塊形式,讓孩子們能夠以可視化的方式,學習編程。
2、用USB線連接PC和mBot機器人
3、Windows 7以上系統開啟UAC的情況下必須使用管理員權限啟動mBlock開發程序,因為安裝驅動和在C盤Program Files目錄編譯程序需要管理員權限寫入。
4、在mBlock程序中安裝mCore主闆的Arduino USB-COM口虛拟驅動,菜單中稱為“安裝Arduino驅動”
5、通過“串口”->“COM3*”鍊接在USB線上的mBot智能教育機器人,正确連接後标題欄将會變成“已連接”
筆者注:*不同機器可能會有不同名稱,并不是永遠不變的COM3,請根據自己PC環境随機應變。
6、通過預設的積木塊設計mbot機器人的新程序
這裡使用樓主準備改進的巡線程序作為例子,代碼标有注釋,非常便于理解。
7,點擊“mBot Program”選擇“上傳Arduino程序”
8、上傳并不會直接稀裡嘩啦的上傳程序,而是切換到“Arduino模式”繼續編輯程序,所以我們也可以直接通過菜單“編輯”——>“Arduino模式”來進入這個狀态上傳程序,我們可以看到,我們編寫的mBlock程序塊已經智能的轉換為了Arduino單片機的C語言代碼
點擊圖中藍色“上傳Arduino程序”按鈕就真的會上傳程序到mBot智能教育機器人mCore主闆上面了。
9、上傳程序會經曆兩個過程:
Step#A、Arduino單片機的C語言代碼編譯代碼成為彙編語言。
Step#B、編譯後的二進制代碼上傳mBot,上傳中不要拔掉USB線或者關閉mBlock窗口,完畢後會提示“上傳完成”,點擊确定按鈕即可。
經過這9個步驟才能完成mBot智能教育機器人的新程序設計。可見讓一個機器人随着主人的意志行動起來,也不是一件容易的事情啊。
這時候我們再測試樓主新設計的mBot機器人巡線程序代碼的效果
視頻
尋找更多的編程樂趣
mbot機器人“畫地為牢”源程序,主要是結合前面的巡線傳感器,當巡線傳感器為0的時候就停止前進!
這樣,當你把mbot機器人放在黑色膠帶圍起來的地面上,它就會自動往前跑,到了黑膠膠帶的場地邊緣就會自動停住轉彎繼續向前跑!
因為試客試用的時間關系,隻嘗試了簡單的方形範圍,如果處理更複雜情況可以設計成黑膠帶組成的迷宮,使用巡線傳感器,設計出mbot機器人自動走迷宮的程序。
mbot用單音調演奏《小星星》
這程序比較簡單,就是按下mbot的按鈕,然後就播放5遍的《小星星》音樂! 同時左右兩盞LED等會随着音節不斷地變化紅綠藍三種顔色。
但是,我們有時候會發現歌曲需要搭建很長的邏輯積木,作為簡化,可以把主旋律和主歌副歌等重複的音調旋律,分塊定義成邏輯模塊來代替
視頻效果:
總結
可以說,短短10天的mBot智能教育機器人試用過程,樓主意猶未盡,感覺其中樂趣無窮。身為一個程序猿十年,居然不知道單片機開發能有那麼多樂趣,神秘的機器人原來就是用微處理器 程序 輸入:傳感器 輸出:機電設備組成的。可以說mBot智能教育機器人和R2D2(《星球大戰》電影中的著名智能機器人)之間差得隻有小朋友們的想象力。
優點:
1、簡化編程學習開發門檻,開發孩子的智力,想象力和動手能力,DIY的樂趣多多。
2、mBot智能機器人開發套件的價格非常平易近人,一套單片機開發工具例如樹莓派2和Intel Edison套件大概需要人民币190~650元,然而沒有配置任何輸出輸入傳感器配置,一切都要開發者自己另行采購。而mBot智能教育機器人已經具備基本的巡線,移動, 避障,藍牙和WIFI通訊能力,雙11優惠活動的時候隻要398元。
3、搭配靈活,官網有大量的配件可供選購,可以輕松升級機器人的能力和提高開發的複雜度。當然還有更高階的機器手Starter套裝,機器人繪圖儀畫蛋機等開發套裝選購。
4、安全,接線和插座均為防呆設計,M3長螺釘長度較大,M4螺釘體積較大也非常的安全,不容易讓兒童吞服或者紮到眼睛。動力馬達的力矩适中,就算強行停止,也不會弄傷兒童的手。
5、 編程語言标準。使用Arduino單片機,開發環境最終為标準的C語言,适合計算機編程語言的入門學習,而且C語言的壽命非常悠久,基本上孩子們可以從中 受益終身。因為計算機語言的更新換代速度相當之快,10年時間完全有可能淘汰一批語言,所以一旦孩子們花費寶貴的童年時間去學習一種沒有未來的計算機語 言,結果就是白白浪費幾年時間。說到這點,樓主是押寶“中途死亡”計 算機語言錯誤的受害者,中學階段學習的是Turbo Pascal語言,大學學習的是基于Object Pascal語言的Delphi。結果沒到2005年剛畢業,由于微軟爸爸強有力的開發工具VS2005的面世,它們~都~死~了,Borland公司也 倒閉轉型。同樣的最近15年還有被淘汰的Visual Basic和Visual FoxPro,Sybase數據庫等。而C語言的頑強生命力,已經誕生了超過60年依然是主要的單片機和驅動程序,嵌入式硬件設備的開發語言。
當然瑕不掩瑜,mBot智能教育機器人依然有些小缺點,同時樓主也不确定是否是mBlock套件的bug引起的。
缺點:
1、巡線傳感器在陽光直接照射的地面上會失靈,無法正确的識别黑線邊界,導緻mbot機器人沖沖沖越界,室内開機使用則一切正常。所以mBot智能教育機器人目前适合小盆友們在室内使用和活動,不适合室外活動。
2、超聲波傳感器對傾斜接近的物體檢測較慢,要是能有90度的四個傳感器就完美了。
3、mBlock存在某些bug或者說缺少某些多重條件判斷等情況,缺少“<>”*,“-=”** 的邏輯mBlock,比較難處理複雜邏輯,比如說同時演奏音樂和尋路巡線。又比如說樓主發現“當《條件判斷》前等待”的程序代碼塊,對機身按鈕起作用,但是對紅外遙控器不起作用。樓主還不确定是mBlock的Bug還是mCore機身判斷錯誤的問題。(注:* 不等于,** 變量自減運算)
4、樓主發現8歲以上兒童一樣需要成人指導才能入門,因為編寫和上傳第一個自己的Arduino程序,需要複雜的9個步驟,實際上12歲以下沒有單片機編程開發基礎的兒童,是不可能獨自玩mBot的。正确提倡的mBot玩耍模式應該是家長自己玩明白了,再帶着孩子一起玩,或者給孩子報名興趣班。(其實腹黑的說一句,如果沒有專研精神,非理工科畢業的媽媽們,樓主也不認為你們能玩明白mBot的程序開發,基本上這是爸爸和孩子的玩具 lol)
「it168sk」-每周都有新試用
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!