Arduino 4位數7段LED數字顯示器
最近做了幾個專案都使用Arduino, 有位同仁也對Arduino產生了學習的興趣, 他自己嘗試用74HC595移位器可以驅動一位數7段LED, 但在4位數的就是動不了, 要我幫忙看一下。 所以整理這幾日看的資料: 1. 7段LED的原理: 以下這個連結的文章, 寫得不錯! 介紹1位數7段LED原理 (1) 原來是用7個LED燈, 加上小數點就是8個LED燈來組成數字 (2) 有分共陽(common anode), 共陰(common cathode)兩種作法 (3) 所以會用掉Arduino的8個數位輸出 2. 4位數7段的LED: 這篇介紹4位數的部份, 4位數7段LED(common anode) (1) 說明4位數的作法是多工的方式, 和原本一位數的作法一樣, 也是要8個數位輸出 (2) 但是只再多使用D1, D2, D3, D4(4位數7段LED的腳位)共四個腳位, 用來指示要將8個segment的輸出送到那一個位數。 (3) 使用電晶體(NPN)來加大輸出的電流能力, up side switch (sourcing current) (4) 會用掉Arduino的所有數位輸出腳位 這篇的作法有點不一樣, (common cathode) http://www.electroschematics.com/10512/arduino-4-digit-7-segment-led-display/ (1) 一樣加入4個電晶體(NPN), 但是做成down side switch(sinking current) (2) 程式寫法幾乎和前一篇的相同, showDigit()裡的作法改成common cathode 3. 減少使用Arduino數位輸出的方法, 使用74HC595 這篇文章有詳細的說明: Arduino_74HC595 (1) 595可以讓Arduino只使用3支腳就可以控制8個LED燈 (2) 還可以用串2個595的方式, 增加到可以控制16個LED燈 4. Arduino內建支援595的使用函數 這篇文章有介紹:...