韓蕾 鐘柏昌 張祿
筆者嘗試將《障礙停車挑戰(zhàn)賽》一課的知識(shí)點(diǎn)以比賽的形式應(yīng)用到具體的機(jī)器人教學(xué)實(shí)踐過程中,設(shè)計(jì)符合課堂教學(xué)情境的比賽形式,將為學(xué)生帶來不一樣的學(xué)習(xí)體驗(yàn)。在教學(xué)時(shí),筆者將程序的迭代過程寓于比賽的測(cè)試階段,并在比賽過程中給學(xué)生提供扮演不同角色的機(jī)會(huì),以此來進(jìn)行教學(xué)實(shí)踐以便提高學(xué)生的學(xué)習(xí)興趣與解決問題的能力。
方案設(shè)計(jì)
1.教材與學(xué)生情況分析
本節(jié)課內(nèi)容選自冀教版機(jī)器人教材八年級(jí)下冊(cè)第十四課《障礙停車挑戰(zhàn)賽》,主要達(dá)成的任務(wù)目標(biāo)是小車在規(guī)定的時(shí)間和距離內(nèi)實(shí)現(xiàn)精準(zhǔn)停車。在本節(jié)課之前,學(xué)生已學(xué)習(xí)了“超聲波傳感器的功能及使用方法”與“MiniQ小車運(yùn)動(dòng)控制”的相關(guān)內(nèi)容,并且完成了小車循線挑戰(zhàn)的比賽,為本節(jié)課的教學(xué)奠定了理論及實(shí)踐基礎(chǔ)。本節(jié)課的教學(xué)對(duì)象為八年級(jí)的學(xué)生,經(jīng)過之前的學(xué)習(xí),學(xué)生已經(jīng)習(xí)得了小車運(yùn)動(dòng)方向、速度等基本控制方法,具備了一定的機(jī)器人測(cè)試與調(diào)試的實(shí)踐經(jīng)驗(yàn);同時(shí),在實(shí)踐過程中已逐漸形成了不斷改進(jìn)機(jī)器人功能的迭代思想。
2.教學(xué)目標(biāo)
知識(shí)與技能目標(biāo):進(jìn)一步熟悉超聲波傳感器的使用;掌握“上電運(yùn)行時(shí)間”模塊在ArduBlock中的使用方法;能夠使用超聲波傳感器制作避障小車。
過程與方法目標(biāo):了解障礙停車挑戰(zhàn)賽的一般過程,了解各個(gè)角色在比賽中的職責(zé)和作用;在完成障礙停車挑戰(zhàn)賽的過程中體驗(yàn)機(jī)器人的測(cè)試與調(diào)試,將迭代思想遷移到實(shí)際問題的解決過程中。
情感態(tài)度與價(jià)值觀目標(biāo):以比賽的形式,激發(fā)學(xué)習(xí)機(jī)器人的興趣并主動(dòng)投入到學(xué)習(xí)過程中。
3.可選方案的設(shè)計(jì)與選擇
本次比賽要求學(xué)生制作的避障小車能夠在10秒內(nèi)到達(dá)終點(diǎn)線,并實(shí)現(xiàn)小車與終點(diǎn)線之間距離的最小化(不能超越終點(diǎn)線),難點(diǎn)在于控制小車的運(yùn)動(dòng)時(shí)間和小車與障礙物之間的距離。對(duì)比賽任務(wù)進(jìn)行分析后,筆者就“計(jì)時(shí)”和“測(cè)距”兩方面設(shè)計(jì)了如上頁表1所示的幾種方案。
對(duì)比表1中“計(jì)時(shí)”的三種方案,方案一無需考慮編程因素,但需耗費(fèi)人力,且計(jì)時(shí)不夠自動(dòng)與精確,方案二只需要使用“上電運(yùn)行時(shí)間”模塊,而方案三則涉及多個(gè)變量的使用。比較而言方案二更簡(jiǎn)潔,而方案三可以更加精確地獲取程序某一階段運(yùn)行的時(shí)間而不是程序運(yùn)行的總時(shí)間。由于本課實(shí)例要求程序的運(yùn)行時(shí)間與小車運(yùn)動(dòng)時(shí)間相等,故筆者選擇方案二。在“測(cè)距”的兩種方案中,方案四與方案五均能實(shí)現(xiàn)測(cè)距功能,但紅外線傳感器的成本遠(yuǎn)高于超聲波傳感器,考慮到經(jīng)濟(jì)因素,筆者選擇了方案四。
硬件搭建
障礙停車挑戰(zhàn)賽需用到的硬件器材主要包括Romeo控制器、MiniQ小車、超聲波傳感器。
1.Romeo控制器
本次課采用的主控板是由DFRobot出品的Arduino Romeo V1.3,該控制器采用最基礎(chǔ)且應(yīng)用最廣的UNO板卡。
2.HC-SR04超聲波傳感器
該傳感器運(yùn)用聲納原理,通過監(jiān)測(cè)發(fā)射一連串調(diào)制后的超聲波及其回波的時(shí)間差來得知傳感器與目標(biāo)物體間的距離值。它的性能比較穩(wěn)定,測(cè)試距離精確,盲區(qū)為2cm,最大探測(cè)距離為450cm。它有4根針腳,分別是VCC、GND、Echo和Trig,其中Trig是超聲波發(fā)射端,Echo是超聲波接收端。
3.硬件搭建
學(xué)生分別將超聲波傳感器、MiniQ上的電機(jī)與Romeo控制器相連接,其中超聲波傳感器的Trig和Echo分別與Romeo連接數(shù)字針腳,如圖1所示。圖中Trig和Echo分別連接的數(shù)字針腳為9和8。
程序編寫
學(xué)生將硬件搭建好后,便可進(jìn)行程序的編寫,本節(jié)課所采用的編程環(huán)境為圖形化編程軟件ArduBlock。
本課的程序設(shè)計(jì)包含兩部分:一是小車運(yùn)動(dòng)時(shí)間的控制,二是小車與障礙物之間距離的控制。利用 模塊獲取程序運(yùn)行時(shí)間即小車運(yùn)動(dòng)的時(shí)間,比賽規(guī)則中要求小車在10秒內(nèi)完成比賽,因此當(dāng)小車的運(yùn)動(dòng)時(shí)間小于10秒時(shí)小車運(yùn)動(dòng),否則小車停止。筆者利用超聲波傳感器測(cè)量小車與障礙物之間的距離,終點(diǎn)線距離障礙物只有10cm,因此當(dāng)小車與障礙物的距離大于10cm時(shí)小車運(yùn)動(dòng),否則小車停止。本課中時(shí)間與距離控制均用到了選擇結(jié)構(gòu),因此為了使時(shí)間控制與距離控制同步進(jìn)行,筆者讓學(xué)生在編程的過程中運(yùn)用了選擇結(jié)構(gòu)的嵌套,如上頁圖2所示。
拓展應(yīng)用
實(shí)現(xiàn)小車避障功能有很多種方法,本課采用小車遇到障礙物時(shí)停止運(yùn)動(dòng)避免碰撞的方法,也能用其他方法進(jìn)行拓展應(yīng)用。例如,當(dāng)小車距離障礙物一定范圍向左轉(zhuǎn)彎或向右轉(zhuǎn)彎時(shí),需要運(yùn)用雙輪差速原理來控制小車運(yùn)動(dòng)的方向,并且在小車轉(zhuǎn)彎的過程中繼續(xù)進(jìn)行小車與障礙物之間距離的探測(cè),若距離仍在可能發(fā)生碰撞的范圍內(nèi)時(shí)小車需繼續(xù)調(diào)整行駛的方向。比較本課案例的程序設(shè)計(jì)思路,拓展應(yīng)用中的程序設(shè)計(jì)涉及的編程知識(shí)更豐富,而且小車的避障功能更加智能。
教學(xué)實(shí)踐
在本課的實(shí)際教學(xué)過程中,筆者是通過以下四個(gè)環(huán)節(jié)來完成的。
1.引入主題,了解賽制
在本課開始時(shí),筆者先引入“避障小車”這一主題,介紹何為“避障小車”,讓學(xué)生對(duì)避障小車的運(yùn)動(dòng)方式及工作原理有所了解。
比賽時(shí),把距離障礙物2m處的線作為起始線,距離障礙物10cm處的線作為終點(diǎn)線。小車從起始線開始行駛,到終點(diǎn)線停止,行駛時(shí)間不得超過10秒鐘。小車停止位置離終點(diǎn)線最近者為勝,小車越過終點(diǎn)線則成績(jī)作廢,比賽場(chǎng)地如圖3所示。
筆者將學(xué)生每?jī)扇朔譃橐唤M,共分為16個(gè)小組進(jìn)行比賽,比賽分初賽和復(fù)賽兩輪進(jìn)行。初賽時(shí)以抽簽的形式將每四個(gè)小組組成一大組,并分為A、B、C、D四組進(jìn)行比賽,每大組中的優(yōu)勝組將參加復(fù)賽。若小車超過終點(diǎn)線或者在規(guī)定時(shí)間內(nèi)電機(jī)沒有停止則成績(jī)作廢,每組中成績(jī)的距離值最小者為優(yōu)勝隊(duì)伍,若距離值相等,則使用時(shí)間最短者勝出(即最先到達(dá)終點(diǎn)位置的組),比賽用表如表2所示。
2.梳理思路,合作探究
學(xué)生完成項(xiàng)目需要解決以下三個(gè)問題:一是小車須在10秒內(nèi)停止運(yùn)動(dòng);二是小車停止運(yùn)動(dòng)時(shí)距離障礙物的距離大于等于10cm;三是小車的時(shí)間控制與距離控制同步執(zhí)行。在本環(huán)節(jié)中,教師需要引導(dǎo)學(xué)生整理解決這三個(gè)問題的思路,并與組員配合完成避障小車程序的編寫。
首先,教師提出問題:在比賽中如何控制小車運(yùn)動(dòng)的時(shí)間?學(xué)生回答。教師歸納學(xué)生提供的方法,分析其可行性,并結(jié)合學(xué)生的回答給出以下三種計(jì)時(shí)方式:第一種,利用計(jì)時(shí)工具計(jì)時(shí),淘汰運(yùn)動(dòng)時(shí)間超時(shí)的隊(duì)伍;第二種,利用ArduBlock中的“上電運(yùn)行時(shí)間”控制程序的運(yùn)行時(shí)間,即控制小車的運(yùn)動(dòng)時(shí)間;第三種,獲取小車開始運(yùn)動(dòng)的時(shí)間與小車運(yùn)動(dòng)的實(shí)時(shí)時(shí)間,利用時(shí)間差來控制小車的運(yùn)動(dòng)時(shí)間。教師要求學(xué)生對(duì)這三種方法進(jìn)行分析,選擇可執(zhí)行度最高的方法并說出理由。教師總結(jié):第一種計(jì)時(shí)方式誤差最大且消耗人力,第二種方式計(jì)時(shí)較精確且自動(dòng)化,第三種方式計(jì)時(shí)精度最高但編程較復(fù)雜。最后,教師引導(dǎo)學(xué)生確定選擇第二種計(jì)時(shí)方式,并介紹“上電運(yùn)行時(shí)間”模塊的應(yīng)用。
比賽時(shí),小車距離終點(diǎn)線越近越好,即要控制好小車停止運(yùn)動(dòng)時(shí)與障礙物之間的距離。教師提出問題:如何實(shí)現(xiàn)小車與障礙物之間距離的控制?因?yàn)樵谥暗膶W(xué)習(xí)過程中學(xué)生已經(jīng)對(duì)超聲波傳感器的應(yīng)用有所了解,在此學(xué)生很容易回答出“利用超聲波傳感器來測(cè)距”的答案。教師帶領(lǐng)學(xué)生復(fù)習(xí)超聲波傳感器的應(yīng)用方法及工作原理,并與紅外線傳感器對(duì)比,明確使用超聲波傳感器測(cè)距更具有優(yōu)勢(shì)。
教師提出問題:小車運(yùn)動(dòng)過程中既要執(zhí)行時(shí)間控制又要實(shí)現(xiàn)距離控制,如何使這二者同步執(zhí)行呢?
在學(xué)習(xí)本節(jié)課之前,學(xué)生已經(jīng)學(xué)習(xí)過選擇結(jié)構(gòu)的使用,此時(shí)教師引導(dǎo)學(xué)生思考并引出利用選擇結(jié)構(gòu)的嵌套來實(shí)現(xiàn)小車時(shí)間控制與距離控制的同步執(zhí)行。小組成員合作完成避障小車程序的編寫,在學(xué)生編寫程序的過程中教師予以適當(dāng)?shù)闹笇?dǎo)。
3.測(cè)試作品,完成比賽
學(xué)生在完成編寫避障小車程序的基礎(chǔ)上,測(cè)試小車的運(yùn)行情況,因?yàn)槊颗_(tái)小車的性能各不相同而且由于慣性的原因小車會(huì)在程序終止后繼續(xù)運(yùn)動(dòng)一段距離。所以,此時(shí)教師應(yīng)提醒學(xué)生根據(jù)小車的運(yùn)動(dòng)情況對(duì)避障小車程序進(jìn)行修改,在經(jīng)過不斷的調(diào)試之后找到合適的參數(shù),以使避障小車的運(yùn)動(dòng)效果達(dá)到最佳,也就是既快又穩(wěn)地到達(dá)終點(diǎn)線。教師在調(diào)試過程中應(yīng)聯(lián)系實(shí)際生活,教會(huì)學(xué)生在遇到問題時(shí)應(yīng)嘗試選擇最佳方案,并在執(zhí)行的過程中不斷完善,使學(xué)生體會(huì)迭代思想的價(jià)值,深化其對(duì)迭代思想的認(rèn)知。
根據(jù)比賽流程進(jìn)行比賽,每一大組中各選取一位評(píng)分員與記分員,評(píng)分員的職責(zé)為測(cè)量小車距終點(diǎn)線的距離,記分員的職責(zé)為記錄各組的成績(jī)。初賽時(shí),若其中一組進(jìn)行比賽則由其他三組的評(píng)分員與記分員進(jìn)行分?jǐn)?shù)統(tǒng)計(jì)。復(fù)賽時(shí),由被淘汰組的評(píng)分員與記分員來進(jìn)行分?jǐn)?shù)的統(tǒng)計(jì)。
4.拓展應(yīng)用,課堂總結(jié)
基于本節(jié)課所執(zhí)行的項(xiàng)目,教師為學(xué)生提供了拓展思路,即避障小車實(shí)現(xiàn)避障功能可使用遇到障礙物停止運(yùn)動(dòng)的方式,也可用小車遇到障礙物更改運(yùn)動(dòng)方向的方式。教師引導(dǎo)學(xué)生借鑒該思路進(jìn)行本項(xiàng)目的拓展提升,鼓勵(lì)學(xué)生提出更好的想法并付諸實(shí)踐。
教師總結(jié)本節(jié)課中學(xué)生的表現(xiàn),并對(duì)他們?cè)诓僮鬟^程中出現(xiàn)的共性問題予以講解,對(duì)表現(xiàn)較好的學(xué)生給予表揚(yáng)。
教學(xué)反思
在課堂教學(xué)中,教師引入比賽的形式能更好地激發(fā)學(xué)生對(duì)Arduino機(jī)器人的學(xué)習(xí)興趣,從學(xué)生對(duì)知識(shí)點(diǎn)的掌握情況來看,學(xué)生在比賽過程中能夠主動(dòng)對(duì)障礙小車編程進(jìn)行優(yōu)化,并在該過程中深化對(duì)知識(shí)點(diǎn)的理解與認(rèn)知。評(píng)分員和記分員在比賽過程中均能很好地完成相應(yīng)的任務(wù),并表現(xiàn)出了評(píng)委角色所應(yīng)具有的責(zé)任意識(shí)。
當(dāng)然,筆者教授本課時(shí)還有一些不足之處。首先,應(yīng)盡量對(duì)教室內(nèi)的可用空間進(jìn)行合理規(guī)劃,使每組的作品在參賽前都能進(jìn)行充分的測(cè)試與調(diào)試。其次,設(shè)置更多的“角色”以供學(xué)生進(jìn)行選擇,如比賽主持人、紀(jì)律監(jiān)督員等,從而使學(xué)生在比賽中能感受到較強(qiáng)的存在感與主體意識(shí),并體會(huì)不同角色帶來的實(shí)踐感受。最后,可將本課的基礎(chǔ)知識(shí)與基本技能部分作為學(xué)生的課前學(xué)習(xí)任務(wù)。教師應(yīng)嘗試使用翻轉(zhuǎn)課堂的形式,在課上針對(duì)學(xué)生學(xué)習(xí)中遇到的問題進(jìn)行答疑解惑,從而提高教學(xué)效率,為程序測(cè)試、調(diào)試及比賽爭(zhēng)取更多的時(shí)間。
本文為國家社科基金教育學(xué)青年項(xiàng)目“多平臺(tái)、跨學(xué)科、聚類化、重創(chuàng)造的中小學(xué)機(jī)器人教育研究”(項(xiàng)目編號(hào):CCA130133)研究成果。