Androidのメモとか

ポキオの日記です。今日も遅延してない。

RGB LED Matrixことはじめ

ついに手を出してしまった。

ポキオ RGB LED Matrix Arduino Raspberry Pi

tl;dr

購入した

もともと8*32ピクセルのNeoPixel系のLEDマトリックスを買ったんですが・・・。

relativelayout.hatenablog.com

ポキオ RGB LED Matrix Arduino Raspberry Pi

解像度が低く「金沢文庫」という文字もかろうじて読める?レベル。ちょっと厳しいですね。

もともと京急の種別幕を作りたかったのですが、これでは厳しそうだったので、もう少し高解像度の32*64ものを購入。

[asin:B0749KSQ5J:detail]

アマゾンで妙に安かったやつ。中華パネルですが、中身はAdafruitのものと同じそう。とりあえず、このパネルをArduinoやらRaspberry Piで動かしてみました。

Arduinoで動かす

Adafruitではライブラリが用意されているので、そちらを利用しました。

github.com

github.com

Arduino用のシールドのようなものもあるようですが、今回は下記ページを参考に地道に一つずつ結線。

Connecting with Jumper Wires | 32x16 and 32x32 RGB LED Matrix | Adafruit Learning System

Arduino UNOでとりあえずサンプルコードを動かしてみます。パネルへの電源供給はモバブー(マイコン経由)で5Vを直接焼べています。

ポキオ RGB LED Matrix Arduino Raspberry Pi

なにかしらの絵は表示されているものの、実は32*64のライブラリはArduino UNOでは動かず、MEGAなどが必要とのこと・・・。そして、ESP8266やESP32では動作しないそうなので、ちょっと厳しいです。

Raspberry Piで動かす

そうなると、Raspberry Piで動かすしかないですねぇ。

Arduino同様に、AdafruitはRaspberry Pi向けのコードを公開してるようですが、同社のシールドを使うことが前提のようで、ちょっと使いづらいです。

github.com

そこで、サードパーティのライブラリを使ってみようと思います。便利な世の中ですね、とりあえずインストールしてみます。

コマンドラインから使ってみる

とりあえず、リポジトリをクローンして、ビルドします。

git clone https://github.com/hzeller/rpi-rgb-led-matrix/
cd rpi-rgb-led-matrix/
make

また、カーネルモジュールのブラックリストファイルを作成し、initramfsを更新しないとコマンドが使えないため、下記のコマンドも実行して再起動します。

cat <<EOF | sudo tee /etc/modprobe.d/blacklist-rgb-matrix.conf
blacklist snd_bcm2835
EOF
sudo update-initramfs -u
sudo reboot

その上で、Raspberry Piとパネルを下記のページを参考につないでいきます。

github.com

そして、下記のコマンドでサンプルコードを実行すると・・・

sudo ./demo -D0 --led-rows=64

こんな感じで、カラフルな図形が表示されます。やったね。

ポキオ RGB LED Matrix Arduino Raspberry Pi

Pythonから使ってみる

このライブラリ、コマンドライン以外からもパネルを制御できて、Pythonも使えちゃいます。

同様に、下記のコマンドでビルドします。

cd rpi-rgb-led-matrix/
sudo apt-get update && sudo apt-get install python3-dev python3-pillow -y
make build-python PYTHON=$(which python3)
sudo make install-python PYTHON=$(which python3)

その後、こんな感じでサンプルコードを実行すると・・・

cd samples
sudo ./runtext.py -t="@pokiiio" --led-chain=2

おーー。テキストが流れますねぇ。

Python向けサンプルコードでは、画像を読み込んでパネルに表示するものもありました。別途画像編集ライブラリのPIL(pillow)と組み合わせると、夢が広がりそうですね。

「Androidのメモとか」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。

このブログは個人的なメモ書きであったり、考えを書く場所であります。執筆者の所属する団体や企業のコメントや意向とは無関係であります。また、このブログは必ずしも正しいことが書かれているとは限らず、誤字脱字や意図せず誤った情報を載せる場合がありえます。それが原因で読者が不利益を被ったとしても、執筆者はいかなる責任も負いません。ありがとうございます。