不惑にしてまだ何者でもない者のブログ

Arduino関連、Raspberry Pi関連、プログラミング学習

CrowPiレッスン14:8x8マトリックスLEDの制御

2020-11-10 23:37:55 | CrowPi

Controlling the 8x8 Matrix LED.

レッスン14"8x8マトリックスLEDの制御"をやっていく。

概要を引用
マトリックスLEDは、点滅するすべてのLEDプロジェクトで重要な役割を果たします。
一見ではそうは見えないかもしれませんが、マトリックスLEDは、赤い光沢のあるLEDの点滅を超えて、情報、テキスト、絵文字、さらには漢字を表示するために使用できます。 楽しくユニークな方法で情報を表示したり、ヘビやカウントダウンタイマーのようなゲームを作ったりするのに最適です!

何を学習するか

このレッスンを終了すると、次のことができるようになります。
  • マトリックスLEDの制御、テキストの表示、速度と情報の流れの制御

何が必要か

  • 初期設定後のCrowPiボード

Requires switching modules using the switch

  • いいえ

CrowPi上のマトリックスモジュールの場所


↑白い所が赤く光る。結構明るい。

マトリックスディスプレイの操作

このレッスンで使用するPythonスクリプトは以下の通り。

Examples/matrix_demo.py
# Import all the modules
import re
import time
from luma.led_matrix.device import max7219
from luma.core.interface.serial import spi, noop
from luma.core.render import canvas
from luma.core.virtual import viewport
from luma.core.legacy import text, show_message
from luma.core.legacy.font import proportional, CP437_FONT, TINY_FONT, SINCLAIR_FONT, LCD_FONT

def main(cascaded, block_orientation, rotate):
 # create matrix device
 serial = spi(port=0, device=1, gpio=noop())
 device = max7219(serial, cascaded=cascaded or 1, block_orientation=block_orientation, rotate=rotate or 0)
 # debugging purpose
 print("[-] Matrix initialized")

 # print hello world on the matrix display
 msg = "Hello World"
 # debugging purpose
 print("[-] Printing: %s" % msg)
 show_message(device, msg, fill="white", font=proportional(CP437_FONT), scroll_delay=0.1)

if __name__ == "__main__":
 # cascaded = Number of cascaded MAX7219 LED matrices, default=1
 # block_orientation = choices 0, 90, -90, Corrects block orientation when wired vertically, default=0
 # rotate = choices 0, 1, 2, 3, Rotate display 0=0°, 1=90°, 2=180°, 3=270°, default=0

 try:
  main(cascaded=1, block_orientation=90, rotate=0)
 except KeyboardInterrupt:
  pass

他のモジュールとは異なり、マトリックスLEDは制御対象のSPIインターフェースを使用する。

このスクリプトを実行すると、マトリックスLEDに「Hello World」と表示される。




最新の画像もっと見る