王昌龍 周思言


編程是人工智能的核心,是當前社會運行的基石之一。如今,以編程學習為基礎而延展開的思維學習覆蓋了全年齡段的學生。簡單來講,編程包括軟件編程和硬件編程。軟件編程可以理解為純粹使用編程實現某一個只需要在電腦當中實現的功能;硬件編程除了純粹的編程以外,還涉及一些電路或者其他硬件知識,例如一些常見的傳感器、藍牙傳輸或Wi-Fi 傳輸等模塊。而把這些硬件綜合在一起后,就是我們常說的機器人編程。
機器人編程結合了硬件內容及基礎的編程知識,可以讓學生更好地看到編程在實際中的用處。通過組裝、搭建、編寫程序運行機器人,能夠激發學生的學習興趣和熱情,培養綜合能力。然而在教學實踐中,我們可能會遇到一些無法立刻解決的硬件問題,比如傳感器失靈或主控數量不足的情況,這難免會降低教學效果,無法讓學生很好地體驗課程的核心內容。那么這時,我們就需要考慮如何充分利用現有軟件資源實現硬件效果。
想要用軟件實現硬件效果,就不得不提到一個詞——模擬。那么,如何在軟件中模擬出現實中硬件的工作方式呢?這就需要先理解相關硬件的工作原理、輸入信號、輸出信號等,結合這些原理先在軟件中對硬件進行制作,隨后再進行整體模擬。讓我們通過下面這個教學案例進行具體說明。
課程名稱:在Scratch 中實現機器人巡線功能
教學目標:①了解光電傳感器的工作原理;②完成機器人尋跡功能;③培養學生的觀察、分析能力。
教學重點:使用光電傳感器控制機器人不偏航。
教學難點:①在環境光不穩定的情況下演示機器人巡線;②模擬多路光電傳感器的信息發送。
教學準備:①學生準備——熟悉Scratch 已有的顏色觸碰判斷模塊、畫筆模塊、運動模塊、循環結構及分支結構;②教師準備——已經提前預裝好的尋跡機器人、鋪裝好的巡線場地、教學多媒體設備。
教學過程
第一步:向學生展示巡線機器人,讓學生輪流觀察機器人結構,對機器人的功能進行猜想
樣例:同學們,老師這里有一個新的機器人,有同學之前見過這種機器人嗎?請同學們輪流觀察一下這個機器人,注意仔細觀察機器人的結構,機器人上有什么。觀察完成之后可以跟小組成員相互分享,猜猜看這個機器人能夠做什么。
核心關鍵:讓學生觀察巡線機器人;引導小組討論建立分享信息的基本意識;通過學生回答環節了解學生的關注點,以便于引導學生進行下一步學習。
第二步:展示巡線機器人的具體功能
樣例:①剛剛大家對這個機器人的功能有著不少猜測。那么,這個機器人究竟能做什么呢?原來,它可以進行巡線。巡線是讓機器人按照已經規劃好的一條線路進行移動。老師這里有一條已經提前畫好了的道路(需要給學生展示),道路中間有一條比較粗的黑線,黑線有直線部分、直角部分、圓弧部分及連續曲折部分等。我們的機器人可以通過光電傳感器進行探測,使機器人完全按照黑線進行前進,讓我們一起來看一下它巡線的樣子。②當然我們也可以臨時改變黑線的排序,機器人也能很好地完成任務(可以讓幾個學生隨機改變黑線的樣子,再次讓機器人進行巡線)。
核心關鍵:讓學生了解機器人的工作方式,知道巡線機器人是按照黑線前進的,而不是提前設置好的規定路徑。
注意點:①在機器人行進過程中,盡量不要讓學生過于靠近道路,以免影響機器人探測到的光線變化。②指導學生在重新組裝黑線道路時,不要出現拐角過大的情況,避免機器人出現問題。第三步:講解光電傳感器的工作方式及輸出信號,并使用Scratch 進行模擬
樣例:①光電傳感器是將光信號轉換為電信號的一種器件,其工作原理基于光電效應。光電效應是指光照射在某些物質上時,物質的電子吸收光子的能量而發生了相應的電效應現象。光照射到白色的道路上與照射到黑色的線上所吸收的能量不同,所以反射出的能量也有強弱之分,這會使接收器收到不同信號,通過傳感器上芯片內部計算,將電信號傳導到機器人的主控上。②請同學們想一想,并結合我們之前學過的圖形化編程內容,在電腦上根據老師的要求制作出一個“光電傳感器”。
制作要求:①繪制1 個無邊框的任意顏色的長方形角色1,當角色1 觸碰到黑色時廣播消息1。②繪制1 個黑色的任意形狀角色2,角色2 會跟隨鼠標進行移動。③從庫中選取1 個具備多個造型的角色3,當接收到消息1 時改變造型。④運行程序后,使用角色2 反復觸碰角色1,由此查看角色1 是否正常工作。
注意點:①角色1 需要重復執行判斷及發出消息。②廣播消息時,需要角色1 的程序具備一定的防抖功能。
第四步:引導學生結合剛剛觀察的巡線機器人的運動方式,解釋巡線機器人的工作方式
樣例:①我們知道了光電傳感器的工作方式,結合剛剛大家觀察到的機器人的外形及運動方式,我們猜測一下機器人的工作原理是什么。②機器人通過前方的2 個或多個光電傳感器進行感應,這里我們以左右各1 個傳感器為例。如果機器人面前的黑線是筆直的,那么機器人一直向前走則2 個傳感器都不會觸碰黑線。而當機器人走歪了或是黑線出現拐彎時,則其中一側的傳感器會感應到黑線,感應黑線后傳感器會對機器人主控發出信號,這時主控就會讓機器人偏移,進行前進方向的調整。
注意點:行進過程中可能會遇到黑線交叉的情況,這時需要對機器人的程序進行調整,根據要求進行直行或左右轉向。
第五步:結合光電傳感器與巡線機器人的工作原理,在Scratch 中繪制并制作巡線機器人
樣例:了解了上述相關知識,我們根據教師的要求在軟件中嘗試對巡線機器人進行模擬吧!
制作要求:①繪制1 個類似剛剛觀察到的機器人樣式的角色1,角色1 的前方需要有2 個顏色不同的無邊框彩色長方體作為光電傳感器。②使用畫筆模塊,調整筆刷顏色為黑色,在程序運行后,可以使用鼠標在舞臺上繪制線條。③制作開始按鈕,點擊開始按鈕后,角色1 會向前移動,當左側的彩色長方體觸碰到黑色后,通過廣播消息的方式讓角色1 向左側轉一定角度;當右側的彩色長方體觸碰到黑色后,通過廣播消息的方式讓角色1 向右側轉一定角度。
注意點:①由于是簡易模擬巡線機器人的運動模式,在繪制黑線時盡可能避免出現黑線交叉或出現急劇拐彎的情況。②繪制機器人上的傳感器時,不要將傳感器靠得過近,放置在黑線拐點處的2 個傳感器若同時觸碰黑線,會造成機器人卡住。③黑色線條繪制過程中,需要學生根據自己的機器人角色傳感器位置設定畫筆粗細,不可以太細,也不可以剛剛好卡住傳感器。④需要學生反復測試角色1 左轉或右轉的角度,確保行進的順暢性。
利用硬件初步掌握編程邏輯,培養一定的編程思維,對學生的成長大為有利。通過上述的教學案例我們看到,充分利用現有軟件資源實現硬件效果,可以在一些特殊情況下,幫助學生更好地理解并掌握硬件編程當中的硬件工作原理及具體執行方式,提高教學效率與效果。