Raspberry Pi 電光板のハードが出来ました

2016-10-30-12-06-13

Raspberry Pi 3 電光板は、以前通販で頼んでいたスモークアクリル板が到着。

2016-10-30-12-42-22

早速貼り付けまして光具合を確認。コントラストがあがっていい感じになった気がしてます \(^^)

現状は、Twitter から特定のキーワードを受信して表示するだけです。一応単体動作するように、ファイルに書いたテキストを表示するバージョンを作成する予定です(普通こっちのほうが先出来ているはずなのですが。。。)ファイルから表示するほうについては、発光する LED の緑・赤・緑+赤=橙の切り替えは最低でも実装しないと恥ずかしいですね。

エスケープシーケンスのイメージでやるのか、テキストファイルにコマンド+テキストのようにわかりやすい感じにするか今後検討して作ってみたいと思っています。

Raspberry Pi 電光板、LED パネル連結して動作テスト

2016-10-23-17-07-22
2016-10-23-17-09-39

この週末もあき時間使ってすこしだけ作業実施です。今日は、全部の LED パネルの連結と電源などを配線していました。

電源の配線も終ったので、表示出来るかテスト実施。「秋葉原」「日本橋」で Twitter のストリームを抽出してぽちぽち表示される中から2枚ほど貼っておきました。ひとまずいけてそうなので、LED パネル自体はスモークパネルを用意して貼ることと、裏側の配線整理が主な残作業になります。

アプリは GPIO 叩くサンプルだけの状態なので、これからボチボチ作成していきますが、納期の無い工作物なのでかなりゆるいステータスになりそうです。最低限の機能(赤・緑・橙の切り替え)を実装したくらいには、 git かどっかにあげたいと思います。

Raspberry Pi 電光板 LED パネル貼り付けてそれっぽくなってきた

2016-10-15-17-58-34

電光板に使用する LED パネルを MDF の木の板に貼り付けしました。こんだけ大きくても 128 x 16 ドットなんで表示できる情報量は知れてますが、遠くからでもよく見えそうであります。

2016-10-16%2016-47

次のステップは Raspberry Pi 3 に乗せる基板の作成。Raspberry Pi の電源は緑色のターミナルから電源供給することにしました。また、LED パネル接続のヘッダピンとバッファを適当にレイアウト。とりあえず配線作業をぼちぼち開始したところで時間切れという次第。
来週基板作成の残りと、電源周りの圧着くらいを予定にしましょうか。

Raspberry Pi 電光板のプロトタイプ作成

2016-10-10-13-07-37
2016-10-10-13-08-08

Raspberry Pi 3 にデジットの 32×16 LED パネルを付けて電光板を作る件です。

Raspberry Pi 3 に 74HC244 のバッファをブレッドボードにつけて動作するか確認しました。74HC244 はたまたまジャンクボックスにあったのと、Raspberry Pi 3 から LED パネルへの単方向に信号が伝わればよいからです。Raspberry Pi 3 の GPIO が 5V トレラントでしたら不要なんですが、調べたら 5V トレラントにはなっていませんでした。残念。

先日作成したフォント展開確認プログラムに GPIO をたたくコードを少し書き足しまして、ひとまずパネル表示ができるところまで確認をしました。ここまで動けば基本動作は OK です。
今後 LED パネル連結する加工と、プログラムの機能追加していく予定です。

Raspberry Pi 電光板の仕様検討

デジットで購入した 32×16ドットマトリクスLEDパネル(赤/橙/緑) を買ったものの東京出張で時間がとれなかったりして積み基板になってしまっていました。使えるようにしておけば、今後何かの役にたつかも知れませんのでLED パネルの定番であります電光板を作成しようと思います。

電光板を作るにあたって下記機能を最初に実装したいと思っています。
・Twitter のストリームから検索ワードで抽出したツイートを表示する
・LED パネルの表示は横スクロールで表示する

使うもの
・Raspberry Pi 3
Raspberry Pi は GPIO が 9 本取れたらいいので 3 でなくても問題ありません。今回はたまたま買ったのが Raspberry Pi 3 だったのでこれを使います。
・デジット LED パネル
ジャンク売り切りだったと思うので、まだ売ってるかは不明
・5V スイッチング電源
LED パネルを全部点灯させると 1.8A 程度必要と説明書にありました。パネルを複数枚接続することも考慮して余裕ある電源を準備
・レベルコンバータ
Raspberry Pi の GPIO 3.3V と LED パネル が 5V インタフェースのため念のためにレベル変換は入れておく
・アルミの板か L アングル
LED パネルを連結し固定するため金具になるものを用意

ぱっと思いつくのはこんなものでしょうか。

ひとまず、電光板が作れそうか予備の試験を行います。Raspberry Pi を使いますので、プログラミング言語は Python を使うことにしました。少し前に、Raspberry Pi にキャラクタ液晶を接続して表示出来た実績があるのと、もう少し Python に慣れようと思ったからです。

Windows PC の CYGWIN 環境や、AWS の ubuntu 環境を使って Python の勉強開始です。言語の仕様、たとえば変数のスコープとか分かってない状態ですが、ググリまくって以下のところまで出来ました。

●Twitter クライアントプログラム

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-06-20-35-57

Python プログラムで、Twitter のストリームを受信する
受信したツイートから改行を取り除いて1行のデータにして、
UDP ポートをリッスンしている、テキスト -> イメージ変換 Python プログラムに送信する

●テキスト -> イメージ変換プログラム

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-06-20-36-05

UDP ポート経由でデータを受信した Python プログラムは、文字列データをイメージ展開する。
今回はプロトタイプ作成なので、イメージ展開結果の一部をコンソールに表示してみる。
このコンソール表示を GPIO 制御にしたら LED パネルにも表示できそうな感触であります。

アプリケーションのプロトタイプが一部出来たので、Raspberry Pi 3 をセットアップして、サンプルで作成した Python プログラムが動くか試すところからやりたいと思います。LED パネルの準備はそのうちしたいと思います。