2013年4月3日 星期三

Arduino : digital output 8 LED


Arduino的數位I/O被分成兩個部分,其中每個部分都包含有6個可用的I/O管腳,即pin2到pin7 和 pin8到pin13除了pin13上接了一個1K的電阻之外,其他各個管腳都直接連接到ATmega上。

我們可以利用一個6(8)位的digital跑馬燈,來對Arduino數字I/O的輸出功能進行驗證,以下是相應的原理圖:

電路中在每個I/O PIN上加的那個1K限流電阻阻,由於LED在電路中沒有等效電阻值,使用限流電阻可以使元件上通過的電流不至於過大,能夠起保護作用。
程式如下:




int BASE = 2;
int NUM = 8;
int index = 0;

void setup()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    pinMode(i, OUTPUT);
  }
}

void loop()
{
  for (int i = BASE; i < BASE + NUM; i ++) {
    digitalWrite(i, LOW);
  }
  digitalWrite(BASE + index, HIGH);
  index = (index + 1) % NUM;
  delay(100);
}



沒有留言:

張貼留言

113 學年度第 1 學期 RFID應用課程 Arduino程式

113 學年度第 1 學期 RFID應用課程 Arduino程式 https://www.mediafire.com/file/zr0h0p3iosq12jw/MFRC522+(2).7z/file 內含修改過後的 MFRC522 程式庫 (原程式有錯誤) //定義MFRC522...