ショップ


製品概要

鮮やかな色で文字や画像を表示できるLED マトリックスパネルが広く使われるようになり、LED マトリックスパネルを手軽に制御できる高性能なコントローラが求められています。
RP2040-LEDART は Raspberry Pi PICOに使用されているRP2040を中核に、HUB75(E) インターフェースを使用するLED マトリックスパネルを手軽に利用できるように開発されたコントローラボードです。
RP2040-LEDART はLED マトリックスパネルの裏面のHUB75 コネクタに直付けすることも可能で、手軽に使用できます。また、LED マトリックスパネルのプログラミングは、CircuitPythonのrgbmatrixライブラリを使用して行うことができます。
RP2040-LEDART はLED マトリックスパネルを初めて使用する人や、それを利用して多様なアプリケーションを作成・使用したい人に最適なコントローラボードです。

LED マトリックスパネルコントローラとしての特徴

RP2040-LEDARTはLED マトリックスパネルコントローラとして以下のような特徴を持っています。

  • HUB75(E) インターフェースを利用した、1/16 または1/32 スキャンのLED マトリックスパネルを制御することができます。
  • 信号電圧が3.3V のRP2040から、信号電圧が5V のHUB75(E) を適切に制御するために、信号電圧の変換回路を備えており、HUB75(E) を安定して制御できます。
  • 複数枚のLED マトリックスパネル(RP2040のメモリによる枚数制限はあります)を接続 して制御することもできます。
  • LED マトリックスパネルの使用時に、USB コネクタにLED マトリックスパネルが必要とする大容量の電流が流れないように安全回路が組み込まれています。
  • 電子工作で広く利用されているCircuitPython などの無償、便利、高機能な開発環境を利用してLED 表示用のソフトウェアを開発できます。
  • LED マトリックスパネルの制御にはCircuitPythonのrgbmatrixライブラリを使用できます。
  • 圧電スピーカーを搭載しており、LED での表示に合わせて音を出すことができます。
  • タクトスイッチを搭載しており、表示内容の選択やゲームへの入力などに利用できます。
  • I2C端子を備えており、温度や湿度、加速度などのセンサーを搭載することができ、その計測値をLED 表示に利用することができます。
  • HUB75用のコネクタと電源用のターミナルブロックは、はんだ付けが必要です。

CircuitPythonでのプログラム例

RP2040-LEDARTには、Raspberry Pi PICOのCircuitPythonファームウェアを書き込んで利用することができます。

文字列と図形を交互に表示するプログラム例

始めに、RP2040-LEDARTを64x32ピクセルのLEDパネルに接続して表示を行うCircuitPythonのプログラム例を示します。

import board
import displayio
import rgbmatrix
import framebufferio
import time

# LEDパネルの初期化
displayio.release_displays()

matrix = rgbmatrix.RGBMatrix(
  width=64, height=32, bit_depth=5,
  rgb_pins=[board.GP0, board.GP1, board.GP2, board.GP3, board.GP4, board.GP5],
  addr_pins=[board.GP6, board.GP7, board.GP8, board.GP9],
  clock_pin=board.GP11, latch_pin=board.GP12, output_enable_pin=board.GP13)

display = framebufferio.FramebufferDisplay(matrix)

# 文字や図形の表示処理
groupt = displayio.Group() # 文字列表示用のグループ
groups = displayio.Group() # 図形表示用のグループ

# 文字列の表示(登録)を行う
from adafruit_display_text import label
import terminalio

groupt.append(label.Label(terminalio.FONT, text="MicroFan", x=0, y=4, color=0xFFFFFF))
groupt.append(label.Label(terminalio.FONT, text="PICO-LEDART", x=0, y=12, color=0xFFFF00))
groupt.append(label.Label(terminalio.FONT, text="Circuit", x=0, y=20, color=0xFF00FF))
groupt.append(label.Label(terminalio.FONT, text="Python", x=25, y=28, color=0xFF00FF))

# 図形の表示(登録)を行う
from adafruit_display_shapes.rect import Rect
from adafruit_display_shapes.circle import Circle
from adafruit_display_shapes.triangle import Triangle

groups.append(Rect(2, 2, 20, 20, fill=0xFF0000, outline=0xFFFF00))
groups.append(Triangle(30, 5, 20, 25, 40, 25, fill=0x00FF00, outline=0xFFFF00))
groups.append(Circle(50, 20, 10, fill=0x0000FF, outline=0xFFFF00))

while True:
    display.root_group = groupt # 文字列を表示する
    time.sleep(3)
    display.root_group = groups # 図形を表示する
    time.sleep(1)

システムの初期化

RP2040-LEDARTの標準的な初期化用のプログラムを示します。

import board
import displayio
import rgbmatrix
import framebufferio

# LEDパネルの初期化
displayio.release_displays()

matrix = rgbmatrix.RGBMatrix(
  width=64, height=32, bit_depth=5,
  rgb_pins=[board.GP0, board.GP1, board.GP2, board.GP3, board.GP4, board.GP5],
  addr_pins=[board.GP6, board.GP7, board.GP8, board.GP9],
  clock_pin=board.GP11, latch_pin=board.GP12, output_enable_pin=board.GP13)

display = framebufferio.FramebufferDisplay(matrix)

# スイッチの初期化
sw1 = digitalio.DigitalInOut(board.GP21) # 初期状態は入力用
sw2 = digitalio.DigitalInOut(board.GP22)
sw3 = digitalio.DigitalInOut(board.GP23)

# I2Cオブジェクトを作成
i2c = busio.I2C(board.GP15, board.GP14)

回路図


関連製品

SENSOR-3VBITS

SENSOR-V3BITSを使用すると、RP2040-LEDARTに温度、湿度、照度、加速度、ジャイロセンサーを追加できます。

LEDパネルスタンド

LEDパネルスタンドを使用すると、電子部品のLEDパネルがおしゃれなインテリアになります。また、LEDパネルを手軽に安定して設置できるようになります。

LEDパネル