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);
}
沒有留言:
張貼留言