LED是在電子電路工作中非常常見的顯示零件,因為它便宜、耐用,而且非常容易使用於電路中。在這個單元,我們就使用一個一般的LED和一個電阻,說明如何讓Arduino可以驅動外部的LED,並且控制它的閃爍。
在這個實習中我們需要一個LED以及一個電阻,為了方便練習,還需要一個麵包板。以下是要連接的電路圖:
基本上就是先把輸出接腳D2連接到電阻,然後該電阻的另外一端則是連接到LED的正極(長腳),LED的負極連接到地線,就算是大功告成了。那個電阻叫做限流電阻,使用的原因是Arduino的輸出電壓是5V,大於LED的工作電壓,所以我們需要使用一個電阻,讓在LED上工作的電壓降低,可以避免LED被過大的電流燒毀。
至於使用的電阻值大小有一定的計算公式,每一種LED需要使用的電阻值不一定相同。不過,好消息是,我們只是為了實驗需要,連接使用的時間不會太長,因此只要有電阻就可以了,一般來說,只要大於220歐姆即可運作,如果使用的電阻值過大,頂多就是亮度較低或是不會亮而已,在使用上不會有什麼特別的問題。以下是連接完成的樣子:
在上電路中我們把輸出設定在第D2,因此在程式中如果要驅動此LED,就需要針對D2(也就是數位輸出入的第2支腳)進行輸出的工作。程式碼如下所示:
[code]
int LEDpin = 2;
void setup() {
pinMode(LEDpin, OUTPUT);
digitalWrite(LEDpin, LOW);
}
void loop() {
digitalWrite(LEDpin, HIGH);
delay(500);
digitalWrite(LEDpin, LOW);
delay(500);
}
[/code]
為了避免日後一再也變更程式中的接腳數字,在程式的最開始的地方先宣告一個變數叫做LEDpin,並設定內容為2,如此,在程式中就可以通通使用這個變數,以後如果需要變更實際連接的輸出接腳,只要改變這個變數的宣告一個地方就可以了。以下是此實習的執行成果。
可以控制一個外部的LED之後,接著可以更進一步地控制2個LED,以下是電路圖:
等於是同樣的電路再複製一次,但這一次是把另外一個LED的輸出控制線接到D3(數位輸出入的第3支接腳),以下是實際電路的連接情形:
以下是程式碼:
[code]
int LED1pin = 2;
int LED2pin = 3;
void setup() {
pinMode(LED1pin, OUTPUT);
digitalWrite(LED1pin, LOW);
pinMode(LED2pin, OUTPUT);
digitalWrite(LED2pin, HIGH);
}
void loop() {
digitalWrite(LED1pin, HIGH);
digitalWrite(LED2pin, LOW);
delay(500);
digitalWrite(LED1pin, LOW);
digitalWrite(LED2pin, HIGH);
delay(500);
}
[/code]
在這個程式中,我們讓這兩個LED交替閃爍。因為需要2個輸出,所以我們多宣告了一個變數,同時把第1個變數改為LED1pin,第2個變數則是LED2pin,分別指向第2及第3支數位接腳。只要在程式中當LED1pin是HIGH的時候,LED2pin就讓它變成LOW,反之亦然,如此就可以做到輪流閃爍的目的。以下是此程式執行的範例影片: