2014年8月15日

Arduino - LED 7 段數字顯示器

LED 7 段數字顯示器數數控制。

材料
LED 共陰極7段顯示器  x 1
Resistor 330Ω  x7

製作
< 參考「Arduino互動設 計入門2」- p7-5 ~ p7-7 >
port D0 (RX) 與上傳程式的USB共用之故, 我沒用上。



電路圖如下:


程式同上篇一樣使用 DDRx/PORTx 的技巧;如下:

const byte LED_SET = 0b11111110
const byte LEDs[10] = {
  0b11110110, // 0
  0b11000000, // 1
  0b01101110, // 2
  0b11101010, // 3
  0b11011000, // 4
  0b10111010, // 5
  0b10111110, // 6
  0b11100000, // 7
  0b11111110, // 8
  0b11111000  // 9
};

byte index = 0;

void setup() {
  DDRD = LED_SET;
}

void loop() {
  index %= 10;
  PORTD = LEDs[index++];
  delay(1000);
}

各接腳定訂如下:
pin D0 :(不用)
pin D1 :底部橫線
pin D2 :左下直線
pin D3 :左上直線
pin D4 :中間橫線
pin D5 :頂部橫線
pin D6 :右上直線
pin D7 :右下直線

右下角dp點沒做控制;程式技巧使用到 mod 運算,使得索引 index 只由 0 ~ 9 不會超過 10。
完成!

沒有留言: