2009年8月28日 星期五

實驗一 閃爍LED燈

  • 實驗名稱:閃爍LED燈


 

  • 實驗目的:
  1. 安裝軟體設定硬體裝置
  2. 認識Arduino Diecimila I/O控制板的輸入輸出埠
  3. 使LED燈閃爍確認控制板硬體動作正常


 

  • 實驗設備:
  1. Arduino Diecimila I/O控制板
  2. USB連接線
  3. LED x4
  4. 單芯線
  5. 麵包板


 

  • 實驗項目與步驟:
    • 電路連接與說明(認識I/O控制板):


     

    • 數位輸出輸入共14組 〜~ Digital Pins 0-13
    • Digital Pins 0-1/Serial In/Out - TX/RX
    • 類比輸入共6組 〜~ Analog Input Pins 0-5
    • 類比輸出 Analog Output * (Digital Pins 3,5,6,9,10,11)
    • Reset 按鈕- S1(此板會自動reset不需使用)
    • 額外電源輸入 (建議20VDC)
    • USB可使程式由電腦端輸入到板上的晶片,也能同時供給電
    • 電源供應Vin, 5V, 3.3V

    (安裝設定軟體)

    • 取得 Arduino 的開發軟體
    • 以 USB cable 將 Arduino 與電腦連接
    • 安裝Arduino之驅動程式(當連接上USB cable後會自動出現視窗)


     


     


     

    • 一直按下一步直到完成
    • 重新開機
    • 找到你的 Arduino 資料夾,開啟Arduino


     


     

    • 設定 Aruduino 的 控制板類型


     

    • 設定COM PORT


     

    • 程式撰寫與說明:

    程式語法請參考:(http://www.arduino.cc/en/Reference/HomePage)

    #################################################################

    int ledPin=13;


     

    void setup()

    {

    pinMode(ledPin, OUTPUT);         // 這裡設定所要輸出的PIN腳模式

    }

    void loop()

    {

    digitalWrite(ledPin, HIGH);            // 設定PIN13腳位為高電位= 5V

    delay(1000);                         // 設定延遲時間,1000 = 1秒

    digitalWrite(ledPin, LOW);             // 設定PIN13腳位為低電位= 0V

    delay(1000);                         // 設定延遲時間

    }

    #################################################################


     

    • 實驗步驟與觀察:
      • 開始測試Arduino板是否運作正常:Verify -> Upload to I/O board


     


     


     

  • Upload 到實驗板上的結果如下:(看見pin13的紅燈閃爍則實驗板動作正常)


     


 

  • 結果與討論:


 


 


 


 

  • 延伸實驗內容:(電路接法如下)


 


 

#################################################################

/* LED燈依序由第一顆亮到第四顆, 一直重覆此過程 */

int timer = 1000;     // 計數數值越高LED顯示循環越慢

int pins[] = { 2, 3, 4, 5 };     // 送出信號的PIN腳

int num_pins = 4;     // 總共有幾個PIN腳送出信號


 

void setup()

{

int i;


 

for (i = 0; i < num_pins; i++)         // 設定陣列輸出名稱

pinMode(pins[i], OUTPUT);     // 設定每一個PIN腳為一個輸出

}


 

void loop()

{

int i;


 

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

digitalWrite(pins[i], HIGH);         // 使輸出腳高電位= 5V

delay(timer);     // 暫停的時間,1000 = 1秒

digitalWrite(pins[i], LOW);         // 使輸出腳低電位= 0V

}


 

}

#################################################################


 

  • 參考資料:
  1. http://www.arduino.cc/

http://arduino.tw/

沒有留言:

張貼留言