micropythonのmax7219.pyライブラリ

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)、極性/位相が適切か確認してください。

📚 公式コード/ドキュメント参照(ソースベース)