ラズパイとLEDマトリクス(16×32)で電光掲示板を作ってみた
はじめに
駅構内にある電光掲示板のような形で何らかの情報を流し続けられるといいなと思い、ラズパイとLEDマトリクスを使った日本語文字列の横スクロール表示を実現してみました。
先駆者が数多くいるため、参考にした記事を用いたまとめのような形になってしまいますが、参考になればと思います。
準備物
- Raspberry Pi 3 Model b+
- 16x32 RGB LED マトリックスパネル
- 2.1mm標準DCジャック⇔スクリュー端子台
- スイッチングACアダプター 5V2A
- ブレッドボード・ジャンパー延長ワイヤ(メス-メス) 15cm黒 (10本入) ×2セット
- ブレッドボード・ジャンパーワイヤ(オス-オス) 10cmセット
配線
- 電源⇔LEDマトリクス
接続の流れとしては、ACアダプター→DCジャック→ジャンパーワイヤ(オス-オス)→パネル付属の端子です。以下の記事を参考にしました。
https://learn.adafruit.com/connecting-a-16x32-rgb-led-matrix-panel-to-a-raspberry-pi/wiring-the-display
- LEDマトリクス⇔ラズパイ
当初はadafruitの記事通りに配線しましたが表示されませんでした。
https://learn.adafruit.com/connecting-a-16x32-rgb-led-matrix-panel-to-a-raspberry-pi/wiring-the-display
そのため、以下の記事の図7を参考にしました。
www.buildinsider.net
サンプルの実行
以下の記事の制御ライブラリの導入から参考にしました。今回はPythonを使用できる設定については省略しております。今回の目的は文字列の表示なので、テキストのスクロールが出来ると良いです。
こちらの記事では日本語文字に対応するには画像変換が必要であるとありますが、以下の手順を踏めば文字列のままで日本語を表示することが可能です。
日本語の表示
流れとしては、下記のとおりです。
- 日本語のフォントをダウンロードする(ttfファイル)
- フォントの変換(ttfファイル→bdfファイル)
- 変換したフォントを利用して、表示する
1と2に関しては以下の記事を参考にしました。
holybea.com
3に関しては文字列表示時のフォントオプションについて、今回変換したbdfファイルを指定することで表示可能となります。
以下、コマンド例です。
sudo ./scrolling-text-example --led-no-hardware-pulse --led-rows=16 --led-cols=32 -s 3 -l 1 -f bdfファイルのパス -C 0,206,209 表示する文字列
おわりに
今回はラズパイとLEDマトリクスを使った日本語文字列の横スクロール表示の実現方法について、参考にした記事を基にまとめてみました。16×32のパネルを使ってみて思ったのが「もっと横長にしたい!」でした。また、何らかのAPIを使って常に情報を表示できる仕組みがまだ実現できていないので、そちらについても進めていきたいです。