MAX7219 點矩陣
MAX7219 點矩陣是一塊 8x8 的 LED 矩陣顯示器,對應的積木是 micro:bit 的擴展模組,透過 micro:bit 控制就能顯示不同的文字、圖案、跑馬燈...等效果,是相當廣泛好用的電子零件。
MAX7219 點矩陣積木有幾個分類:初始化設定、顯示文字、文字跑馬燈、隨機燈號、清除 / 填滿畫面、設定燈光亮度、矩陣設定、顯示矩陣燈號、反轉矩陣燈號、取得矩陣燈號狀態。
micro:bit 連接 MAX7219 點矩陣
按照下圖,使用「擴充板、杜邦線、麵包板」,將 micro:bit 連接 MAX7219 點矩陣。
加入 MAX7219 點矩陣積木
開啟 MakeCode 的擴展功能,搜尋「MAX7219」,從搜尋結果中選擇「MAX7219_8x8」的項目,點選加入 MAX7219 積木。
加入後,在積木清單裡就會出現「MAX7219 8x8」的選項。
MAX7219 8x8 開發文件參考:pxt-max7219_8x8
初始化設定 ( Setup MAX7219 )
「初始化設定」積木可以設定 MAX7219 的連接腳位,由於 micro:bit 的 CLK、DIN 和 CS 引腳是固定的,所以不需更動引腳,如果連接多個 MAX7219,可以透過「Number of matrixs」來設定,預設 1 表示第一塊點矩陣。
通常初始化設定只需要設定一次,因此這個積木會直接放在「當啟動時」積木裡。
顯示文字 ( Display text )
「顯示文字」積木讓 MAX7219 顯示指定的文字,顯示的方式可以選擇「靠右對齊」或「靠左對齊」,靠左對齊還能額外設定縮排的點數 ( offset )。
文字跑馬燈 ( Scroll text )
「文字跑馬燈」積木可以過長的文字,透過跑馬燈的方式,從左到右的捲動呈現,可以指定捲動的速度 ( delay ) 和結束後暫停的時間 ( at the end wait )。
下圖的例子,按下 A 按鈕時會顯示靠右對齊的「Hi」,按下 B 按鈕時會先出現「Hello worlds!」的文字跑馬燈,結束後再出現「Good Morning!」的文字跑馬燈。
隨機燈號 ( Randomize all LEDs )
「隨機燈號」積木可以產生隨機的燈號圖案。
清除 / 填滿畫面 ( Clear / Fill all LEDs )
「清除畫面」積木可以清除點矩陣圖案 ( 執行後就像所有 LED 關閉 ),「填滿畫面」積木會將所有的 LED 點亮,填滿點矩陣畫面。
設定燈光亮度 ( brightness level )
「設定燈光亮度」積木可以設定點矩陣的 LED 亮度,共有 0~15 共 16 個等級,0 最暗 ( 不亮燈 ),15 最亮。
矩陣設定 ( Set 8x8 pattern )
「矩陣設定」積木可以指定 8x8 矩陣的數值,由於 8x8 矩陣是一個「二維陣列」,所以通常會搭配「空矩陣」的積木操作,x 和 y 表示水平和垂直的座標位置,左上角為 (0,0),右下角為 (7,7),value 表示是否亮燈,0 表示熄燈,1 表示亮燈。
在積木的使用上,會先定義內容是 8x8 的空矩陣 ( Empty 8x8 pattern ) 陣列,接著再透過「矩陣設定」,定義矩陣裡的 xy 座標燈號是否亮燈。
顯示矩陣燈號 ( Display 8x8 pattern )
「顯示矩陣燈號」積木可以將設定好的矩陣,透過 LED 顯示出來。
index 表示「第幾塊 MAX7219」,數值從 0 開始 ( 表示第一塊 )。
下圖的例子,每次按下 micro:bit 的 A 按鈕時,MAX7219 都會顯示不同的燈號 ( 產生最多十個隨機座標的燈號 )。
反轉矩陣燈號 ( Toggle pattern )
「反轉矩陣燈號」積木可以反轉指定座標的 LED 燈號狀態,如果 LED 是亮燈就會熄滅,如果是熄滅就會亮燈。
下圖的例子,按下 B 按鈕時,會透過二維陣列的方式,反轉 8x8 矩陣的所有燈號 ( 反轉後仍然要用「顯示矩陣燈號」積木 )。
取得矩陣燈號狀態 ( Get value )
「取得矩陣燈號狀態」積木可以取得 8x8 矩陣裡某一顆燈的狀態,如果亮燈為 1,熄燈為 0。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~