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