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

Arduino機器人第6課:創(chuàng)意風扇

作者:huqin   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2014年05月04日   【字體:

《創(chuàng)意風扇》是第二章《智能風扇》的最后一個專題,主要涉及到舵機和紅外避障傳感器兩個器件,并通過舵機制作出搖頭風扇,通過紅外避障傳感器制作出自動跟蹤風扇。最后通過幾種傳感器的介紹,拋磚引玉,試圖引導學生有更多的創(chuàng)意。

 

本文主要對本次課的重難點、主要教學設計的設計意圖以及學生上課的反應做部分說明。

相關資源下載地址:http://pan.baidu.com/s/1kTqOYs3

1.搖頭風扇

前面所學到的風扇都是面向一個方向的,正當學生產生質疑的時候,搖頭風扇應運而生,學生對此還是很感興趣的。使風扇搖頭需要用到舵機,也稱伺服電機。標準的舵機有3條控制線,分別是電源、地和信號線。舵機的引腳定義為:棕色線——GND,紅色線——5V,橙色線——信號線,而信號線只能是數(shù)字口9或者10。我們使用的SG90舵機轉動的最大角度為180°。

有了上一專題學習的紅外庫為基礎,這一專題趁熱打鐵,繼續(xù)引入庫函數(shù),程序如下:

#include  

Servo myservo;  // 創(chuàng)建一個伺服電機對象

int i; 

void setup()

{

  pinMode(5,OUTPUT);

  myservo.attach(9);  // 9號引腳輸出電機控制信號

}

void loop()

{

analogWrite(5,100);

  for(i=0;i<180;i++){

    myservo.write(i);     // 設定伺服電機的位置

    delay(100);         // 等待電機旋轉到目標角度

  }

  for(i=179;i>=0;i--){

    myservo.write(i);

    delay(100);

  }

}

 

2.自動跟蹤風扇

自動跟蹤風扇是通過左右兩個紅外數(shù)字避障傳感器檢測障礙物的運動方向的,若左側傳感器檢測到障礙物而右側傳感器沒有檢測到,則舵機向左轉動;若右側傳感器檢測到障礙物而左側傳感器沒有檢測到,則舵機向右轉動;若兩側傳感器同時檢測到障礙物或者都沒檢測到障礙物,則保持原來方向?傊褪,手在哪風扇就可以轉向那(前提是風扇檢測到手并且角度不超過180)。

用到的紅外數(shù)字避障傳感器輸出的信號為數(shù)字信號,探測距離為3-18cm,引腳定義為:紅線——5V,黃線——信號,綠線——GND。程序如下:

#include  //引入lib

Servo myservo;

int left=2;

int right=12;

int i;

int j;

int n=0;

void setup() {

  myservo.attach(9);

}

void loop() {

  analogWrite(5,200);

  i=digitalRead(left);

  j=digitalRead(right);

  while(i==LOW && j==HIGH){//左轉

    if(n<180){

      n++;

      myservo.write(m);

      delay(100);

      i=digitalRead(left);

      j=digitalRead(right);

    }

  }

  while(j==LOW && i==HIGH){//右轉

    if(n>0){

      n--;

      myservo.write(n);

      delay(100);

      i=digitalRead(left);

      j=digitalRead(right);

    }  

  }

}

 

3.創(chuàng)意風扇

創(chuàng)意風扇基本屬于學生自由發(fā)揮的階段了,我們只是提供了幾種思路:定時風扇(通過按鈕),溫控風扇(溫度傳感器),傾倒自動停止風扇(傾角傳感器)。然后讓學生小卒討論并嘗試實現(xiàn),可是由于時間關系,學生并沒有完成自己的創(chuàng)意。所以思考以后上課的時候是否可以單獨拿出一節(jié)課上創(chuàng)意風扇。

下圖是自動跟蹤風扇的實物圖:



        注:大家是否發(fā)現(xiàn),這個工業(yè)用的避障傳感器是不是太大了,在這個機器人上顯得是否笨重?是的,專門那兩條粗粗的線我們就很不喜歡,但當時的確找不到更好的選擇。一次閑談中,經葉琛提醒,還有一種防跌落傳感器可以實現(xiàn)近距離的測障(10CM內),剛好符合我做手勢判斷的需求。下一版本就會使用新的傳感器了,可惜防跌落傳感器的價格是55,套件的整體價格要超過600(不包含bluno顯示屏和電池)了……

關閉窗口

相關文章