劉恩霞 翟希元 孫站英
摘要:機器人教育是今后信息技術學科教育的主要陣地,是全面培養(yǎng)學生信息素質提高其創(chuàng)新精神和綜合實踐能力的良好平臺。開源機器入是一種應用于科學研究和教學的資源開型機器入,其主要特點體現(xiàn)在機器人硬件或軟件的開放性,由于硬件和軟件的對外開放而得以在教學中推廣使用。近年來STEAM教育理念日漸成熟,為培養(yǎng)學生的全新精神提供了有效途徑,基于STEAM育理念,借助STEAM模式開展小學開源機器人課程的學習實踐與研究,以Arduino Nano單片機與超聲波傳等傳感器設計的智能澆花機器人為典型案例,為機器人教育提供一次有意義的探索。
關鍵詞:機器人;STEAM;Arduino開源硬件
一、引言
人工智能正向我們走來,機器人是人工智能的一個載體,我們所居住的環(huán)境中出現(xiàn)了無人環(huán)衛(wèi)車、無人公交車,這正是機器人在生活中的真實應用。機器人的研發(fā)目的不正是如此嗎?STEAM教育要求以科學的態(tài)度認知事物,以數(shù)學為基礎,從工程和藝術的角度解讀科學和技術,以跨學科的理念將不同類型的學科融合,為當代社會的進步提供優(yōu)秀人才支持。
機器人是一個綜合了機械原理、電子傳感器、計算機硬件及人工智能等眾多行進技術多學科的研究領域。開源機器人(open Source Robot)是一種應用于科學研究和教學的資源開放型機器人。其主要特點體現(xiàn)為機器人硬件或軟件的開放性。由于硬件和軟件資源的對外開放,極大地方便了機器人技術的交流及二次開發(fā),學生可以根據(jù)自己設計自主搭建、自主編寫代碼,充分發(fā)揮其樂于創(chuàng)造的天性,因此,開源機器人備受師生的推崇。教育機器人在國內(nèi)尚處于起步階段,缺少課程標準與教學專家的參與和指導。
本文基于為機器人課堂注入更多創(chuàng)造力、更多批判性、可持續(xù)性的元動力,以項目式學習為依托,以小學Arduino開源硬件課程設計與實踐為主要內(nèi)容進行研究,以期為開源硬件教育的進一步實踐提供參考。
二、相關概念
(一)Arduino開源硬件
Arduino是一款簡單易用、便于上手的開源電子原型平臺,包含硬件部分(各種符合Arduino規(guī)范的開發(fā)板)和軟件部分(Arduino IDE和相關的開發(fā)包)。硬件部分(或稱開發(fā)板)由微控制器(MCU)、閃存(Flash)以及一組通用輸入/輸出接口(GPIO)等構成,你可以將它理解為是一塊微型電腦主板。
軟件部分則主要由PC端的Arduino IDE以及相關的板級支持包(BsP)和豐富的第三方函數(shù)庫組成。使用者可以借由Arduino IDE輕松地下載你所持有的開發(fā)板相關的BSP和需要的函數(shù)庫,用于編寫你的程序。Arduino IDE是一個基于C語言的編程環(huán)境,通過程序的編寫、上傳控制Arduino硬件,控制多種傳感器、伺服馬達等零件,完成自動控制,但C語言的編程環(huán)境對編程者要求較高,隨后Arduino官方平臺開發(fā)了基于圖形化編程的Ardublock(圖1),北京師范大學基于Goolge的Blockly圖形化編程軟件開發(fā)了Mixlv(圖2),Citilab和Smalhalk團隊在圖形化編程軟件Scratch的基礎上改版推出了Scratch for Arduino(圖3),動力貓公司基于Scratch3.0圖形化編程軟件開發(fā)了Scraino(圖2),這些圖形軟件各有千秋,使Arduino編程門檻降低,使其得以走進小學課堂教學,促進了Arduino開源平臺在教學中的廣泛使用。
(二)STEAM教育
STEAMEducaion是科學(Science),技術(Technology),工程(Engineering),藝術(Arts),數(shù)學(Mathematics)五個首字母的簡稱。STEAM教育就是集科學、技術、工程、藝術、數(shù)學為一體的,多學科、跨學科、多元化智能融合的教育理念。STEAM教育在國外叫做STEM,因部分學者主張認為STEM只是“理工科”的學習,但它又不僅僅只包含理工科的知識。還有藝術、人文、社會、情感等學科的融入,所以應該加上一個A,即藝術(Arts),故而STEM變成了STEAM。STEAM教育要求以科學的態(tài)度認知事物,以數(shù)學為基礎,從工程和藝術的角度解讀科學和技術,以跨學科的理念將不同類型的學科融合。
STEAM教育要求學習者基于問題的學習、基于探索式的學習、基于項目式的學習、基于情景式的學習。
STEAM教育要求教育者擁有多學科、跨學科、綜合性、多面性的知識,以趣味性、游戲性的教學方式去設計和開發(fā)STEAM課程。
教師需要合理安排教學過程,即如何讓學生發(fā)現(xiàn)問題;如何設計解讀問題的方法;如何利用科學、技術、工程、數(shù)學、藝術等知識解決問題;如何運用理性方法驗證解決效果。
本機器人項目按照:確定主題—功能目標設定一資源儲備—項目設計一多元評價的流程進行實踐。
三、STEAM教育理念下的小學機器人課程教學實踐研究
(一)確定實踐項目主題
STEAM教學強調(diào)知識整合能力,強調(diào)培養(yǎng)解決實際問題的能力,強調(diào)培養(yǎng)學生的動手能力,項目主題的確定關系到項目活動能否順利進行,一個貼近生活,富有挑戰(zhàn)性的主題既能激發(fā)學生興趣,又能讓學生利用已有知識儲備探究新知。項目主題的來源既可以是課程標準、日常生活,又可以是社會和國家的重大事件。選題原則:一是生活性。吸引學生參與項目之中,創(chuàng)造性地開展學習實踐。二是學科綜合性。讓學生綜合應用多學科知識發(fā)現(xiàn)問題、解決問題,得到跨學科知識應用的能力。三是復雜性。具有一定復雜性能,融合多學科知識,喚起學生已有知識經(jīng)驗。四是實踐性。讓學生在創(chuàng)新實踐中提升對知識的應用能力和問題解決能力。
由于社團的學生受個人能力及第一次參與這樣的主題活動沒有經(jīng)驗的限制,我和同學們共同進行了此次活動的選題。
隨著生活質量的提高,越來越多的人喜歡在家里種植一些花卉,既能增加美感,又能凈化空氣。但隨著現(xiàn)代生活節(jié)奏的加快,人們因為出差、旅行、工作忙碌等種種原因而不能及時地為家中的盆栽及時地補充水分,從而導致盆栽因為缺水而枯萎。為了解決這一問題,同學們確定了設計制作智能澆花機器人的主題。
(二)功能目標界定
從主題出發(fā)將分散的學科知識進行整合以界定功能目標。首先,讓學生進行調(diào)研分析目前網(wǎng)絡上展示的各種澆花裝置的優(yōu)缺點,學生認為現(xiàn)有的澆花裝置處于靜態(tài)模式,不能移動澆水,因此,學生創(chuàng)造性地提出以移動小車為平臺進行澆水作業(yè)。其次,讓學生討論研究澆花的次數(shù),經(jīng)學生討論認為目前先實現(xiàn)澆一盆比較合理。最后,讓學生探討哪些Arduino傳感器和元件可以實現(xiàn)智能澆花小車的功能。
經(jīng)過同學們的研究將此項目在設計上分為四部分:啟動裝置、尋跡部分,澆水部分,澆水結束。
當花盤中的土壤傳感器的濕度達到一定值時,通過藍牙通信啟動裝置;尋跡部分又分為初步檢測花盆位置,行進中檢測花盆位置,進入花盆近距檢測時進一步精確花盆位置,以確定合適的澆水位置停止行進;通過水泵進行澆水操作;當土壤傳感器達到一定值時再次通過藍牙通信停止抽水作業(yè),機器人退回,澆水結束。
(三)資源儲備
資源是批支持學習者完成項目的工具或材料,項目的主要資源集中在創(chuàng)客教室內(nèi)。Arduino開源硬件資源主要可以分類兩類:技術類資源、輔助類資源。
技術類資源包括:Arduino開源硬件及其傳感器、計算機、伺服電機、搭建構建、Scraino圖形化編程軟件等。
輔助類資源包括:視頻、圖書、支持學習的技術環(huán)境等。
(四)項目設計
本項目使用的開源硬件是動力貓公司提供的ArduinoNano單片機及其傳感器套件及其公司開發(fā)的基于Scratch 3.0的圖形化編程軟件Scraino2.2,Nano單片機功能較強,體積小,耗能小,兼容市場上大多數(shù)Arduino傳感器,其Scraino軟件開放性較強支持市場上大多數(shù)Arduino單片機。
1.流程控制框架
引導學生根據(jù)本項目的程序功能寫出總流程圖,根據(jù)總流程圖把整個程序劃分成LED顯示模塊、藍牙通信模塊、超聲波尋跡模塊、澆水模塊、澆水結束五個主要的功能模塊,每個功能模塊都要寫出基本流程圖,這主要是為以后的程序編寫起到一個指導作用。當然,在實際的程序編寫過程中肯定會有一些改動,一個基本的流程會指導學生在寫程序的過程中不會出現(xiàn)太大的偏差。每個功能模塊定義為獨立函數(shù),模塊間使用遞歸調(diào)用,數(shù)據(jù)傳遞變量定義為全局變量。
2.電子元件精度測試
引導學生上網(wǎng)查閱傳感器手冊并編寫簡單測試程序對電子元件進行精度測試。項目中需要配對使用的電子元件,首先要進行相應的精度測試,然后選擇精度相近的電子元件配對使用。本項目中尋跡模塊中使用的超聲波傳感器和兩個差速電機都需要配對使用。
(1)電機配對
本項目中要讓小車直線行進、轉彎,經(jīng)過充人測試程序,測得如下數(shù)據(jù):車前進或后退操作時兩個電機相同轉速旋轉,車子基本直線運動;在執(zhí)行轉彎操作時,左右兩邊電機以同樣速度旋轉一定角度時扭力有一定的偏差,兩個電機轉速大概相差10,這個問題我們通過后期程序編寫中的參數(shù)設置進行了校正,另外搭建好的車子正常行進時兩個電機的轉速要在70以上,低于70轉時車子動力不足。
(2)超聲波傳感器的配對
起初先在距離小車1米處放置障礙物,之后讓數(shù)碼管讀取超聲波傳感器數(shù)值,讓數(shù)值較為接近的兩個傳感器配對,但由于傳感器返回的數(shù)值是一個不穩(wěn)定動態(tài)值,這種方法并不可行;之后我們還是在小車1米處放置障礙物,讓小車在距離障礙物10厘米處停下,選取兩個最接近10厘米值的超聲波傳感器進行配對使用。
3.設計機器人搭建模型
引導學生通過查閱資料以及根據(jù)對車輛的已有認識,進行項目模型的構建,為了使小車的底盤更加穩(wěn)健,外形更加美觀,同學們熱烈討論,提出不同方案,經(jīng)過設計修改,再設計再修改,學生終于確定小車為履帶式,三個超聲波傳感器扇形于車頭前擺放,水槽置于后輪承重梁上方的方案。在這個過程中注重引導學生搭建模型要符合功能需求,在注重科學性的同時還要具有美感。
4.組裝搭建機器人
引導學生以工程的角度分析搭建機器人的車身、組裝馬達、安裝主動輪及從動輪、履帶,安裝擴展板,安裝單片機、超聲波傳感器、LED屏、舵機、伺服電機等,并將單片機與各個電子元件利用杜邦線相連,最終搭建完成的機器人如圖:
5.超聲波尋跡探測原理
引導學生運用已有的科學、數(shù)學知識對超聲波尋跡探測原理進行分析,并推算出探測公式,由于小學生數(shù)學知識儲備相對較少,教師引導學生多做測試,盡可能通過測試獲得所需數(shù)據(jù),闡述如下:
首先引導學生通過對超聲波傳感器原理進行分析,使學生認知到一個超聲波傳感器可以測距避障,如果兩個超聲波傳感器同時對一個花盆測距呢?能不能探測尋找花盆呢?學生通過實驗得出了兩個超聲波一左一右按一定角度擺放然后進行差值運算控制電機1和電機2的轉速實現(xiàn)哪邊超場波距離花盆近,車子向哪邊拐,近而尋找花盆,在此基礎引導學生引入第三個超聲波會感器讓車子在距離花盆10厘米處停下,車子的行走路線呈S型。(如圖)
測試實驗過程中及時引導學生通過過已有數(shù)學知識建立公式模型:(此表中超聲波傳感器簡稱超)
這個過程很好地體現(xiàn)了數(shù)學、科學、物理、藝術等學科的高度融合,學生對于如何批判性地去思考問題,創(chuàng)造性地解決問題的過程有了一個良好的體驗。
6.編程調(diào)試
在編寫程序的過程中指導學生根據(jù)項目功能進行模塊化(函數(shù))編寫,以遞歸方式調(diào)用函數(shù),使用全局變量進行函數(shù)間的數(shù)據(jù)傳遞。在程序中設置陷阱程序反復核對運行狀態(tài)來應對軟硬件錯誤,下面以超聲波尋跡探測模塊為例闡述如下:
這個函數(shù)的編寫主要用到了Scraino圖形化軟件中的“算定義模塊”“重復執(zhí)行到”“如果……否則……”等程序指令。首先通過控制電機原地扭動車子,讓超聲波傳感器感知到花盆的存在,之后進入s行走功能,對過比較左右兩個超聲波傳感器的差值控制兩個電機的轉速,實現(xiàn)邊行進邊轉向功能,這其中針對超聲波傳感器的性能,我們先通過對超聲波感器數(shù)值除以3再向下取整的方式降低超聲波傳感器數(shù)值精度,以取得對編程有用的數(shù)值。行進中實時判斷超聲波傳感器距離花盆的距離,如果距離小于10厘米,讓電機轉速為0車子停止。(因Scraino為圖形化編程,程度截圖無法完全展開,而其又支持獲得Arduino IDE編碼,故以編碼形式展示。)
在編程的過程中學生對利用框架思維發(fā)現(xiàn)問題有了一定的認識;對利用問題拆解思維思考問題有了一定的了解體會,對通過函數(shù)思維解決問題有了進一步的內(nèi)化體驗。學生的編程思維得以很好的訓練。
(四)多元評價
本項目在小學五年級社團中開展,為期一學期,一共16課時,在項目實踐的過程中不斷對小組團隊合作、項目評價進行了有意義的評價,基于評價學生再不斷修改不斷完善作品。
1.小組團隊合作
在本項目開展過程中,每組都有自己的小組合作學習記錄本,用來記錄學生個人得分和小組得分,主要由成員參與度、發(fā)現(xiàn)問題情況、解決問題態(tài)度等組成,每次活動后評選出最優(yōu)秀的學習小組,活動結束后總評。這個評價過程提高了學生的凝聚力,對學生個人也起到了良好行為的約束。
2.項目評價
項目通過交流、展示,向其他人講解項目原理、實施過程、結果分析,回答他人提出的有關問題,進一步加深對項目的理解和相關知識的應用。
四、結語
智能澆花機器人項目,通過項目學習的方式,引領學生借助信息技術學習項目必備知識,精心設計機器人搭建模型,通過對電子元件及拼接構建的進行結構等方面的分析完成工程搭建,利用圖形化編程軟件進行編程,最后對項目進行科學評價。在設計與研究機器人項目的沉積中,學生充分體驗STEAM教育思想學習的整個過程,跨學科的融合有效培養(yǎng)了小學生利用批判性的思維思考問題,創(chuàng)造性地解決問題的能力。期望此項目的實踐研究能為今后小學開源機器人課程的研究提供些許新思路。