在教育界提到機器人教學(xué),不免讓人聯(lián)想到樂高公司推出的LEGO Mindstorms可程序化積木系列產(chǎn)品。它提供了一套完整的方案和競賽,讓小朋友可以輕松地進入互動科技的世界,但是它的價位非常高,中小學(xué)往往不容易有經(jīng)費購置相當(dāng)?shù)臄?shù)量來進行教學(xué)。相對于樂高機器人套件的封閉規(guī)格與高價位,Arduino開放式硬件不僅成本很便宜,配合低價位的的積木組(臺灣地區(qū)可使用的智高公司http://www.gigo.com.tw發(fā)行各種組合方案),再加上Scratch(S4A:http://seaside.citilab.eu)進入門坎很低,只要懂簡單的機械原理,加上創(chuàng)意,就可以輕易地制作出獨一無二的機器人,因此“Scratch+Arduino”就成為了小朋友踏進互動科技世界的另一條快捷方式。
什么是Arduino?它是一塊開放原始碼的單芯片微電腦(如圖1),2005 年由意大利米蘭互動設(shè)計學(xué)院的教授DavidCuartielles和Massimo Banzi所設(shè)計,原始構(gòu)想是希望讓設(shè)計師及藝術(shù)家們,透過Arduino能很快地學(xué)習(xí)電子和傳感器的基本知識,快速地設(shè)計、制作作品的原型,因此,非常適合不具有電子背景的人使用,以設(shè)計出各種不同的互動科技裝置。
圖1 Arduino硬件
Arduino包含硬件與軟件兩大部分,硬件部分是一個約手掌大小的控制板,提供14個數(shù)位式輸出/輸入端,6個類比式輸出/輸入端,支持USB資料傳輸,可以使用自備電源(7~12V)或是直接使用USB電源,使用者可以在數(shù)位式輸出/輸入端上接上不同的電子裝置,如 LED燈、按鈕、蜂鳴器、游戲桿、馬達等。軟件的部分是使用基于C/C++語言,如要控制接在第13個腳位的LED燈,可以使用以下的程序代碼。
然而,這種用英文寫程序的方式,無形中限制了使用對象的廣度。因此,西班牙的Citilab組織基于Scratch的成功經(jīng)驗,改寫自由軟件Scratch并命名新軟件為S4A,創(chuàng)造出使用拖曳積木的方式來控制Arduino裝置的可能性,讓Scratch玩家們可以進一步將創(chuàng)意延伸到實體的互動科技裝置上。這種方式對中小學(xué)教育可以說是一大福音,學(xué)生不再需要有高深的專業(yè)程序知識,每個人都能完成Arduino的互動裝置。上述的LED燈控制程序在S4A中的寫法如圖2。
圖2 用S4A控制一盞LED燈
S4A如何控制Arduino呢?基本上,在Arduino控制板上必須事先上傳一份S4A的軔體程序,然后透過這個程序不斷地與S4A主程序溝通,Arduino與計算機間可以通過有線的USB連接線或無線的藍牙模塊來傳輸,在S4A主程序中設(shè)定好使用的端口位置,就可以偵測到Arduino的狀態(tài)。以控制接在第13腳位的LED燈為例,我們可以應(yīng)用在以下的案例情境:讓蝙蝠不斷地在左右飛行,當(dāng)它碰到舞臺邊緣時,LED燈就會亮0.5秒。
傳統(tǒng)的Scratch程序中,程序的執(zhí)行結(jié)果是通過屏幕與喇叭來做輸出,在這個例子中,我們可以將程序的執(zhí)行結(jié)果輸出到LED燈,因此,借由S4A能引入一些硬件裝置以讓Scratch程序與現(xiàn)實世界鏈接,探索更多的可能性。S4A除了原有的Scratch八大類積木外,在動作類還額外提供了12個積木來與Arduino互動(如圖3)。透過這些積木,我們就能與接在Ardunio控制板上的各類電子組件與傳感器互動。
圖3 S4A的感測與控制語句
除了LED數(shù)字輸出外,也可以使用模擬輸入設(shè)備,圖4的滑桿裝置就是一種常見的輸入裝置。
圖4 用畫板作為模擬量輸入
S4A提供一個模擬輸入的積木,A0腳位對應(yīng)到面板的Analog1,它的輸入值的范圍是0~1023。我們使用岔開A0管腳上的滑桿來調(diào)整籃子的位置,當(dāng)滑桿左右滑動時,就可以控制籃子的位置,如圖5。
S4A讓互動科技創(chuàng)作變得更簡單,有鑒于此,2011年11月在宜蘭縣佛光大學(xué)許惠美老師與苗栗縣蟠桃小學(xué)范運平老師的號召下,臺灣的S4A教師專業(yè)社群因而誕生。社群創(chuàng)立之初便獲得熱烈響應(yīng),中小學(xué)教師紛紛主動加入,大家的共同目標是希望通過彼此分享機器人教材的運用,討論如何帶著學(xué)生們從互動機器人中學(xué)習(xí)新知識,一同研究將硬件機器人導(dǎo)入學(xué)校的具體做法,藉由社群討論的力量讓教學(xué)更上一層樓,希望運用更多元的教材來吸引學(xué)生的注意力,增添教學(xué)樂趣,也期望藉由這樣活潑的教學(xué)方式帶給學(xué)生多一些啟發(fā)。
由于受限于文字篇幅,無法以書面數(shù)據(jù)介紹太多的S4A案例,進一步的數(shù)據(jù)可以參考筆者所撰寫的書籍《程序設(shè)計邏輯訓(xùn)練——使用Scratch》,其中第五章Arduino互動科技篇有專文介紹。動態(tài)的作品展示可以參考范運平老師所制作的一系列影片,專輯地址是,http://www.youku.com/playlist_show/id_20022205.html。
此外,作為兩岸教師交流的一種途徑,也非常歡迎讀者加入我們的討論組做進一步的交流:https://groups.google.com/forum/#!forum/s-4-a,也衷心期望大陸的Scratch教師來臺訪問,我們會用最新穎的互動科技作品來歡迎你們!(作者電郵koma@mail.nksh.tp.edu.tw)