為了有效避免學(xué)生對(duì)LED的審美疲勞,我們根據(jù)聚類的思想設(shè)計(jì)了智能風(fēng)扇系列!吨悄茱L(fēng)扇》是第二章《智能風(fēng)扇》的第一個(gè)專題,是對(duì)第一章《LED》中的重點(diǎn)(按鈕和傳感器)的鞏固和深化。從物理電路的連接上,增加了帶直流電機(jī)的風(fēng)扇;從編程上,增加了if結(jié)構(gòu)的變式等內(nèi)容。
本文主要對(duì)本次課的重難點(diǎn)、主要教學(xué)設(shè)計(jì)的設(shè)計(jì)意圖以及學(xué)生上課的反應(yīng)做部分說(shuō)明。
相關(guān)資源下載地址:http://pan.baidu.com/s/1kTqOYs3
1.RoMeo控制直流電機(jī)
由于驅(qū)動(dòng)風(fēng)扇需要用到直流電機(jī),我們從這一課開始更換了板子,用的是DFRobot的新產(chǎn)品——RoMeo,該控制器不僅繼承Arduino328控制器所有的特性而且集成了電機(jī)驅(qū)動(dòng)、鍵盤、IO擴(kuò)展板、無(wú)線數(shù)據(jù)串行通訊等接口。RoMeo中電機(jī)控制針跳線,將分配用于電機(jī)控制引腳為數(shù)字口4,5,6,7。RoMeo控制電機(jī)有兩種模式:PWM模式和PLL模式,這里我們用到的是PWM模式,通過(guò)改變兩個(gè)數(shù)字IO引腳和兩個(gè)PWM引腳的PWM對(duì)直流電動(dòng)機(jī)控制端口實(shí)現(xiàn)。引腳定義如下:
引腳
功能
4
電機(jī)1方向控制
5
電機(jī)1PWM控制
6
電機(jī)2PWM控制
7
電機(jī)2方向控制
如digitalWrite(4,HIGH)和digitalWrite(4,LOW)是控制電機(jī)1的正轉(zhuǎn)和反轉(zhuǎn)的,analogWrite(5,100)是控制電機(jī)1的轉(zhuǎn)動(dòng)速度的。
2.聲控風(fēng)扇
這部分主要是完成聲控風(fēng)扇的制作,功能是通過(guò)聲音傳感器檢測(cè)聲音,檢測(cè)到時(shí)風(fēng)扇轉(zhuǎn)動(dòng),否則停止轉(zhuǎn)動(dòng)。程序如下:
void setup() {
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
}
void loop() {
int a;
a=analogRead(A0); //讀取模擬口的值
if(a>700){
digitalWrite(4,HIGH); //轉(zhuǎn)動(dòng)風(fēng)扇
analogWrite(5,100); //設(shè)置風(fēng)扇的轉(zhuǎn)速
delay(2000);
}
else{
analogWrite(5,0);
delay(2000);
}
}
3.換擋風(fēng)扇
這部分主要是完成換擋風(fēng)扇的制作,這里的換擋風(fēng)扇主要是通過(guò)按鈕完成換擋的功能的,程序如下:
int i=0;
bool k;
void setup() {
pinMode(2,INPUT);
pinMode(5,OUTPUT);
}
void loop() {
k=digitalRead(2);
if(k==LOW){
i++;
if(i==1){
analogWrite(5,50);
}
else if(i==2){
analogWrite(5,100);
}
else{
analogWrite(5,0);
i=0;
}
delay(50);
}
}
上述程序下載之后,學(xué)生會(huì)發(fā)現(xiàn)不是很靈敏,有的學(xué)生會(huì)比較感興趣。因?yàn)樵谥暗腖ED系列中拓展過(guò)消抖的知識(shí),所以我們?cè)谶@里只是提示學(xué)生這也是由于消抖引起的,讓學(xué)生自己嘗試解決的。另外在拓展中也加入了另一種選擇結(jié)構(gòu)switch結(jié)構(gòu),這里也為大家提供一下程序,如下:
int i=0;
bool k=0;
bool s=1;
void setup() {
pinMode(2,INPUT);
pinMode(5,OUTPUT);
}
void loop() {
if((!digitalRead(2)) && s){
k=!k;
i++;
switch(i){
case 1:analogWrite(5,50);
break;
case 2:analogWrite(5,100);
break;
case 3:analogWrite(5,200);
break;
default:analogWrite(5,0);
i=0;
}
delay(20);
}
s=digitalRead(2);
}
下圖是學(xué)生組裝的智能風(fēng)扇,包括按鈕和聲音傳感器。其中固定電機(jī)的結(jié)構(gòu)件是我們用3D打印機(jī)打印出來(lái)的。在當(dāng)前還沒有找到專為基礎(chǔ)教育優(yōu)化過(guò)的Arduino套件的時(shí)候,采用3D打印機(jī)自行設(shè)計(jì)一些結(jié)構(gòu)件,似乎也是一種可行的方案。