[2019鐵人賽] - 暫時先發 14.筆記IoT初練習- 用JavaScript控制Arduino吧!炫炮廣告跑馬燈?Johnny Five 之 Led.Matrix
炫不炫我是不知道啦XD 點進來讓我們繼續看下去~
LED 系列實在有夠多..... _(:3 」∠ )_
但也因為市面上的需求量大、應用方面也廣,處處都可以看到LED的應用!
LED Matrix 介紹
這次要介紹的是 8*8的 LED 矩陣( 8*8 LED Matrix ) ~不....其實他就是非常多顆 LED 包裝在一塊而已XD
市面上的 LED Matrix 非常多種,不只8*8的規格,還有4*4、10*10、n*n等等的
Google一下發現居然有 RGB 的 LED Matrix ,果然我又老了....Orz
像LED Matrix的應用非常非常廣~
舉凡區公所啦~學校啦~都可以看到的廣告招牌
超炫炮的LED Cube
其他就讓大家自行搜尋啦~σ`∀´)σ
硬體部分 LED Matrix 電路
普通的 LED Matrix 指的是像這樣的電子零件↓
> 本魯宅的 LED Matrix
那個洞洞其實都是 LED 所組成的,零件也一樣有分共陰和共陽極!
如果想要獨自接電路的人需要注意一下~
LED Matrix 模組差在哪?
LED Matrix 模組化主要多了下面那顆 IC -「MAX7219」
以往接一顆 LED 就要接一個分壓電阻加上Vcc、GND,64顆 LED 至少就要 64個電阻+N個接點,這樣電路佈線豈不亂死?
MAX7219為 LED 驅動 IC,解決了多個 LED 使用上的問題,最多能驅動8個七段顯示器(七段顯示器是由8顆LED所組成);
因為一顆MAX7219能驅動 8組七段顯示器 8*8=64 顆 LED ,故此特性也能驅動一顆 8*8 的 LED Matrix!只要在IC外部上接一顆電阻,即可驅動 LED 並編碼顯示。
PS:抱歉~七段顯示器本來要先講,但還沒實驗完,故先講解 LED Matrix...Orz
MAX7219還提供了兩組顯示模式
> 原始資料模式
在原始資料模式中,開發者需自行指定七段顯示器中每個筆畫的明滅資訊。
> 2. BCD 碼模式
BCD 碼 decode 模式的模式下,每個字的筆畫構成已被事先定義、並依照 BCD 碼 B 區的規範儲存在 MAX7219 當中。因此要顯示這些字時,僅需提供每個字所對應的索引編號即可。
相關資料
- Maxim-Serially Interfaced, 8-Digit LED Display Drivers
MAX7219 Data Sheet:
https://www.sparkfun.com/datasheets/Components/General/COM-09622-MAX7219-MAX7221.pdf
- 聯發科-使用 MAX7219 驅動七段顯示器
https://docs.labs.mediatek.com/resource/linkit7697-arduino/zh_tw/tutorial/driving-7-segment-displays-with-max7219
軟體部分 - Led.Matrix
> Johnny-Five Led.Matrix
可以看到 Johnny-five 簡介說明,提供 8*8 或是 8*16 的矩陣的鏈接,最多可以提供 8 組輸出,即控制 512 顆 LED!!(哇~這麼多嚇死人~ ∑(ι´Дン)ノ
使用Johnny Five Led.Matrix,元件初始化首先要 new 一個 five.Led.Matrix 物件,並且pins為必要參數,可以用物件或是陣列表示,pins物件有三個鍵值(key)分別為
> - data 資料
> - clock 時脈
> - cs LOAD 訊號
```
new five.Led.Matrix({
pins: {
data: 2,
clock: 3,
cs: 4
}
});
```
剛剛的硬體對照接腳的話則
> data 為 DIN ,用來輸入資料。
> clock為CLK、cs為CS,兩者是用來控制訊號,將資料寫入MAX7219內部的暫存器。
Johnny-Five 在 LED Matrix 的 API 提供八大類方法讓我們使用
- on - 點亮矩陣
- off - 關閉矩陣
- clear - 清除矩陣狀態
- brightness - 設定矩陣亮度
- led - 設定每個行列的亮滅。
state參數:0 on/1 off 其餘數字不會有動作
(若為RGB的矩陣則可以設定顏色)
- row - 設定第 i 排的 row 的 n 顆 led 亮/滅。
n 採用的是 BCD 加法器,數值範圍(0~255)
- column - 設定第 i 排的 column 的 n 顆 led 亮/滅。
n 採用的是 BCD 加法器,數值範圍(0~255)
- draw - 顯示已定義的字元表字元。
PS:因為 row 和 column 的中譯「行/列」台灣和大陸翻譯講法相反,很容易搞混...
所以採用統一英文講解。
---
Johnny-Five 的 LED Matrix 可以鏈結最多 8 個矩陣 LED,LED Matrix API 每種方法皆可以指定要哪一個矩陣 LED 動作!
0 留言:
張貼留言