着順表示機を作る その3

ざっくりと、どんな感じで動くかテストしました。
まずは、着順表示。
2秒差までを棒グラフとして、着差を表示させます。電光掲示板デザインにしました。右上にtotal(押した人数)を表示させているのがポイント。制限時間を区切っていないので、押されたら更新されます。にしても・・・携帯で撮ると露出固定されないので難しい。棒グラフが白く飛んでいます。肉眼でみると、重なった部分はちゃんと表示されてるんですけどね。

こちらが一覧表示の途中経過。同様に右上にトータル人数が表示されています。一着が赤色でTOP,二着が青色で一着差、以下一着からの着差が表示されます。これも制限時間を付けていないので、順次更新されます。
切り替えは背面のスイッチで可能。リセットを押せば全クリアになります。

ここで小型モニタを購入しました。
7インチ 1024×600 タッチパネルなしHDMI入力、5000円です。
5V駆動なので、ラズパイのUSB端子から電源が取れるのが利点。ただ、解像度で問題がありまして。初期設定の自動設定だと、どーも[600]方向がうまくいきません。仕方ないので、1024×600固定にしました。
/boot/config.txt を編集します。
hdmi_ignore_edid=0xa5000080 (なにやらを検出しないおまじまい)
hdmi_cvt=1024 600 60 3 (1024*600 60Hzのアスペクト16:9)
hdmi_group=2 (テレビは1 モニターは2みたい)
hdmi_mode=87 (86までは設定があるので87にカスタム設定する)
hdmi_drive=2 (音を出す設定?)

ま、これで再起動して動きました。パラメータは色々あるけど、こわいので深追いはしません。


無事に表示されました。

さらに、いちいちキーボードで実行させたくないので、スイッチオン、OS立ち上げ、プログラム実行までを自動にします。I/Oが無いのでシャットダウンは電源落としでも問題なさそうです。
Processingの自動実行、こちらが大変参考になりました。コマンドラインオプションについてはこちらも参考。

myAutoStart.sh というファイル(シェルスクリプト)を作成し

processing-java --sketch=/home/pi/sketchbook/mySketch --run

を記述します(赤字は自己環境に合わせて編集)--run でなく、--present にして全画面実行にするのもいいかなーと思います。
一応 bash myAutoStart.sh で起動の確認。

sudo nano ~/.config/lxsession/LXDE-pi/autostart

で自動実行ファイルを編集(Windowsのスタートアップみたいなイメージですね)行末に
@bash /home/pi/myAutoStart.sh
@xset s 0 0
@xset s noblank
@xset s noexpose
@xset dpms 0 0 0

を追記します。下4行は、スクリーンセーバーやモニターパワーオフをしないための設定。
これでリブートすると・・・。

コメントを残す

メールアドレスが公開されることはありません。