“我測”是由芥末堆策劃的一檔測評“實體教育產(chǎn)品”的欄目,我們會用真實、獨立且主觀的體驗來測評使用過程,以發(fā)現(xiàn)它的精彩之處和不足之處。所以也歡迎被選中的產(chǎn)品負責人在文章底部評論區(qū)內(nèi),對體驗者錯誤的操作進行糾正或是對發(fā)現(xiàn)的問題進行答復。
前 方 多 圖 預 警
本期要測試的產(chǎn)品是“Makeblock mBot (藍牙版)”,官方介紹是一款為素質(zhì)教育而生的低門檻“機器人小車”,適合初學者學習 STEM(沒有 Art) 領域——科學(Science)、技術(shù)(Technology)、工程(Engineering)、數(shù)學(Mathematics)的知識,八歲以上的孩子可獨立完成。
(完成組裝后,就是左側(cè)圖里的樣子)
mBot 分為硬件和軟件兩個部分,硬件是標準化的電子零件,可通過無焊接的方式組裝完成,同時配有一個簡易遙控器可供拼裝完成后直接“駕駛”;此外軟件部分則有通過藍牙直接實現(xiàn)操控的 mBot APP,同時還是支持基于 Scratch2.0 開發(fā)的圖形化編程軟件 mBlock,以及 C 語言編程的 Arduino,但都需到官網(wǎng)下載。所以綜上,我把整個 mBot 的體驗分成了 4 個部分:
機器人小車的組裝及簡單遙控
初步了解機器人小車的主要零件和編程軟件
自帶三個問題:控制什么?拿什么控制?如何實現(xiàn)控制與被控制?分別使用 mBlock 和 Arduino 對機器人小車編寫程序并運行
測試后的整體評價及其他觀眾的評價
但是在開始之前,我希望大家跟我一起思考兩件事兒:
第一件事,越來越多的編程或機器人產(chǎn)品將使用門檻降低,那么在提高了操作便捷性的同時,它們的趣味性有增加嗎?被吸引的孩子/零基礎人群眼中的“有趣”又是什么?這類產(chǎn)品在創(chuàng)客教育中有著什么樣的存在意義?
第二件事,在 makeblock 之前還有下邊這兩款產(chǎn)品。左邊叫單片機,常見于各種科技比賽和高等學府的畢業(yè)設計;右邊則叫樂高,屬于有產(chǎn)業(yè)文化背景的青少年界 IP 大亨。那么 makeblock 與他們相比有什么不同嗎?或者是有什么更精彩之處嗎?
Part.1 組裝機器人小車組只需要 23 分鐘
首先是拆包圖:
必要零件包括電機、mCore 主控板、藍牙模塊、5 號電池盒、輪子、巡線傳感器、全向輪、超聲波傳感器、鋰電池、遙控器、電子連接線。所以基本就是上圖這些,沒有無用零件。而組裝手冊則分為四大部分:零件清單、mCore 詳解、組裝過程、連線。繪制的步驟清晰,其中組裝過程分為 12 步,每一步從位置到所需零件都標注的很明確。
其中有一點細節(jié)是,雖然它在安裝步驟中標注了每個螺絲的名字“M2.2”、“M3 自攻螺絲”、“M4”,但并沒有詳細地對應到具體是哪個實物。不過因為只有三種,所以即便是新手也可以通過步驟圖示來分辨出用哪個。
從第 1 步到第 8 步都是通過螺絲完成的拼接,而且按照組裝說明來操作,完成只用了 15 分鐘。最明顯的感受就是零件之間嚴絲合縫,即便是手殘黨也能搞定。不過對我這種從沒碰過機器人的家伙來說,最讓我覺得驚喜的是那個螺絲刀,期初我以為這個只是用于輪子上的自攻螺絲,但直到我發(fā)現(xiàn)沒有螺母的短粗型 M4 螺絲,是徒手搞不定的……
螺絲刀的原始狀態(tài)是鋼棍和手把分開的,六邊形凹槽的 M4 螺絲讓我糾結(jié)了一下,在翻完組裝說明還是沒有新發(fā)現(xiàn)后(確定并不是遺失了別的零件),我才想起鋼棍的另一頭也是這個形狀——這可能是我在這套產(chǎn)品里唯一感受到不是“低門檻”的細節(jié)了。
此外除了零件組裝本身就很“低門檻”,這套產(chǎn)品在細節(jié)之處也給了許多小白或粗心用戶更多的貼心提示。比如上面這個電池盒電線位置的說明,如果電線在銅柱前方,那么當銅柱上方安裝好 mCore,再取出電池盒就會變得有些麻煩。
從認識零件到全部組裝,一共用了 23 分鐘,基本上沒遇到不知道怎么拼和拼不上的問題,確實可以說是一款低門檻的“組裝產(chǎn)品”(上次那個電子沙漏我搞了兩天)。
到此,就可以用套裝內(nèi)的遙控器來進行前后左右的操控了。但這個小車在前行時會發(fā)出奇怪的聲響,翻過來憑空運行時則沒有,應該是“萬向輪”的原因,但這個我自己沒有解決辦法。而芥末堆小伙伴有跟我說電機或輪子安反了的,我覺得如果是這個基礎的話,就還是別碰這種玩具了。
全部拼裝完成后,還有一部分連接零件的剩余,其中還包括一個“電機軸”備用包。
Part.2 在編程之前得先了解要“用什么控制什么”
一、機器人小車上被控制的零件
未經(jīng)編程開發(fā)的 mBot 只有簡單的前后左右運動,因此在所有零件中能夠提供“額外”展示,就只有巡線傳感器和超聲波傳感器這兩個零件了。那么在官方介紹中,它們可以分別提供以下展示:
(超聲波傳感器)
(巡線傳感器)
除此之外,根據(jù) mCore 的介紹,主板上還有 LED 三色彩燈、蜂鳴器。
(LED 三色彩燈效果預覽,程序:三色循環(huán))
二、實現(xiàn)控制的程序編寫軟件
面對陌生的 Arduino,我決定先嘗試下基于 Scratch 開發(fā)的 mBlock,而如果你連 Scratch 都不知道,推薦你先了解一下這個積木式編程鼻祖,看它是如何拉近兒童與編程的距離的。
但說到這里有個特別的要提醒:makeblock 最早是在美國 Kickstarter 上眾籌的項目,目前已經(jīng)在京東有售,但包裝盒上除了型號以外沒有任何中文字,套裝內(nèi)也只有組安裝手冊是中文的。
說回編程軟件,mBlock 是一款 120M 大小的壓縮包,解壓后會有安裝文件,支持中文簡體,可以快速上手;而 Arduino IDE 則只有 58M,唯一不同的是 Arduino 只支持英文。但除了要安裝以上兩個軟件外,還需要安裝 Arduino 驅(qū)動。小白用戶記得安驅(qū)動!安驅(qū)動!重要的事情要說三遍!不然你就會像我后邊那樣開始犯蠢……
(mBlock / ScratchBot 界面)
( Arduino 界面)
此外 makeblock 還提供了從 ScratchBot(mBlock) 語言到 Arduino 語言的轉(zhuǎn)換,這樣可以更好地理解代碼的編寫與編程的含義。
makeblock 的論壇里還有兩種編程語言的示例視頻教程,我還額外發(fā)現(xiàn)了一個叫做 Ardublock 的軟件:以圖形化積木搭建的方式編程,使編程的可視化和交互性加強,降低編程門檻,即使沒有編程經(jīng)驗的人也可以嘗試給Arduino控制器編寫程序。
(感覺像是 Scratch 和 Arduino 合體了)
三、連接運行程序的電腦和小車
根據(jù)組裝手冊提示:小車上的藍牙模塊可以用來和 Android 或 iOS 智能手機配對控制 mBot,也可以支持藍牙通訊的電腦配對使用 mblock 來無線編程。那么再根據(jù)組裝手冊上的傳送門,就可以很快遞找到連接方法了。
但實際操作起來并不順利,首先你需要一臺支持藍牙的電腦,于是我從臺式機換到了筆記本;然后因為藍牙的使用演示是 Windows 版本的,這在參考上又減少了一些價值;而最無奈的,是我的渣 Mac Air 根本帶不起來這個小車,總是提示“拔掉耗電量太大的設備”。(到這里我還沒有意識到自己換電腦后沒安 Arduino 驅(qū)動,雖然并不確定是否一定相關)
程序員小哈提示:“換個臺式機試試,用后邊的接口,別用前邊的。”但不甘心的(臺式機沒有藍牙,甘心就等于放棄啊)我又借來了同事的 ThinkPad,結(jié)果……直接重啟了。直到我棄療開始想直接瀏覽網(wǎng)站的編程案例,才不小心找到了 Mac 版的安裝教程!接著又不小心看到了有安裝驅(qū)動這一環(huán)節(jié)!安完就可以按步驟來完成藍牙固件的安裝了,只不過安完以后再連電腦還是提示停用。
總結(jié)一下用電腦實現(xiàn)藍牙操控的過程(套裝內(nèi)的組裝說明并沒有寫):
安裝 mblock 和 Arduino 驅(qū)動;
Mac 版的 Arduino 驅(qū)動是從 mblock 上跳轉(zhuǎn)到 Github 下載的,然后在安裝的過程你還會遇到使用指令窗口的步驟,但如果你像我一樣是小白用戶,Mac 的指令窗口可以在“系統(tǒng)其他”里找到,文件名叫“終端”;
而在執(zhí)行代碼的時候,要注意的是如果你比我還要小白,請只輸入紅色框內(nèi)的代碼,因為 $ 前應該是你電腦的名字;操作完上一步你的電腦就重啟了,但如果你不知道這一步是重啟也不用緊張,iOS 不同于 Windows 系統(tǒng),重啟完之前打開的頁面也都會原封不動地還在;
重啟后繼續(xù)參考安裝教程的步驟安裝藍牙固件,一切都完成后,就可以實現(xiàn)無線編程了。
至此,請允許我用一個表情——
Part.3 體驗編寫程序和運行程序
一、電腦控制
在 Mac 安裝驅(qū)動的教程最后還有一個非常短的測試,是給鍵盤匹配操控功能,但只有前后進退。不過因為在編程之前就向小哈(我堆程序員)詢問過一個問題:小車實現(xiàn)轉(zhuǎn)向,比如向左轉(zhuǎn),是說左輪不動右輪動嗎?小哈的回答是:不是不動,是改變轉(zhuǎn)速,所轉(zhuǎn)方向一側(cè)的輪子轉(zhuǎn)速低于另一側(cè)的轉(zhuǎn)速,就可以實現(xiàn)轉(zhuǎn)向。于是就有了下方這個基礎版的操控:
但在運行的過程中,小車出現(xiàn)了一個問題:指令為向左轉(zhuǎn)向時,小車會先向右偏轉(zhuǎn)一下,然后再向左。而這個問題在右側(cè)旋轉(zhuǎn)時則沒有出現(xiàn),于是我把小車反過來看了一下:
(圖為翻轉(zhuǎn)狀態(tài),按小車正面行駛狀態(tài)區(qū)分左右輪)
實際上,無論按左鍵(左轉(zhuǎn)命令)還是按右鍵(右轉(zhuǎn)命令),小車都是左輪先動,而左輪先動就意味著在這段時間內(nèi)“左輪轉(zhuǎn)速大于右輪轉(zhuǎn)速”,所以必然導致小車向右偏移。
于是我改了一點兒程序設置,將左鍵(左轉(zhuǎn)命令)中的兩個電機接口換了下順序,而電機接口2就是小車的右輪。這時候再運行程序,小車就不會再出現(xiàn)向右偏轉(zhuǎn)的情況。這也就意味著在執(zhí)行程序的時候是有先后順序的,先設置哪個電機接口,哪個輪子就先動。
小哈(芥末堆程序員)表示他當初玩單片機的時候是不會出現(xiàn)這種明顯啟動差異的,有可能是電池問題,他們當時用的是 2~4 節(jié) 3.6V 的 18650 型鋰電池——我用的是 4 節(jié) 1.5V 的五號電池,并沒有用 mBot 套裝內(nèi)自帶 3.7V 鋰電池。
不過這對整體使用并沒有太多影響,在用電腦完成基本操作之后,通過官方論壇我還找到了“避障小車”和“巡線小車”的編程示例。在按照視頻里的步驟可以很輕松地“復制”程序,然后右鍵單擊“mBot 主程序”選擇“上傳到Arduino”即可實現(xiàn)對小車的程序傳送。
(由 mBlock 編寫的壁障小車程序,右側(cè)為自動生成的 Arduino 代碼)
上圖運行效果是小車在遇到障礙后可自動尋找新的行進路線,但基本上都是撞到東西以后才會改變方向,而且 distance(距離)的設置變動對小車基本沒影響。此外遇到的問題還有視頻里只有“執(zhí)行”命令而沒有“停止”命令,而且在第一次修改成電腦控制后,我的遙控器就失靈了,所以我又加了一個“按下空格鍵則前進速度為 0 ”的設置。
實際上在做巡線小車的時候遇到的問題更多,最嚴重的是我認為以當前小車狀態(tài)無法更好執(zhí)行——或者,是需要比官方示例更優(yōu)化的方案。
(巡線小車程序:左側(cè)為官方示例,右側(cè)為改進方案)
巡線小車的基本原理應該是通過對黑色路線的識別,判斷是車頭偏右還是偏左,如果偏左則一 A 燈滅并執(zhí)行右轉(zhuǎn)回歸軌道命令,反之B等執(zhí)行左轉(zhuǎn)命令,如果巡線器兩邊都識別不到說明完全駛離正確方向,所以執(zhí)行后退命令。但按照示例的編程執(zhí)行并不能很好地巡線,一開始我以為是轉(zhuǎn)速太快導致小車跟不上識別速度,于是把速度改了——事實證明然并卵。
(官方示例程序 50 轉(zhuǎn)速下的躲線小車 - GIF幀數(shù)有加快)
注意觀察上圖,當小車識別到已偏離黑色軌跡時,小車執(zhí)行的是倒退偏轉(zhuǎn)……于是我又想可能是轉(zhuǎn)速太低,當雙側(cè)均為未識別到黑線時小車執(zhí)行退后命令,以至于再前進很難——我瞎猜的,因為改成 150 也不行,接著我又翻了翻 mBlock 的界面和論壇,結(jié)果發(fā)現(xiàn)沒人有我這么愚蠢又小白的問題,所以在意識到“啊反正我也搞不定了”之后,初步體驗完 mBlock 的我又試了試 Arduino。但簡單總結(jié)一句話就是:官網(wǎng)沒有教程,面對著空蕩蕩的陌生界面我選擇繼續(xù)玩 mblock。
(重溫一下 Arduino 界面,我知道它并不是為我而生)
二、mBot APP
如果你不愿意編程,在做完小車后還可以下載 mBot APP。它支持藍牙無線控制,提供 3 種情景模式分別是:手動控制(操縱桿/重力感應)、超聲波自動避障、巡線模式。此外右側(cè)還支持響起蜂鳴器、LED 亮燈、200轉(zhuǎn)速快沖。
(mBot APP 界面)
Part.4 對 makeblock mBot 的整體評價及其他觀眾評價
一、我的評價
使用過程中的優(yōu)缺點已經(jīng)在上述中寫過了,結(jié)尾就來聊下開篇咱們提過的兩個問題:
趣味性有增加嗎?mBot哪里吸引人了?
我:首先對我而言,趣味性有,但很有限;具體增加的地方就是十多年前我買完四驅(qū)車拼完只能按開關,現(xiàn)在拼完我能做的更多的操控了;而如果說它吸引人的地方,我并不覺得是所謂的“酷炫高科技”,而是在于每次的“發(fā)現(xiàn)、思考以及解決問題”,為什么小車左轉(zhuǎn)時會先右偏?巡線器的作用原理以及為什么我沒成功?如果否則語句的套嵌邏輯?這些對我來說才是 mBot 的魅力所在——但其中比較重要的一點是“能解決問題”,這也是我認為“低門檻的教育科技產(chǎn)品”在教育中的重要意義,它不會讓你陷入完全的混沌;不過同樣的,我也認為低門檻并沒有增加教育產(chǎn)品的趣味性,但成就感著實提升不少——正如它所說:低門檻,快速入門的機器人套件。
與單片機和樂高機器人相比,mBot 做了哪些創(chuàng)新?
其實這個問題,我堆程序員小哈更有發(fā)言權(quán),在他眼里這東西等同于“還是原來的味道”,可以說除了軟件以外就沒什么不同了,主板上還是那些接口,零件也沒什么變化;而如果跟樂高比,樂高也用的是 scratch,不過 makeblock 是有 3D 打印系列的,哦樂高也有……說實在的,我也不知道 mBot 做了哪些創(chuàng)新——難道就是塑料變鋁合金么?或許這個需要真的在做這個項目的人來回答才可以。
二、觀眾評價
小哈:“我覺得這個東西基本就是用于比賽刷分,或者是畢業(yè)設計用,哦我說的是單片機?!?/p>
大B:“哪有什么樂趣?編程的樂趣都是成年人強加上去的?!保w驗者補充:“我認為小孩被編程吸引的點與成年人沒有區(qū)別,不服來辯,網(wǎng)頁右上角有‘投稿’入口?!保?/p>
東瓜:“所以如果編程可以直接照抄,又有什么教育意義呢?”
以上一些思考的聲音,但實際上我聽到的最多的還是“哇,這是什么?”“挺有意思的??!”“還能自己躲障礙呢?加塊布就能拖地了吧!”之類的,而且如果我們不從教育角度來看待這個產(chǎn)品,其實我還挺喜歡他們官網(wǎng)寫的一句話的:我們提供給用戶的是實現(xiàn)想法的能力。
世界上的第一個操作系統(tǒng)不是 Windows,第一臺計算機更不是你那個輕薄的 Mac air,一切科技的發(fā)展其實都是在降低大眾使用的門檻,這樣才能有更多的人提高“創(chuàng)造的效率”。換到創(chuàng)客教育中,我認為這正是“低門檻的高科技教育產(chǎn)品”的意義。
但如果是 STEM 教育,我覺得“低門檻”僅僅只能做啟蒙而已,后續(xù)的學習路徑則更為重要——也就意味著教育產(chǎn)品或教育者必須做好更完善的引導。
2、芥末堆不接受通過公關費、車馬費等任何形式發(fā)布失實文章,只呈現(xiàn)有價值的內(nèi)容給讀者;
3、如果你也從事教育,并希望被芥末堆報道,請您 填寫信息告訴我們。