micropythonのmax7219.pyライブラリのリファレンスを知りたい
以下に MicroPython 用 max7219.py ライブラリ(8×8 LED マトリクス用)のリファレンス として、主なクラス/メソッドの概要をまとめます(典型的に使われている micropython-max7219 をベースにしています)。
📌 基本クラス
🔹 Matrix8x8(spi, cs, num)
8×8 LED マトリクスを制御するクラス。
spi: MicroPython のmachine.SPIオブジェクトcs: チップセレクト(Pinオブジェクト)num: 連結しているマトリクスの数(例:複数枚つなぐ場合)
🔧 主要メソッド(概要)
システム制御
| メソッド | 説明 |
|---|---|
init() | MAX7219 の初期化を行う(デフォルト状態をセット) |
show() | フレームバッファの内容をディスプレイに反映 |
set_brightness(brightness) | 輝度を設定(通常 0–15 の値) |
brightness(br) (旧) | 輝度設定(非推奨、代わりに set_brightness を推奨) |
shutdown() | シャットダウンモードに入れる(省電力) |
wake() | シャットダウンモードから復帰 |
test(enable=True/False) | テストモード(全点灯の表示 / 解除) |
※「init」「set_brightness」などのメソッドがライブラリに実装されていること、またそれぞれ MAX7219 の対応するコマンドに対応していることが一般的です。
📟 描画系関数(framebuf ベース)
Matrix8x8 は内部で MicroPython 標準の framebuf.FrameBuffer を使っており、ほぼ同じ描画命令が使えます。
📐 描画命令
| メソッド | 説明 |
|---|---|
fill(col) | 全ピクセルをセット/クリア |
pixel(x, y, col) | 指定座標を点灯/消灯 |
hline(x, y, w, col) | 横線 |
vline(x, y, h, col) | 縦線 |
line(x0, y0, x1, y1, col) | 斜め線 |
rect(x, y, w, h, col) | 枠付き矩形 |
fill_rect(x, y, w, h, col) | 塗りつぶし矩形 |
scroll(dx, dy) | バッファをスクロール |
text(str, x, y, col) | 文字列描画(framebuf のフォント利用) |
描画した内容は show() を呼ばないと表示されません。
🧠 典型的な初期化・使用例
from machine import Pin, SPI
from max7219 import Matrix8x8
# SPI 初期化
spi = SPI(1, baudrate=10000000, polarity=1, phase=0)
cs = Pin(15, Pin.OUT)
# Matrix インスタンス作成(4 個連結)
display = Matrix8x8(spi, cs, 4)
# 初期化
display.init()
# 輝度設定(0〜15)
display.set_brightness(5)
# 画面クリア
display.fill(0)
display.show()
# 文字表示
display.text("HELLO", 0, 0, 1)
display.show()
📌 補足
- このライブラリは 複数の MAX7219 をカスケードして使えるように設計されています(
num引数による) - 内部は framebuf ベースなので、他の MicroPython 対応ディスプレイ用描画命令とも互換性が高いです。
- SPI 設定はボードによってクロック速度(例: 10 MHz)、極性/位相が適切か確認してください。
📚 公式コード/ドキュメント参照(ソースベース)
- GitHub ソース(実際の
max7219.py実装) - PyPI パッケージ説明(メソッド概要と使用例)
- サードパーティ実装ドキュメント(EscapeRoomMakers 版)