使用Nano V3微控制器、一個按鈕和兩個LED矩陣顯示器創(chuàng)建一個交互式電子骰子
歡迎來到這個令人興奮的Arduino項(xiàng)目,我們將使用Nano V3微控制器,按鈕和兩個LED矩陣顯示器創(chuàng)建一個交互式電子骰子。當(dāng)按下按鈕時,LED矩陣將通過顯示動畫模擬擲骰子,然后顯示隨機(jī)的骰子面。這個項(xiàng)目是一個有趣的方式潛入編程微控制器和工作與LED顯示器。
步驟1:連接圖
按鈕連接到D2和GND,按下時拉低。第二個LED矩陣是菊花鏈。
ArduinoCode
你需要安裝“LedControl”庫。為此,打開Arduino IDE并轉(zhuǎn)到庫管理器。搜索“LedControl”(byEberhardFahle)并安裝。
代碼是如何工作的
庫包含和初始化
包括“LedControl”庫來控制LED矩陣。
●初始化一個“LedControl”對象“l(fā)c”,其數(shù)據(jù)(“DIN”)、時鐘(“CLK”)和芯片選擇(“CS”)引腳分別連接到Arduino的引腳12、11和10。
●指定有2個器件(LED矩陣)菊狀連接在一起。
定義骰子面模式
●創(chuàng)建一個二維數(shù)組“骰子”,保存一個骰子的六個面的位圖模式。
●每個面是一個8字節(jié)數(shù)組,代表8x8 LED矩陣模式。
按鈕的設(shè)置
●設(shè)置按鈕連接到數(shù)字引腳2。
●初始化按鈕狀態(tài)變量和debounce功能,以處理機(jī)械開關(guān)彈跳
設(shè)置函數(shù)
?從關(guān)閉模式喚醒兩個LED矩陣。
?將亮度設(shè)置為中等。
?清除矩陣上的任何先前顯示。
?種子隨機(jī)數(shù)生成器生成隨機(jī)骰子值。
?配置帶有內(nèi)部上拉電阻的按鈕引腳。
?讀取按鈕的初始狀態(tài)。
顯示骰子面
●輔助功能,獲取骰子面模式并在指定的LED矩陣上顯示。
動畫功能
●通過在LED矩陣上顯示隨機(jī)圖案來創(chuàng)建滾動骰子動畫,持續(xù)一秒鐘。
●在顯示最終結(jié)果之前,通過模擬滾動效果來增強(qiáng)用戶體驗(yàn)。
主循環(huán)
●連續(xù)檢查按鈕狀態(tài)并關(guān)機(jī)。
●檢測到按鈕按下時:
〇調(diào)用“animate()”函數(shù)來顯示滾動動畫。
〇為骰子值生成1 ~ 6之間的兩個隨機(jī)數(shù)。
〇使用displayDieFace()函數(shù)在每個LED矩陣上顯示對應(yīng)的骰子面
本文編譯自hackster.io