羅晶
隨著國家對人工智能、編程的大力推廣,越來越多的學(xué)校將micro:bit引入信息技術(shù)課堂。畢竟對于學(xué)生來說,單純的編程語法學(xué)習(xí)枯燥并且抽象,選擇一款具有創(chuàng)造性和趣味性的開源硬件輔助開展編程教學(xué),能夠幫助學(xué)生在學(xué)習(xí)編程這條路上走得更遠(yuǎn)。
然而受新冠疫情影響,傳統(tǒng)課堂不得不轉(zhuǎn)入在線學(xué)習(xí)模式,知識獲取方式和傳授方式,以及教和學(xué)的關(guān)系發(fā)生了明顯變化。本文結(jié)合教學(xué)實例,分享micro:bit在Python網(wǎng)絡(luò)教學(xué)中的應(yīng)用實踐和教學(xué)注意事項。
教學(xué)主題
Python硬件實踐
教學(xué)對象
有一定Python基礎(chǔ)的學(xué)生
教學(xué)目標(biāo)
學(xué)習(xí)并掌握micro:bit硬件的基本知識,通過Python控制硬件,讓學(xué)生將計算機(jī)與生活緊密聯(lián)系起來。
教學(xué)內(nèi)容
課前準(zhǔn)備——軟件和編輯器
方法l,通過下載安裝MU軟件,可直接將代碼刷入到micro:bit板子上(見圖1)。
方法2,如果網(wǎng)絡(luò)環(huán)境較好,可直接使用在線編輯器,隨時隨地進(jìn)行編程(見圖2)。
教學(xué)說明
◇認(rèn)識micro:bit(見圖3)
nRF51應(yīng)用處理器IC:nRFi1應(yīng)用處理器IC是讓使用者作主要程控的處理器,完整的程序包含了用戶客制與中介層( runtime),以及藍(lán)牙協(xié)議層(stack) (注:瀏覽器編譯環(huán)境會在用戶程序?qū)懲晖瑫r將這3部分整合完成),一旦用戶將完整程序(HEX文件)放在USB閃存根目錄上,處理器便會直接執(zhí)行程序代碼。使用者也可對連接在處理器上的GPIO進(jìn)行控制,也可通過2.4 GHz無線進(jìn)行相關(guān)周邊控制。
·藍(lán)牙通訊:micro:bit板子上2.4G無線相關(guān)設(shè)計提供了對手機(jī)、平板的藍(lán)牙通訊功能,可以通過藍(lán)牙控制micro:bit,或者通過藍(lán)牙把信號傳人手機(jī)或者電腦。
·無線通信:micro:bit板子上2.4G無線相關(guān)設(shè)計提供另外的無線通信協(xié)議,此通訊協(xié)議在不同的程序語言環(huán)境可以直接使用,并且可以在多個micro:bit裝置中互相傳遞并且群組化,進(jìn)行無線通訊。
·金手指觸片引腳:25個引腳,一般可以配合鱷魚夾使用,或者插接到擴(kuò)展板上進(jìn)行轉(zhuǎn)接使用。這些引腳使micro:bit的功能更加強(qiáng)大,可控制電機(jī)、舵機(jī)或其他電子模塊。
·電力供應(yīng):給micro:bit的電力主要是由接口IC通過USB提供,亦可由電池盒連接器提供,在金手指上有電力供應(yīng)的功能,需要熟悉電路設(shè)計的人操作。
·按鍵:micro:bit板子正面有2個按鍵,背面有1個。背面的按鍵連接nRF51處理器作系統(tǒng)重置用(reset)。正面的按鍵A、B可以由使用者程控,包括了短壓、長壓,或是A、B同時按,按鍵A、B均連接至金手指上的GPIO,加上電路設(shè)計可以做logic0或1值的操作。
·顯示:在板子上有5×5組LEDs作為顯示屏,光線傳感器通過反向二極管電流的作用,把點陣屏轉(zhuǎn)換成光敏傳感器使用,用來檢測周圍的光線。
·重力傳感器(加速度傳感器):重力傳感器是經(jīng)由12C與處理器連接,提供了三軸感應(yīng)數(shù)據(jù),并包含手勢感測算法。
·磁力傳感器:磁力傳感器也是通過I2C與處理器連接,提供磁力感測數(shù)值。
·溫度感測:提供了板子上的實時溫度感測。
·陀螺儀傳感器:可以測量micro:bit的三軸轉(zhuǎn)動角度,可以檢測加速度大小,也可以檢測micro:bit常見的狀態(tài)(搖晃、傾斜、自由落體等)。
·指南針:可以用來指示方位,并且可以檢測磁場強(qiáng)度。
◇介紹應(yīng)用軟件
MU是第三方編輯器,在工作時,需要把micro:bit與電腦USB進(jìn)行連接,通過Python編輯器將代碼寫入。當(dāng)看到背后reset按鍵邊上的LED開始閃爍時,說明可以進(jìn)行代碼寫入。
我們可以在MU主要區(qū)域開始寫第1段代碼。默認(rèn)情況下,MU給我們寫了1段代碼,但是代碼前面有#號,表示代碼內(nèi)容注銷不運行。
寫完代碼之后,就可以刷入代碼了。在進(jìn)行這一步之前,我們需要再次確認(rèn)micro:bit已經(jīng)與電腦相連接(在“我的電腦”里可以看到micro:bit已經(jīng)讀入),然后點擊刷入,將代碼刷入到micro:bit板子上。
當(dāng)后燈開始閃爍,閃爍過程大約10秒左右,表示代碼已經(jīng)在刷入。
當(dāng)然,也有很多種其他方式進(jìn)行刷入Pvthon腳本。通過對代碼保存再拖拽,找到micro:bit文件進(jìn)行刷入。打開MU,點擊REPL,可以看到代碼下面的2個對話框(見圖4)。
另一種方法,通過在線編輯器進(jìn)行代碼編輯和micro:bit刷入。首先,在編輯器的指定區(qū)域進(jìn)行代碼編寫。然后,確認(rèn)電腦與micro:bit已連接(可以看到提示)。選擇micro:bit開發(fā)板。點擊刷入,刷入后可以看到micro:bit板子刷入燈閃爍。
在本節(jié)課的最后,學(xué)生成功完成了教師分配的指定任務(wù),通過網(wǎng)絡(luò)實現(xiàn)了硬件學(xué)習(xí),感受到了創(chuàng)作的快樂。
教學(xué)注意事項
◇要能看到學(xué)生電腦屏幕。學(xué)生在實際操作中會遇到很多問題,比如代碼書寫過程中的語法錯誤、電腦日常小問題、USB與micro:bit板子連接問題、軟件應(yīng)用錯誤等。教師在教學(xué)過程中需要通過屏幕隨時遠(yuǎn)程指導(dǎo)學(xué)生解決問題。
◇要通過學(xué)生端的攝像頭隨時注意學(xué)生表情。學(xué)生在硬件操作中,可能會遇到接線問題、電源正負(fù)連接問題、元件選擇出錯等。此時,有的學(xué)生會通過攝像頭向教師說明,而有的學(xué)生則“埋頭不語”。此外,有的學(xué)生可能在做學(xué)習(xí)之外的事情。因此,教師需要通過攝像頭隨時觀察和注意學(xué)生的表情.及時幫助學(xué)生解決問題或糾正其行為。
◇注意分享教師端的屏幕。教師不僅要講解課件,還要編寫代碼并講解,部分代碼還需要標(biāo)注,這些都需要通過分享教師端的屏幕展示給學(xué)生。
◇注意分享教師端的攝像頭。在講解micro:bit硬件時,教師需要對選擇元件、插線等進(jìn)行展示。因此,攝像頭需要能夠照到所需展示分享的元件和硬件上來。
◇注意教學(xué)內(nèi)容和節(jié)奏的把控。在線教學(xué)的內(nèi)容應(yīng)難度適中、循序漸進(jìn)。當(dāng)發(fā)現(xiàn)幾個學(xué)生都困于同一個問題時,就需要放慢教學(xué)進(jìn)度,給學(xué)生充足的時間思考,或是給出一些提示,引領(lǐng)學(xué)生完成“摘桃子”的過程。學(xué)生多一分成功的喜悅,對學(xué)習(xí)也能多一分熱情和主動性。
相比傳統(tǒng)教學(xué)模式,在線教學(xué)較難把握學(xué)生的真實學(xué)情。因此,在線教學(xué)時,教師需注意和學(xué)生之間的互動,并形成一定的監(jiān)督機(jī)制,同時還需要準(zhǔn)備充分的教學(xué)內(nèi)容,從而保證教學(xué)質(zhì)量,提高學(xué)生學(xué)習(xí)主動性。