在這個初學(xué)者項(xiàng)目中,我們通過構(gòu)建LED矩陣和使用Arduino來創(chuàng)建二進(jìn)制時鐘。
本文將向您介紹LED多路復(fù)用以及如何利用這種技術(shù)構(gòu)建可用于許多不同項(xiàng)目的LED陣列。在這種特殊情況下,我們將構(gòu)建一個二進(jìn)制時鐘。
如何設(shè)置LED多路復(fù)用
這是一種非常簡單的技術(shù)創(chuàng)建LED矩陣,每個二極管可以尋址和打開和關(guān)閉。您首先必須決定是要構(gòu)建共陰極還是共陽極陣列。雖然電路略有不同,但兩種方法基本上都是相似的:
![](http://file.elecfans.com/web1/M00/9E/B8/pIYBAF05hL-ASCoMAAFXeBp5mjU034.png)
創(chuàng)建LED矩陣的電路圖。
如何尋址各個LED
每個二極管在這個數(shù)組中有自己的地址,可以單獨(dú)打開和關(guān)閉。如果您在尋址LED時遇到問題,可以將上圖中的數(shù)組劃分為行和列,并為每個數(shù)組分配如下名稱:
![](http://file.elecfans.com/web1/M00/9E/69/o4YBAF05hKOAQi-9AAGaNFyM3sk406.png)
通過將電路劃分為行和列來對矩陣內(nèi)的每個LED進(jìn)行尋址。
構(gòu)建二進(jìn)制時鐘
讓我們把我們的LED陣列使用Arduino Uno打開和關(guān)閉LED,DS3231和實(shí)時時鐘模塊以便跟蹤時間,從而很好地利用和構(gòu)建二進(jìn)制時鐘。
首先構(gòu)建LED矩陣從上面。它看起來有點(diǎn)亂,但連接LED需要所有跳線:
首先構(gòu)建LED矩陣。
因?yàn)檫@是一個簡單的LED矩陣,它使用Arduino的十個I/O端口。所以一定要使用有足夠針腳的。如果要減少必要行數(shù),可以使用二進(jìn)制到十進(jìn)制轉(zhuǎn)換。但是,這超出了本文的范圍。
第1行到第4行連接到Arduino引腳2到5,6列連接到引腳6到11.您可以在下面看到這些連接。
將LED連接到Arduino。
固件
首先編寫一個小測試草圖,將矩陣中的每個LED依次打開。如果所有LED都以正確的順序點(diǎn)亮,則陣列連接正確。
voidsetup()
{
pinMode(2,OUTPUT);//1
pinMode(3,OUTPUT);//2
pinMode(4,OUTPUT);//3
pinMode(5,OUTPUT);//4
pinMode(6,OUTPUT);//A
pinMode(7,OUTPUT);//B
pinMode(8,OUTPUT);//C
pinMode(9,OUTPUT);//D
pinMode(10,OUTPUT);//E
pinMode(11,OUTPUT);//F
}
voidloop()
{
for(inti=6;i12;?i++)
{
digitalWrite(i,1);
for(intu=2;u6;?u++)
{
digitalWrite(u,1);
delay(250);
digitalWrite(u,0);
}
digitalWrite(i,0);
}
}
如上所述,主固件連接DS3231 RTC模塊并讀取時間。然后,它將值轉(zhuǎn)換為二進(jìn)制,并將相應(yīng)的LED切換為ON。
您需要從Github下載Arduino IDE庫。固件在本文末尾以可下載的.zip文件的形式提供。上傳代碼后,您的Arduino應(yīng)顯示正確的時間 - 在此特定示例中,時間為21:45:11。
我們完成的二進(jìn)制時鐘。
為什么制造商使用LED矩陣?
LED矩陣在許多應(yīng)用中都非常有用,比如這個簡單的二進(jìn)制時鐘。重要的是要了解晶體管如何作為開關(guān)工作以及如何單獨(dú)控制元件陣列中的每個LED。
然而,這種方法遠(yuǎn)非完美,因?yàn)樗加昧嗽S多I/O端口并且受到限制可以同時打開多少個LED。但它很容易理解和構(gòu)建。
如果你想減少必要的I/O行數(shù),你可以嘗試使用BCD到十進(jìn)制解碼器,如CD4028B(PDF),你可以看看在其他技術(shù)如Charlieplexing,或者你可以使用完全不同的方法(例如,可尋址的LED條)。
利用LED矩陣的其他項(xiàng)目
-
led
+關(guān)注
關(guān)注
242文章
23390瀏覽量
663669 -
Arduino
+關(guān)注
關(guān)注
188文章
6477瀏覽量
187978
發(fā)布評論請先 登錄
相關(guān)推薦
二進(jìn)制
![<b class='flag-5'>二進(jìn)制</b>](https://file1.elecfans.com//web2/M00/A4/B5/wKgZomUMNVyAdVirAAASM9n2nZE370.gif)
二進(jìn)制編碼和二進(jìn)制數(shù)據(jù)
什么是二進(jìn)制計(jì)數(shù)器,二進(jìn)制計(jì)數(shù)器原理是什么?
二進(jìn)制電平,什么是二進(jìn)制電平
二進(jìn)制加法程序【匯編版】
帶秒的Arduino 24小時二進(jìn)制時鐘
![帶秒的<b class='flag-5'>Arduino</b> 24小時<b class='flag-5'>二進(jìn)制</b><b class='flag-5'>時鐘</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Arduino的二進(jìn)制時鐘屏蔽
![<b class='flag-5'>Arduino</b>的<b class='flag-5'>二進(jìn)制</b><b class='flag-5'>時鐘</b>屏蔽](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
基于Arduino Uno的二進(jìn)制時鐘
帶兩個LED矩陣和RTC的數(shù)字和二進(jìn)制時鐘
![帶兩個<b class='flag-5'>LED</b><b class='flag-5'>矩陣</b>和RTC的數(shù)字和<b class='flag-5'>二進(jìn)制</b><b class='flag-5'>時鐘</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
構(gòu)建LED二進(jìn)制計(jì)數(shù)器
![<b class='flag-5'>構(gòu)建</b><b class='flag-5'>LED</b><b class='flag-5'>二進(jìn)制</b>計(jì)數(shù)器](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
使用Arduino UNO構(gòu)建4位二進(jìn)制計(jì)數(shù)器
![使用<b class='flag-5'>Arduino</b> UNO<b class='flag-5'>構(gòu)建</b>4位<b class='flag-5'>二進(jìn)制</b>計(jì)數(shù)器](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論