欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術學習與研究
當前位置:單片機教程網 >> Arduino >> 瀏覽文章

Arduino機器人第4課:智能風扇

作者:謝作如   來源:本站原創   點擊數:  更新時間:2014年05月04日   【字體:

  為了有效避免學生對LED的審美疲勞,我們根據聚類的思想設計了智能風扇系列。《智能風扇》是第二章《智能風扇》的第一個專題,是對第一章《LED》中的重點(按鈕和傳感器)的鞏固和深化。從物理電路的連接上,增加了帶直流電機的風扇;從編程上,增加了if結構的變式等內容。

 
本文主要對本次課的重難點、主要教學設計的設計意圖以及學生上課的反應做部分說明。
 
相關資源下載地址:http://pan.baidu.com/s/1kTqOYs3
 
1.RoMeo控制直流電機
 
由于驅動風扇需要用到直流電機,我們從這一課開始更換了板子,用的是DFRobot的新產品——RoMeo,該控制器不僅繼承Arduino328控制器所有的特性而且集成了電機驅動、鍵盤、IO擴展板、無線數據串行通訊等接口。RoMeo中電機控制針跳線,將分配用于電機控制引腳為數字口4,5,6,7。RoMeo控制電機有兩種模式:PWM模式和PLL模式,這里我們用到的是PWM模式,通過改變兩個數字IO引腳和兩個PWM引腳的PWM對直流電動機控制端口實現。引腳定義如下:
 
引腳
 
功能
 
4
 
電機1方向控制
 
5
 
電機1PWM控制
 
6
 
電機2PWM控制
 
7
 
電機2方向控制
 
如digitalWrite(4,HIGH)和digitalWrite(4,LOW)是控制電機1的正轉和反轉的,analogWrite(5,100)是控制電機1的轉動速度的。
 
2.聲控風扇
 
這部分主要是完成聲控風扇的制作,功能是通過聲音傳感器檢測聲音,檢測到時風扇轉動,否則停止轉動。程序如下:
 
void setup() {
 
  pinMode(4,OUTPUT);
 
  pinMode(5,OUTPUT);
 
}
 
void loop() {
 
  int a;
 
  a=analogRead(A0); //讀取模擬口的值
 
  if(a>700){
 
    digitalWrite(4,HIGH); //轉動風扇
 
    analogWrite(5,100); //設置風扇的轉速
 
    delay(2000);
 
  }
 
  else{
 
    analogWrite(5,0);
 
    delay(2000);
 
  }
 
}
 
3.換擋風扇
 
這部分主要是完成換擋風扇的制作,這里的換擋風扇主要是通過按鈕完成換擋的功能的,程序如下:
 
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);
 
  }
 
}
 
上述程序下載之后,學生會發現不是很靈敏,有的學生會比較感興趣。因為在之前的LED系列中拓展過消抖的知識,所以我們在這里只是提示學生這也是由于消抖引起的,讓學生自己嘗試解決的。另外在拓展中也加入了另一種選擇結構switch結構,這里也為大家提供一下程序,如下:
 
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);
 
}
 
下圖是學生組裝的智能風扇,包括按鈕和聲音傳感器。其中固定電機的結構件是我們用3D打印機打印出來的。在當前還沒有找到專為基礎教育優化過的Arduino套件的時候,采用3D打印機自行設計一些結構件,似乎也是一種可行的方案。
關閉窗口

相關文章