專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> Arduino >> 瀏覽文章

Arduino機(jī)器人第4課:智能風(fēng)扇

作者:謝作如   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年05月04日   【字體:

  為了有效避免學(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)件,似乎也是一種可行的方案。
關(guān)閉窗口

相關(guān)文章