作為一種電子工程師的利器,Arduino已經成為了許多人最愛的開發(fā)板。而當我們掌握了Arduino編程,就可以輕松制作高品質的七段數字顯示器。那么,制作這樣的數字顯示器的原理是什么?有哪些常見的數碼管控制電路?如何通過Arduino編程實現(xiàn)數碼管的控制和顯示?如何制作一個高品質的七段數字顯示器?除了七段數字顯示器,Arduino編程還可用于控制哪些其他顯示設備?本篇文章將為你一一道來。
一、 數碼管的控制原理
數碼管是一種電子顯示器件,主要用于顯示數字顯示器,具有顯示內容簡潔、色彩鮮艷、視覺效果強等特點。而在Arduino編程中,數碼管一般分為共陰數碼管和共陽數碼管。共陰數碼管是指數碼管的陰極接在電源上,當某個字符要顯示出來的時候,只需要讓對應的陰極與地相連即可。共陽數碼管則相反,陽極接在電源上,只需要讓對應的數碼管的陽極與電源相連即可。
在使用數碼管顯示數字時,通常需要將一個數字進行分割,然后根據每個數字的位數將其與對應的數碼管輸出端相連。
二、常見的數碼管控制電路
在控制數碼管的過程中,常見的數碼管控制電路主要有以下幾種:
1. 共陰數碼管控制電路
共陰數碼管的顯示原理是通過在陰極處加電進行顯示。具體的電路接法如圖所示:
其中,對應數碼管的AN0-AN3為4個控制極,在需要顯示的數字接入控制極,則需要將其余控制極接地。而接在數碼管的DP為小數點控制電路,若需要顯示小數點,則需要將其接通。
2. 共陽數碼管控制電路
共陽數碼管的顯示原理是通過在陽極處斷電進行顯示。具體的電路接法如圖所示:
其中,對應數碼管的DP為小數點控制電路,若需要顯示小數點,則需要將其接通。
3. 多位共陰數碼管控制電路
多位共陰數碼管的控制電路需要將多個數碼管的控制端均接在一起,然后通過按位控制數碼管來顯示相應的數字。電路接法如圖所示:
其中,對應數碼管的AN0-AN3為4個控制極,在需要顯示的數字接入控制極,則需要將其余控制極接地。
4. 多位共陽數碼管控制電路
多位共陽數碼管的控制電路需要將多個數碼管的控制端均接在一起,然后通過按位控制數碼管來顯示相應的數字。電路接法如圖所示:
三、通過Arduino編程實現(xiàn)數碼管的控制和顯示
在控制七段數碼管的過程中,需要使用Arduino的數字輸出功能,根據輸出引腳高低電平的不同來控制數碼管的亮滅。在控制七段數碼管亮滅時,常用的方法有直接控制IO端口和使用庫函數控制。
直接控制IO端口的方法:
void setup() {
//將LED的IO口設置為輸出模式
pinMode(LED, OUTPUT);
}
//數字0~9的顯示狀態(tài)
byte numbers[10][7] = {{0,0,0,0,0,0,1}, {1,0,0,1,1,1,1}, //0,1
{0,0,1,0,0,1,0}, {0,0,0,0,1,1,0}, //2,3
{1,0,0,1,1,0,0}, {0,1,0,0,1,0,0}, //4,5
{0,1,0,0,0,0,0}, {0,0,0,1,1,1,1}, //6,7
{0,0,0,0,0,0,0}, {0,0,0,1,1,0,0}}; //8,9
//顯示數字num
void showNum(int num){
int i;
//獲取數字num對應的狀態(tài)
byte *ptr = numbers[num];
for(i=0; i<7; i++){
//將每個數字對應的數碼管的IO口調整為對應的狀態(tài)
digitalWrite(char_codes[i], !ptr[i]);
}
}
void loop() {
int i;
//按照數字0~9的順序進行數字輸出
for(i=0; i<10; i++){
showNum(i);
delay(1000);
}
}
使用庫函數控制的方法:
使用庫函數控制數碼管的代碼較簡單,只需要將SevenSegment庫文件添加到Arduino IDE的庫文件夾中即可使用。關于庫函數的使用,請參考《Arduino庫函數的使用及案例》一文。
四、制作一個高品質的七段數字顯示器
制作一個高品質的七段數字顯示器,需要根據自己的需求選擇合適的數碼管、透光材料及外殼材料。同時,需要根據具體的控制電路進行布線,將控制電路接好再進行固定,避免電路松動導致顯示不正常。
具體制作過程如下:
1. 選購數碼管和透光材料
選購數碼管需要根據具體的控制電路來選擇,一般常見的數碼管種類有CSP、CC、CA、CB等,需要根據不同的電路采用相應的數碼管。另外,為了提高顯示的效果,需要使用一些透明的材料制作外殼,對于不同的顯示效果有不同的透光材料選擇。
2. 制作外殼
將透光材料剪成與數碼管相對應的小方塊,然后將它們按照對應的位置粘貼在外殼上。外殼要選擇透明的材料,可以采用亞克力、玻璃等材料。
3. 布線并固定
根據具體的控制電路,將數碼管的引腳與電路相連,布線時需要注意每個引腳的對應關系。完成布線后,需要將電路固定在外殼上,以免松動影響顯示效果。
4. 完成
完成后,只需要將制作好的高品質七段數字顯示器與Arduino開發(fā)板進行串聯(lián),通過Arduino編程就可以控制顯示器的亮滅了。
五、除了七段數字顯示器,Arduino編程還可用于控制哪些其他顯示設備
除了七段數字顯示器,Arduino編程可以用于控制各種其他顯示設備,比如LED燈、數碼管、液晶顯示屏、OLED屏幕等。對于不同的顯示設備,需要根據其控制方式使用不同的編程方法。在控制LED燈時,常用的方法是PWM調光,而對于液晶顯示屏等設備,則可以使用LCD5110庫等具體的庫函數進行操作。
最后,本文介紹了制作七段數字顯示器時的原理及常見的數碼管控制電路,通過Arduino編程實現(xiàn)數碼管的控制和顯示,以及制作一個高品質的七段數字顯示器的具體步驟。同時,介紹了Arduino編程可以控制的其他顯示設備,希望對廣大Arduino愛好者有所幫助。