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