步驟1:讀取BCD二進制時鐘
所描述的時鐘使用二進制編碼的十進制(bcd)顯示方法,首先進行描述。在這種方法中,時間的每個數(shù)字都被隔離并顯示為二進制數(shù)。例如,一分鐘的37分鐘顯示為0000 0011(二進制3)和0000 0100(二進制7)。
每個分段的每個數(shù)字(小時,分鐘,秒)占據(jù)一列??瞻琢蟹指裘總€對,則使用8列。有時候事情不是很整潔嗎?
步驟2:所需的設(shè)備
我使用了Nano,因為我可以將所有東西都放在一塊面包板上。我購買了一個品牌外的產(chǎn)品。
顯示
一個MAX 72xx LED矩陣分支板。請注意,MAX72xx引腳可能因型號而異,請檢查)。
我顛倒安裝了地雷,因此在其控制引腳上使用了公母跳線。
I2C DS3231實時時鐘(RTC)轉(zhuǎn)接板。
電源,地線和兩條信號線。
小面包板。
我將所有東西都擠在了400針板上。
用于Arduino的電池或交流適配器(未顯示)。
第3步:接線
MAX72xx的五個引腳根據(jù)ledControl庫頁面進行接線。我的7219的針腳順序與所述的不同。
VCC-+ 5V
GND--接地
DIN(數(shù)據(jù)輸入)-D10
CS(在庫中稱為“ LOAD”。)-D11
CLK(時鐘)-D12
時鐘已連接到I2C引腳(檢查您的Arduino模型)。對于Nano 。..
VCC-+ 5V
GND--接地
SCL--模擬5
步驟4:關(guān)于算法的注釋
LED矩陣的每一列均表示一位。分離。將小時,分鐘和秒轉(zhuǎn)換為兩位數(shù)是微不足道的。..
通過將小時除以10(沒有余數(shù))來將第一個數(shù)字隔離。
將第二個模塊除以10(僅余數(shù))()(僅余數(shù))。
我們點亮一列LED,以對應(yīng)于適當數(shù)字的二進制表示形式。為此,我們使用ledcontrol.h庫的setRow()函數(shù),該函數(shù)需要三個參數(shù)
矩陣編號(每個實例庫最多可處理8個)。計數(shù)從0開始,這就是本草圖中使用的數(shù)字,因為我們只有一個矩陣。
列號(從左側(cè)開始,編號為0-7)。如所使用的,列0和1分別對應(yīng)于小時的第一位和第二位數(shù)字。
從上到下描述要打開的LED的字節(jié)(1 = on)。
小時/分鐘/秒個位數(shù)字以十進制整數(shù)形式返回值(即0-9)。必須使用byte()函數(shù)將它們轉(zhuǎn)換為所需的字節(jié)(二進制)值(以編程方式來說就是“轉(zhuǎn)換”)。
SetRow(),在我的矩陣上,將LED填充為與輸入/輸出引腳,但最低有效位(“底部”)更靠近輸出引腳-我將其顛倒安裝。 (嘗試使用您自己的矩陣LED)。請注意,您需要按位數(shù)學(xué)求逆順序,以便將LED矩陣右側(cè)向上安裝,如果要橫向安裝LED矩陣,請使用SetColumn函數(shù)。
第5步:草圖
第6步:改進和注釋
構(gòu)建并運行起來后,我發(fā)現(xiàn)令人驚訝的是,顯示屏的體積很小,這當然是LED矩陣尺寸的函數(shù)。
我有一個座鐘,如果可以找到一個便宜的鐘表的話,我會拉出馬達外殼,用一圈煙熏玻璃或丙烯酸玻璃代替鐘面。 (我將嘗試在當?shù)氐淖詣哟皯糁幫O聛聿⒁髨髲U)。因此,LED矩陣的電路板和芯片將隱藏起來。另一個可能的方法是切割一個染色或涂漆的木質(zhì)圓圈,以形成很好的對比度,并在其中切出一個方孔,以刺穿LED面。我懷疑我的卷軸看到了技能,因此,我需要偽造某種邊框。也許是黃銅的臉?我可以使用飛刀,立銑刀或研磨復(fù)合物在車床上制作出光滑的光潔度,或在漂亮的渦旋形圖案上進行加工,但需要找出一種方法來在導(dǎo)孔中獲得相對直角,而立銑刀則無法實現(xiàn), -也許是縱切鋸。
目前,可以通過重新編程Arduino Nano來調(diào)整時間,這是最不切實際的。可以添加三個按鈕,每個分段分別為一個小時,分鐘,秒,每個按鈕分別按小時,分鐘和秒,然后按相應(yīng)的按鈕將當前分段增加一個單位。那是最簡單的編程。但是,一個按鈕會更優(yōu)雅:長按進入小時數(shù)調(diào)整模式,短按遞增,等等。
我想將草圖轉(zhuǎn)移到ATTiny85并收回我的Nano板(也更容易轉(zhuǎn)移到時鐘盒中。)
-
時鐘
+關(guān)注
關(guān)注
11文章
1748瀏覽量
131876 -
Arduino
+關(guān)注
關(guān)注
188文章
6477瀏覽量
187993 -
LED矩陣
+關(guān)注
關(guān)注
0文章
71瀏覽量
17664
發(fā)布評論請先 登錄
相關(guān)推薦
偏移二進制和二進制補碼如何和實際數(shù)據(jù)對應(yīng),如何轉(zhuǎn)換?
bcd編碼的應(yīng)用 bcd與二進制的區(qū)別
hex格式和二進制的區(qū)別
在線二進制編碼器:數(shù)據(jù)轉(zhuǎn)換的快捷通道
ASCII碼和二進制的轉(zhuǎn)換關(guān)系
二進制編碼器的精度與分辨率
二進制編碼器在自動化領(lǐng)域的作用
二進制編碼器的種類及特點
二進制編碼器應(yīng)用場景 二進制編碼器與模擬編碼器比較
二進制編碼器工作原理 如何選擇二進制編碼器
二進制補碼及與原碼的互相轉(zhuǎn)換方法
二進制處理中的一些技巧
十進制和4位二進制計數(shù)器數(shù)據(jù)表
![十<b class='flag-5'>進制</b>和4位<b class='flag-5'>二進制</b>計數(shù)器數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論