七段顯示器是由八個LED當組成,有共陽及與共陰極兩種,在購買時要注意是屬於哪一種,在這裡要示範的是共陰極的七段顯示器。
如下圖,請依序將七段顯示器的a腳,連接一個300歐姆的電阻再接到Arduino第二個腳位(pin2)、b腳串接電阻後再接到Arduino的Pin3……,最後將七段顯示器的GND腳位接到Arduino的GND腳位。
數字
|
p
|
g
|
f
|
e
|
d
|
c
|
b
|
a
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
2
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
3
|
0
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
4
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
0
|
5
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
1
|
6
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
7
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
8
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
9
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
/* * 七段顯示器,0~9 循環顯示 */ const byte NUMBERS[10]= { B00111111,B00000110, B01011011,B01001111, B01100110,B01101101, B01111101,B00000111, B01111111,B01101111 } ; const int LEDS[]={2,3,4,5,6,7,8,9} ; void setup() { // put your setup code here, to run once: Serial.begin(9600) ; for(int i=0;i<8;i++) pinMode(LEDS[i],OUTPUT); } void loop() { // put your main code here, to run repeatedly: for(int i=0;i<10;i++) { // 依序循環顯示數字 0、1、2...8、9。 for(int j=0;j<8;j++) { if(bitRead(NUMBERS[i],j)) // 依序讀取NUMBERS[i]內a、b、c....的值,若是1表示該腳位需要施以高電位 digitalWrite(LEDS[j],HIGH) ; else digitalWrite(LEDS[j],LOW); } delay(1000); } }