我們?cè)跍刂葜袑W(xué)、溫州中學(xué)新疆部和溫州實(shí)驗(yàn)中學(xué)分別開設(shè)了Arduino的課程,因?yàn)闇刂葜袑W(xué)本部是高一的學(xué)生,編程基礎(chǔ)相對(duì)好些,我們選用的是arduino文本式的編程環(huán)境,新疆部因?yàn)橛蓄A(yù)科的學(xué)生在內(nèi),編程基礎(chǔ)相對(duì)薄弱一些,所以和溫州實(shí)驗(yàn)中學(xué)(初一學(xué)生)一樣,我們選用了圖形式的積木化編程環(huán)境——ArduBlock。
專題一“認(rèn)識(shí)機(jī)器人,點(diǎn)亮LED”是Arduino的第一課,我們每專題都采用兩個(gè)課時(shí),讓學(xué)生有足夠的實(shí)踐時(shí)間。因?yàn)槭堑谝徽n,我們必須要介紹機(jī)器人的基礎(chǔ)知識(shí),如機(jī)器人的結(jié)構(gòu)組成和基本原理。還需要掌握Arduino的驅(qū)動(dòng)安裝過程以及編程環(huán)境的熟悉。
相關(guān)資源下載地址:http://pan.baidu.com/s/1kTqOYs3
本篇主要對(duì)本次課的重難點(diǎn)、主要教學(xué)設(shè)計(jì)的設(shè)計(jì)意圖以及學(xué)生上課的反應(yīng)做部分說明。
1.板子的介紹
在這個(gè)部分,我們引導(dǎo)學(xué)生打開自己的工具盒,拿出arduino板子,在板子上找到相應(yīng)的數(shù)字口和模擬口,在這個(gè)過程中,重點(diǎn)是讓學(xué)生找到板子上接地,接vcc和信號(hào)口的順序,為下面的點(diǎn)亮LED燈做鋪墊。在這個(gè)過程中,學(xué)生的注意力容易被arduino板子所吸引,教學(xué)效果很好。
2.Arduino驅(qū)動(dòng)的安裝
在引導(dǎo)學(xué)生安裝驅(qū)動(dòng)的時(shí)候,要讓學(xué)生通過設(shè)備管理器找到自己裝的端口是多少,等學(xué)生裝完后打開arduino編程環(huán)境界面時(shí),注意提醒他們?cè)诠ぞ?mdash;—端口中進(jìn)行設(shè)置,使得其與之前裝好的通信端口一致。在這個(gè)過程中,有些同學(xué)沒有認(rèn)真聽講,直接導(dǎo)致后面在點(diǎn)亮led編程時(shí),程序運(yùn)行錯(cuò)誤。
3.做一個(gè)閃爍的LED燈
在這個(gè)過程中,教師最開始需要特別提醒的是線的接法。LED燈模塊有三個(gè)引腳,一般情況黑線接地,紅線接5V,第三根線接數(shù)字口。很多學(xué)生在教師演示的時(shí)候沒有認(rèn)真聽講,接線的時(shí)候沒有意識(shí)到線的次序,所以后面自己做的時(shí)候出現(xiàn)了問題。
4、點(diǎn)亮led燈的代碼編寫
在學(xué)生自己點(diǎn)亮led燈的時(shí)候,很多同學(xué)直接用了老師給的代碼,沒有把其中的引腳換成自己接的那一個(gè),所以燈不亮。“pinMode(4,OUTPUT);//LED燈接數(shù)字口4”這個(gè)語句中的“4”表示接的是數(shù)字口4號(hào)引腳。學(xué)生在自己實(shí)驗(yàn)的過程中,要注意提醒他們,把這里的“4”改為自己接在板子上的數(shù)字引腳號(hào)。
5.?dāng)U展任務(wù):交通燈
在這個(gè)過程中,很多學(xué)生在前面的基礎(chǔ)上,成功地完成了交通燈的制作,舉一反三的能力也比較好,有一些創(chuàng)意性的設(shè)計(jì)出現(xiàn)。
比如說我們?cè)谡n堂上發(fā)現(xiàn)有些學(xué)生編的程序如下:
void setup()
{
pinMode( 5 , OUTPUT);
pinMode( 8 , OUTPUT);
pinMode( 11 , OUTPUT);
}
void loop()
{
digitalWrite( 5 , HIGH );
delay( 1000 );
digitalWrite( 5 , LOW );
delay( 1000 );
digitalWrite( 5 , HIGH );
digitalWrite( 8 , HIGH );
delay( 1000 );
digitalWrite( 5 , LOW );
digitalWrite( 8 , LOW );
delay( 1000 );
digitalWrite( 5 , HIGH );
digitalWrite( 8 , HIGH );
digitalWrite( 11 , HIGH );
delay( 1000 );
digitalWrite( 5 , LOW );
digitalWrite( 8 , LOW );
digitalWrite( 11 , LOW );
delay( 1000 );
}
代碼看起來很復(fù)雜,但是學(xué)生說聽懂了以后進(jìn)行一些變式還是比較簡(jiǎn)單的,而且看著自己做的三個(gè)小燈,先是一個(gè)小燈亮了滅掉,然后是兩個(gè)小燈一起亮了再滅掉,最后是三個(gè)小燈一起亮了再滅掉,很有成就感,也覺得很有意思。從這個(gè)角度看,我們本次課的教學(xué)目標(biāo)應(yīng)該完成的不錯(cuò)。最后附上學(xué)生完成的作品圖片一張。