![]() |
![]() |
![]() 共陰 |
![]() 共陽 |
| 請先試試 共陰或共陽 確認各段LED |
![]() 共陰 |
![]() svg |
![]() svg |
| a | b | c | d | e | f | g | dot |
| D10 | D9 | D7 | D6 | D5 | D11 | D12 | D8 |
| //
共陰 顯示 8. #define a 10 #define b 9 #define c 7 #define d 6 #define e 5 #define f 11 #define g 12 #define dot 8 void setup(){ pinMode(a,OUTPUT); pinMode(b,OUTPUT); pinMode(c,OUTPUT); pinMode(d,OUTPUT); pinMode(e,OUTPUT); pinMode(f,OUTPUT); pinMode(g,OUTPUT); pinMode(dot,OUTPUT); digitalWrite(a,1); digitalWrite(b,1); digitalWrite(c,1); digitalWrite(d,1); digitalWrite(e,1); digitalWrite(f,1); digitalWrite(g,1); digitalWrite(dot,1); } void loop(){ } |
![]() svg |
| 共
陰 顯示0 digitalWrite(a,1); digitalWrite(b,1); digitalWrite(c,1); digitalWrite(d,1); digitalWrite(e,1); digitalWrite(f,1); digitalWrite(g,0); digitalWrite(dor,0); |
共
陰 顯示1 digitalWrite(a,0); digitalWrite(b,1); digitalWrite(c,1); digitalWrite(d,0); digitalWrite(e,0); digitalWrite(f,0); digitalWrite(g,0); digitalWrite(dot,0); |
![]() |
|
COMMON CATHODE
|
D10
|
D9
|
D7
|
D6
|
D5
|
D11
|
D12
|
D8
|
|
|
a
|
b
|
c
|
d
|
e
|
f
|
g
|
dot
|
||
![]() |
1
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
|
|
0
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
||
|
1
|
1
|
0
|
1
|
1
|
0
|
1
|
0
|
||
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
0
|
||
|
0
|
1
|
1
|
0
|
0
|
1
|
0
|
0
|
||
![]() |
a
|
b
|
c
|
d
|
e
|
f
|
g
|
dot
|
|
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
0
|
||
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
||
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
||
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
||
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
0
|
||
|
int segPins[8] = {10, 9, 7,6, 5, 11, 12, 8 }; // { a b c d e f g .
) int segCode[11][8] = { // a b c d e f g . { 1, 1, 1, 1, 1, 1, 0, 0}, // 0 { 0, 1, 1, 0, 0, 0, 0, 0}, // 1 { 1, 1, 0, 1, 1, 0, 1, 0}, // 2 { 1, 1, 1, 1, 0, 0, 1, 0}, // 3 { 0, 1, 1, 0, 0, 1, 1, 0}, // 4 { 1, 0, 1, 1, 0, 1, 1, 0}, // 5 { 1, 0, 1, 1, 1, 1, 1, 0}, // 6 { 1, 1, 1, 0, 0, 0, 0, 0}, // 7 { 1, 1, 1, 1, 1, 1, 1, 0}, // 8 { 1, 1, 1, 1, 0, 1, 1, 0}, // 9 { 0, 0, 0, 0, 0, 0, 0, 1} // . }; void displayDigit(int digit) { for (int i=0; i < 8; i++) { digitalWrite(segPins[i], segCode[digit][i]); } } void setup() { for (int i=0; i < 8; i++) { pinMode(segPins[i], OUTPUT); } } void loop() { for (int n = 0; n < 11; n++) // display digits 0 - 9 and decimal point { displayDigit(n); delay(1000); } } |