WICの中から

機構設計者が株式投資や育児に奮闘するblog

Raspberry PiでLEDマトリクスを電光掲示板風に表示してみた

f:id:temcee:20200209225649j:plain

ムスコは電車が好きで、プラレールをいつも弄っています。
最近は情景パーツにもこだわりはじめ、いろんなオモチャを駅の周りに配置したり、仮想の駅にして遊んでいます。

そんな姿を見ていて、LEDの電光掲示板があれば本物の駅っぽくなるかな?と思いつきました。調べてみるとLEDマトリクスはお手頃な値段で入手でき、かつラズパイで制御できる感じだったので、さっそく試してみた内容を記事にしました。

用意するもの

  • microSD

  • ジャンパピン メス-メス x13本

ジャンパワイヤ(メス~メス) 10本セット

ジャンパワイヤ(メス~メス) 10本セット

  • メディア: おもちゃ&ホビー

※自分は10本しか持っておらず苦労しました…

ラズパイのセットアップ

セットアップがまだの方向けにセットアップ記事の紹介です。安定のからあげさんですね。素直に、巨人の肩の上に立つに限ります。

karaage.hatenadiary.jp

配線

LEDマトリクスの制御には下記のライブラリを使用させていただきました。
その前提での配線です。
使うライブラリが変わると、それに伴い配線も変わってくるようなので注意です。

https://github.com/hzeller/rpi-rgb-led-matrix

f:id:temcee:20200209230833j:plain

電源は、ちょっとした工作が必要です。
コンセントに繋げられるアダプタが付属されていないので、余っているACアダプタのケーブルを剥いて、接続用のケーブルとはんだでくっつけます。電源の(+)(-)に注意!

f:id:temcee:20200209230850j:plain

ショート防止にカプトンテープがなかったので、マスキングで代用。はんだはいつも通り芋はんだです。

次に信号系の配線です。
画像にしたほうが分かりやすいと思ったものの、結構ごちゃごちゃしてわかりにくいですね。

f:id:temcee:20200209212158p:plain

制御ライブラリに配線の解説ページもあるので、分かりにくい場合はこちらを参照ですね。複数のLEDマトリクスを繋げる場合の配線も書かれています。

rpi-rgb-led-matrix/wiring.md at master · hzeller/rpi-rgb-led-matrix · GitHub

制御ライブラリ導入

先にも紹介したとおり、下記のライブラリを利用します。

https://github.com/hzeller/rpi-rgb-led-matrix

制御ライブラリを入手し、ビルドしていきます。

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

Image Viewerで画像と投影

今回は電光掲示板の内容を画像ファイルにして、画像をLEDマトリクスに投影させます。
Image Viewerという便利なUtilityがあり、コーディングなしで画像を投影できます。便利!

sudo apt-get update  
sudo apt-get install libgraphicsmagick++-dev libwebp-dev -y  
cd utils
make led-image-viewer  

makeする前にutilsディレクトリに移るのを忘れないように。これで準備は終了です。

実行

準備が整ったので、画像を用意して実行してみます。Image Viewerを使う場合はutilsディレクトリに移動し、./led-image-viewerで実行です。
まずは山手線の「新宿・池袋方面」って表示を移してみます。 画像は、utilsディレクトリに置いておきます。

f:id:temcee:20200209224514j:plain

オプションは--led-no-hardware-pulse--led-rows=16--led-cols=32を付けておきます。
前者について、この制御ライブラリを使う時にラズパイのサウンドモジュールがロードされていると動かないらしく、このオプション無しだと警告出て動かせませんでした。。
後ろ2つは縦横のLED数を指示するものです。 

sudo ./led-image-viewer --led-no-hardware-pulse --led-rows=16 --led-cols=32 shinjuku.jpg  

f:id:temcee:20200209225851p:plain

うーん、LEDマトリクスの解像度に対して文字が複雑でしたね。文字の配置はそれっぽいけど、何書いているかは読めない…
簡単な画像で試してみましょう。

f:id:temcee:20200209224458j:plain

sudo ./led-image-viewer --led-no-hardware-pulse --led-rows=16 --led-cols=32 nozomi.png  

f:id:temcee:20200209225649j:plain

おお、これは悪くない。画像を調整すれば、もっときれいに映せそうです!

その他 デモ

Image Viewer以外の、通常の制御ライブラリに備わっているデモも動かしてみました。rpi-rgb-led-matrixのディレクトリで実行します。

回転するカラフル四角形

sudo  examples-api-use/demo --led-no-hardware-pulse --led-rows=16 --led-cols=32 -D 0

画像スクロール

sudo  examples-api-use/demo --led-no-hardware-pulse --led-rows=16 --led-cols=32 -D 1 -m 20  /home/pi/rpi-rgb-led-matrix/examples-api-use/runtext16.ppm

時計表示

sudo  examples-api-use/clock --led-no-hardware-pulse --led-rows=16 --led-cols=32 -f ./fonts/helvR12.bdf -C 47,217,122

まとめ

LEDマトリクスを使って、電車の電光掲示板風な表示をさせてみました。
制御ライブラリがかなりしっかりしており、コード不要で多くのことができそうです。画像を交互に表示させたりとか、ですね。

動画を変換してLEDで表示したり、スマホから表示を切り替えたり、皆さん色々な活用をしているようでした。ラズパイならではの使い方として、センサを使って温湿度を表示したりもありました。応用が広いですね~。

自分も、ちょっと応用考えていきたいです。あとは外装も、ですね。最終的にムスコが使えるようにしたいので、危険が内容にケーブル保護したりむき出しの実装部品をカバーしたり、あとはLEDの強い光を近くで見ないような配置にしたり…。考えることは盛りだくさん。これからも楽しめそうです。

参考にしたページ

Raspberry PiでつくるLED行先表示器 概要編 - ぐりこ製作所日報

ラズパイ3でRGBマトリクスLED(16×32)を輝かせて遊ぶ話 - Qiita

Raspberry PiでP3 RGB LED Matrix Display 64×32 を動かすまで - YOMON8.NET

Raspberry Pi で LED時計を作ってみた その1 〜 軽く前置き – A-tak

https://learn.adafruit.com/32x16-32x32-rgb-led-matrix/

こんな記事も書いています。
temcee.hatenablog.com

temcee.hatenablog.com