Arduino的數字I/O被分成兩個部分,其中每個部分都包含有6個可用的I/O管腳,即管腳2到管腳7和管腳8到管腳13。除了管腳13上接了一個1K的電阻之外,其他各個管腳都直接連接到ATmega上。我們可以利用一個6位的數字跑馬燈,來對Arduino數字I/O的輸出功能進行驗證,以下是相應的原理圖:電路中在每個I/O管腳上加的那個1K電阻被稱為限流電阻,由于發光二極管在電路中沒有等效電阻值,使用限流電阻可以使元件上通過的電流不至于過大,能夠起到保護的作用。
1.png (16.98 KB, 下載次數: 58)
下載附件
2019-10-24 16:25 上傳
該工程對應的代碼為: int BASE = 2; int NUM = 6; 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); } 下載并運行該工程,連接在Arduino數字I/O管腳2到管腳7上的發光二極管會依次點亮0.1秒,然后再熄滅:
2.jpg (49.95 KB, 下載次數: 54)
下載附件
2019-10-24 16:25 上傳
這個實驗可以用來驗證數字I/O輸出的正確性。Arduino上一共有十二個數字I/O管腳,我們可以用同樣的辦法驗證其他六個管腳的正確性,而這只需要對上述工程的第一行做相應的修改就可以了: int BASE = 8;
|