學(xué)習(xí)背景
近年來(lái),Scratch編程已逐步成為培養(yǎng)學(xué)生信息素養(yǎng)和計(jì)算思維的重要途徑之一。本案例選用樂(lè)高積木進(jìn)行“車桿模型”的創(chuàng)意搭建,使用Scratch2.0及WeDo套件完成程序的編寫(xiě)。借助距離傳感器,感知與車桿距離的遠(yuǎn)近,實(shí)現(xiàn)對(duì)馬達(dá)開(kāi)關(guān)的控制。調(diào)試指令,繼而達(dá)成“車桿模型”與“Scratch角色對(duì)象”模擬起落的同步。旨在通過(guò)Scratch作品的設(shè)計(jì)、制作、分享、交流等過(guò)程,引導(dǎo)學(xué)生從計(jì)算思維的角度去思考、判斷、解決和處理問(wèn)題。
教學(xué)目標(biāo)
知識(shí)與技能 1.識(shí)別距離傳感器,描述距離傳感器數(shù)值大小與距離遠(yuǎn)近的關(guān)系。2.說(shuō)明馬達(dá)相關(guān)指令及其作用。3.實(shí)現(xiàn)距離傳感器控制Scratch程序中的角色對(duì)象和WeDo模型。
過(guò)程與方法 經(jīng)歷按鍵控制角色對(duì)象到利用硬件(距離傳感器)控制的轉(zhuǎn)變。
情感態(tài)度與價(jià)值觀 體驗(yàn)從創(chuàng)意想法到完成作品的喜悅。
教學(xué)重點(diǎn)與難點(diǎn)
教學(xué)重點(diǎn) 利用距離傳感器,實(shí)現(xiàn)對(duì)WeDo創(chuàng)意車桿模型的控制。
教學(xué)難點(diǎn) 調(diào)試指令,實(shí)現(xiàn)“車桿模型”與“Scratch角色對(duì)象”模擬起落的同步。
教學(xué)過(guò)程
一、模型交流,創(chuàng)設(shè)情境
創(chuàng)設(shè)“WeDo設(shè)計(jì)大賽”情境,以“創(chuàng)意設(shè)計(jì)車桿”為主題,微視頻展示小組樂(lè)高搭建車桿模型,分享各自創(chuàng)意,交流創(chuàng)作心得。
二、設(shè)疑解疑,架構(gòu)思維
以“按鍵控制式車桿”為例,通過(guò)觀察模擬動(dòng)圖,引導(dǎo)學(xué)生描述實(shí)現(xiàn)過(guò)程。出示示例指令,在師生對(duì)話、生生交流中,讓學(xué)生嘗試判斷指令正誤,指出問(wèn)題,修改指令并運(yùn)行檢測(cè)。指令的逐步修正,有助于學(xué)生形成目標(biāo)達(dá)成的思維方式,將表達(dá)的語(yǔ)言自然過(guò)渡到Scratch語(yǔ)句。
對(duì)“程序運(yùn)行意外停止”設(shè)疑,觀察程序運(yùn)行中出現(xiàn)的狀況,引導(dǎo)學(xué)生補(bǔ)充初始化語(yǔ)句,強(qiáng)調(diào)程序初始化的重要性。
三、小組探究,獲取新知
以“距離傳感器控制車桿”為線索,通過(guò)觀察模擬動(dòng)圖,引導(dǎo)學(xué)生分析實(shí)現(xiàn)過(guò)程。引出距離傳感器及主控制器,識(shí)別并操作兩者相連。小組合作,探究距離傳感器參數(shù)的意義,小結(jié)讀取實(shí)時(shí)數(shù)值的方法,歸納參數(shù)大小與距離遠(yuǎn)近的關(guān)系。然后編寫(xiě)程序,實(shí)現(xiàn)距離傳感器對(duì)Scratch角色對(duì)象的控制。
四、應(yīng)用新知,編程調(diào)試
將“Scratch角色對(duì)象模擬車桿起落”視為學(xué)習(xí)支架,知識(shí)遷移,繼而利用距離傳感器及馬達(dá)控制WeDo模型。借助馬達(dá)說(shuō)明文件,探索與馬達(dá)相關(guān)的指令語(yǔ)句用法。根據(jù)各自設(shè)計(jì)的WeDo模型,調(diào)試指令參數(shù),并盡可能保證角色對(duì)象模擬與WeDo模型模擬的同步。
五、展示評(píng)價(jià),拓展創(chuàng)想
小組作品交流,對(duì)比各自設(shè)想與最終作品之間的異同。交流完成任務(wù)過(guò)程中遇到的困難或問(wèn)題,以及各自解決的方法或途徑。
以“還能為車桿升級(jí)哪些功能”為題,引發(fā)學(xué)生深度思考,提升綜合應(yīng)用的能力,延伸課堂。
案例詳解
一、WeDo套件的功能介紹
WeDo是一套可以與電腦連接,并進(jìn)行編程和控制的樂(lè)高套裝。包括150多個(gè)積木組件、1個(gè)馬達(dá)、1個(gè)距離傳感器、1個(gè)傾斜傳感器和1個(gè)主控制器。本案例主要使用各類積木、馬達(dá)、距離傳感器和主控制器。
將主控制器通過(guò)USB接口連接到電腦上。點(diǎn)擊“更多積木”,選擇“添加擴(kuò)展”,再點(diǎn)擊“LEGO WeDo 1.0”選項(xiàng),并確定。腳本區(qū)新增多條程序指令,可對(duì)馬達(dá)的開(kāi)啟關(guān)閉、功率、方向及其他屬性進(jìn)行設(shè)置。如圖1所示。
二、車桿模型的百變搭建
車桿模型可謂五花八門(mén)。按起落劃分,大致可分為:左右式、上下式、卷簾式、移動(dòng)式等。在生活中,左右式最為常見(jiàn),創(chuàng)意來(lái)源于生活,仿照該類型設(shè)計(jì)的學(xué)生作品也占據(jù)大多數(shù)。
本案例搭建模型如圖2所示。
要實(shí)現(xiàn)距離傳感器對(duì)車桿“抬起”和“回落”的控制,就不能忘記為馬達(dá)和距離傳感器預(yù)留位置。利用主控制器進(jìn)行互相連接,借助USB接口再與計(jì)算機(jī)關(guān)聯(lián)。若能考慮車桿起落的時(shí)速,避免單位時(shí)間內(nèi)速度過(guò)快,推薦首選“蝸輪蝸桿結(jié)構(gòu)”。該結(jié)構(gòu)類似于齒輪與齒條,能夠做到環(huán)環(huán)相扣,使得傳動(dòng)相對(duì)比較平穩(wěn)。(如圖3)
三、距離傳感與馬達(dá)控制
1.距離傳感器
距離傳感器,用于感應(yīng)其與某物體間的距離,以完成預(yù)設(shè)的某種功能。將距離傳感器連接至主控制器上,通過(guò)物體在距離傳感器前移動(dòng),并點(diǎn)擊“距離”模塊,可讀出距離傳感器的數(shù)值。其數(shù)值區(qū)間在0~100,距離越遠(yuǎn),數(shù)字越大。
2.馬達(dá)
馬達(dá)功率的取值范圍為0~100;轉(zhuǎn)動(dòng)方向可選順時(shí)針或逆時(shí)針。
四、程序設(shè)計(jì)與調(diào)試
1.需求分析
根據(jù)需求,Scratch角色對(duì)象與WeDo模型均由距離傳感器控制。通過(guò)判斷距離傳感器偵測(cè)到的數(shù)值是否滿足一定條件,決定是否執(zhí)行后續(xù)程序。區(qū)別在于,角色對(duì)象是通過(guò)“車桿”的旋轉(zhuǎn)進(jìn)行模擬,而WeDo模型則借助馬達(dá)的幫助,通過(guò)設(shè)置馬達(dá)功率、轉(zhuǎn)動(dòng)方向和啟動(dòng)時(shí)長(zhǎng)等進(jìn)行模擬。
2.程序設(shè)計(jì)
(1)角色對(duì)象的模擬實(shí)現(xiàn)
偵測(cè)距離,編制判斷程序。可用手或物體放在距離傳感器前并加以調(diào)整,點(diǎn)擊“距離”模塊來(lái)獲取相應(yīng)數(shù)值,尋找合適的距離值區(qū)間。通過(guò)反復(fù)執(zhí)行程序,來(lái)驗(yàn)證在此距離范圍內(nèi)馬達(dá)能否被觸發(fā)啟動(dòng)。此處需使用“如果……那么……”模塊,在條件中,設(shè)置“數(shù)據(jù)和邏輯運(yùn)算”,實(shí)現(xiàn)通過(guò)判斷距離傳感器的值,觸發(fā)執(zhí)行。
模擬起落,細(xì)化執(zhí)行過(guò)程。為更好模擬車桿逐步抬升/下落,可加入“重復(fù)執(zhí)行 次”“左轉(zhuǎn) 度”/“右轉(zhuǎn) 度”。
初始程序,確保角色歸位。在程序的第一步,建議加上“面向 方向”指令,保證在每次程序執(zhí)行或調(diào)試時(shí),“車桿”角色對(duì)象位于水平位置。
當(dāng)然,為保證程序始終執(zhí)行,還需在外部嵌套“重復(fù)執(zhí)行”模塊。如圖4所示。
(2)積木模型的模擬實(shí)現(xiàn)
要達(dá)成距離傳感器對(duì)WeDo模型的控制要求,思考方式與之前角色對(duì)象模擬大致類似。需要注意的是,程序指令中的具體參數(shù),可根據(jù)搭建的模型因物而異,調(diào)試后再行確定。(如圖5)如果調(diào)試中,“車桿”未按預(yù)設(shè)“抬起”,說(shuō)明馬達(dá)的轉(zhuǎn)動(dòng)方向設(shè)置有誤。如果“車桿”起落未達(dá)到預(yù)期位置,說(shuō)明馬達(dá)的轉(zhuǎn)動(dòng)時(shí)間過(guò)長(zhǎng)或過(guò)短。為了讓“車桿”能夠回到初始位置,回落時(shí)馬達(dá)轉(zhuǎn)動(dòng)方向應(yīng)與抬起時(shí)相反,且持續(xù)的時(shí)間應(yīng)相同。
3.完善創(chuàng)新
“若要研發(fā)新一代智能車桿,你覺(jué)得升級(jí)版還能包含哪些功能?”如同拋磚引玉一般,問(wèn)題拋出后,學(xué)生合理暢想,各抒己見(jiàn)。如“再增加1個(gè)距離傳感器,監(jiān)測(cè)車桿與車輛頂棚的距離,以防擦碰”。又如“按鍵控制與距離傳感控制相結(jié)合,形成雙控制狀態(tài)”。再如“為計(jì)數(shù)編寫(xiě)程序,反饋當(dāng)前車庫(kù)停車量,甚至還能提示車庫(kù)停車位剩余量”。學(xué)生的創(chuàng)新意識(shí)值得肯定,一些設(shè)想也有理有據(jù),不難實(shí)現(xiàn)。
教學(xué)點(diǎn)評(píng)
計(jì)算思維的本質(zhì)是抽象和自動(dòng)化。本課通過(guò)“創(chuàng)意車桿設(shè)計(jì)”任務(wù),經(jīng)歷了五個(gè)解決問(wèn)題的步驟:一是問(wèn)題分析,要設(shè)計(jì)怎樣的車桿才能達(dá)到要求;二是通過(guò)積木搭建,將問(wèn)題從抽象到具體;三是探索遙控按鍵、距離傳感兩種控制車桿起落的方式,體驗(yàn)解決問(wèn)題的不同方法與策略;四是利用距離傳感器,先對(duì)Scratch角色對(duì)象進(jìn)行模擬,之后應(yīng)用于車桿模型,經(jīng)歷問(wèn)題解決中模擬到真實(shí)的過(guò)程;五是為盡可能實(shí)現(xiàn)模擬角色與車桿模型同步,在調(diào)試程序中不斷改進(jìn)程序或模型,經(jīng)歷問(wèn)題回溯優(yōu)化的過(guò)程。
本節(jié)課,學(xué)生面對(duì)造型各異的車桿模型,使用了相同的思想解決了問(wèn)題,經(jīng)歷了計(jì)算思維培養(yǎng)中界定問(wèn)題、抽象特征、建立結(jié)構(gòu)模型的過(guò)程。(點(diǎn)評(píng)人:王世達(dá),上海市普陀區(qū)教育學(xué)院現(xiàn)代教育技術(shù)研究室副主任,信息技術(shù)教研員)