搜尋

MAX7219 點矩陣

MAX7219 點矩陣是一塊 8x8 的 LED 矩陣顯示器,對應的積木是 micro:bit 的擴展模組,透過 micro:bit 控制就能顯示不同的文字、圖案、跑馬燈...等效果,是相當廣泛好用的電子零件。

MAX7219 點矩陣積木有幾個分類:初始化設定顯示文字文字跑馬燈隨機燈號清除 / 填滿畫面設定燈光亮度矩陣設定顯示矩陣燈號反轉矩陣燈號取得矩陣燈號狀態

micro:bit 連接 MAX7219 點矩陣

按照下圖,使用「擴充板、杜邦線、麵包板」,將 micro:bit 連接 MAX7219 點矩陣。

micro:bit - MAX7219 點矩陣

加入 MAX7219 點矩陣積木

開啟 MakeCode 的擴展功能,搜尋「MAX7219」,從搜尋結果中選擇「MAX7219_8x8」的項目,點選加入 MAX7219 積木。

micro:bit - MAX7219 點矩陣

加入後,在積木清單裡就會出現「MAX7219 8x8」的選項。

MAX7219 8x8 開發文件參考:pxt-max7219_8x8

micro:bit - MAX7219 點矩陣

初始化設定 ( Setup MAX7219 )

「初始化設定」積木可以設定 MAX7219 的連接腳位,由於 micro:bit 的 CLK、DIN 和 CS 引腳是固定的,所以不需更動引腳,如果連接多個 MAX7219,可以透過「Number of matrixs」來設定,預設 1 表示第一塊點矩陣。

micro:bit - MAX7219 點矩陣

通常初始化設定只需要設定一次,因此這個積木會直接放在「當啟動時」積木裡。

micro:bit - MAX7219 點矩陣

顯示文字 ( Display text )

「顯示文字」積木讓 MAX7219 顯示指定的文字,顯示的方式可以選擇「靠右對齊」或「靠左對齊」,靠左對齊還能額外設定縮排的點數 ( offset )。

micro:bit - MAX7219 點矩陣

文字跑馬燈 ( Scroll text )

「文字跑馬燈」積木可以過長的文字,透過跑馬燈的方式,從左到右的捲動呈現,可以指定捲動的速度 ( delay ) 和結束後暫停的時間 ( at the end wait )。

micro:bit - MAX7219 點矩陣

下圖的例子,按下 A 按鈕時會顯示靠右對齊的「Hi」,按下 B 按鈕時會先出現「Hello worlds!」的文字跑馬燈,結束後再出現「Good Morning!」的文字跑馬燈。

micro:bit - MAX7219 點矩陣

隨機燈號 ( Randomize all LEDs )

「隨機燈號」積木可以產生隨機的燈號圖案。

micro:bit - MAX7219 點矩陣

清除 / 填滿畫面 ( Clear / Fill all LEDs )

「清除畫面」積木可以清除點矩陣圖案 ( 執行後就像所有 LED 關閉 ),「填滿畫面」積木會將所有的 LED 點亮,填滿點矩陣畫面。

micro:bit - MAX7219 點矩陣

設定燈光亮度 ( brightness level )

「設定燈光亮度」積木可以設定點矩陣的 LED 亮度,共有 0~15 共 16 個等級,0 最暗 ( 不亮燈 ),15 最亮。

micro:bit - MAX7219 點矩陣

矩陣設定 ( Set 8x8 pattern )

「矩陣設定」積木可以指定 8x8 矩陣的數值,由於 8x8 矩陣是一個「二維陣列」,所以通常會搭配「空矩陣」的積木操作,x 和 y 表示水平和垂直的座標位置,左上角為 (0,0),右下角為 (7,7),value 表示是否亮燈,0 表示熄燈,1 表示亮燈

micro:bit - MAX7219 點矩陣

在積木的使用上,會先定義內容是 8x8 的空矩陣 ( Empty 8x8 pattern ) 陣列,接著再透過「矩陣設定」,定義矩陣裡的 xy 座標燈號是否亮燈。

micro:bit - MAX7219 點矩陣

顯示矩陣燈號 ( Display 8x8 pattern )

「顯示矩陣燈號」積木可以將設定好的矩陣,透過 LED 顯示出來。

index 表示「第幾塊 MAX7219」,數值從 0 開始 ( 表示第一塊 )。

micro:bit - MAX7219 點矩陣

下圖的例子,每次按下 micro:bit 的 A 按鈕時,MAX7219 都會顯示不同的燈號 ( 產生最多十個隨機座標的燈號 )。

micro:bit - MAX7219 點矩陣

反轉矩陣燈號 ( Toggle pattern )

「反轉矩陣燈號」積木可以反轉指定座標的 LED 燈號狀態,如果 LED 是亮燈就會熄滅,如果是熄滅就會亮燈。

micro:bit - MAX7219 點矩陣

下圖的例子,按下 B 按鈕時,會透過二維陣列的方式,反轉 8x8 矩陣的所有燈號 ( 反轉後仍然要用「顯示矩陣燈號」積木 )。

micro:bit - MAX7219 點矩陣

取得矩陣燈號狀態 ( Get value )

「取得矩陣燈號狀態」積木可以取得 8x8 矩陣裡某一顆燈的狀態,如果亮燈為 1,熄燈為 0。

micro:bit - MAX7219 點矩陣

意見回饋

如果有任何建議或問題,可傳送「意見表單」給我,謝謝~

micro:bit 教學

基本介紹

關於 micro:bit micro:bit 硬體規格 micro:bit 開發方式 使用 MakeCode 開始控制 micro:bit

程式積木

基本 輸入 輸入 ( V2 ) 輸入 ( 更多 ) 音效 音效 ( V2 ) 燈光 燈光 ( 更多 ) 廣播 廣播 ( 更多 ) 迴圈 邏輯 變數 數學

進階積木

函式 陣列 文字 圖像 遊戲 引腳 引腳 ( 更多、V2 ) 控制 序列

擴展積木

超音波 ( 偵測距離 ) 溫濕度 伺服馬達 紅外線接收 紅外線發射 MAX7219 點矩陣 LCD1602 顯示器 OLED1306 顯示器 TM1637 七段顯示器

入門範例

跳動的心 簡單煙火動畫 倒數計時放煙火 改變動畫預設時間 剪刀石頭布 ( 按鈕 ) 搖骰子 一直向下的箭頭 指北針 長條圖顯示亮度 光影魔術手 愛心呼吸燈 愛心小夜燈 按鈕秀文字 按鈕計數器 晃動計步器 顯示隨機圖案 空中傳愛 ( 廣播 ) 超時空跑馬燈 ( 廣播 ) 長條圖顯示音量 ( V2 ) 拍手換圖案 ( V2 ) 亮度樂器 ( V2 ) 翻轉大黃蜂音效 ( V2 )

燈光範例

燈光繞圈 ( 座標 ) 燈光繞圈 ( 數字函式 ) 循環霹靂燈 依序點燈 ( 座標 ) 依序點燈 ( 數字函式 ) 隨機不重複的燈 按鈕依序開關燈 平衡燈 ( 姿勢 ) 平衡燈 ( 旋轉感測 ) 陣列點燈 ( 顯示圖形 ) 陣列點燈 ( 動畫 ) 移動速度不同的燈

遊戲範例

小瑪莉遊戲機 射擊幽浮 記憶大考驗 翻轉吃豆子 猴子接香蕉 老鼠走迷宮 吃角子老虎機 太鼓達人 貪吃蛇 心電感應 ( 廣播 )

電子元件範例

閃爍的 LED 燈 全彩 LED 光線變化 長條圖顯示土壤濕度 小夜燈 ( 光敏電阻 ) LED 顯示溫濕度 LCD1602 顯示溫濕度 超音波倒車雷達 七段顯示器顯示距離 人體紅外線偵測 旋鈕控制 LED 亮度 電流急急棒 OLED 繪製數學圖形 OLED 顯示手繪圖案 觸碰開燈 ( 引腳按下 ) 觸碰開燈 ( 類比訊號 ) 水果鋼琴 ( 類比訊號 )

MoonCar 自走車

MoonCar 教學導讀 關於 MoonCar 自走車 程式積木介紹 控制移動和轉彎 七彩魔幻 LED 超音波隔空推車 超音波倒車雷達 超音波隔空彈鋼琴 超音波自動避障 偵測和辨識顏色 辨識顏色+演奏音樂 辨識顏色+控制移動 紅外線遙控器控制移動 micro:bit 廣播遙控 趨光性自走車 指北車 ( 永遠轉向北方 ) 循跡自走車 循跡自走車+辨識顏色 聽到聲音就移動 ( V2 )

EZStartKit 擴充板

EZ Start Kit 教學導讀 關於 EZ Start Kit+ 程式積木介紹 LED 基本控制 LED + 按鈕開關 LED + 可變電阻 LED 光感應小夜燈 RGB LED 基本控制 RGB LED + 紅外線遙控器 OLED 顯示文字與數字 OLED 顯示動態數字 OLED 文字跑馬燈 OLED 繪製圖形 OLED 繪製正弦波圖形 OLED 倒數計時器 OLED 顯示手繪圖案 繼電器 + 紅外線遙控器