ラズパイ電光掲示板(part2)デモプログラム(text表示・時間表示)実行

2017年8月12日

60爺は、ラズパイで電光掲示板 part1 でデモプログラムを実行して、電光掲示板の可能性を探りました。

チュートリアルを見てみると、他にもたくさんのデモが載っています。

ただ、part1でもやったように、実際に実行してみると、文字の大きさなどできちんと表示できなかったり、うまく実行できない場合もままありますね。

今回のpart2でも、引き続き、part1の別のデモプログラムを実行していきます。

うまく動かない場合は、その原因を探って、まずは出来る範囲でデモプログラムを実行してみようと思います。

どうか、ご一緒に確認していってください。

スポンサーリンク

デモプログラム

part2で実行するデモプログラムは次の2つです。

  1. text-example
  2. clock

text-exampleとclockの2つです。

text-exampleは、テキストで何らかの表示をするものとしかイメージできません。

2つ目はclockですので、時計即ち時間に関するデモでしょう。

それでは、早速始めてみます。

デモプログラム text-example

まず、text-exampleですね。以下のような、オプションを持っています。

pi@raspberrypi:~/rpi-rgb-led-matrix/examples-api-use $ sudo ./text-example
Need to specify BDF font-file with -f
usage: ./text-example [options]
Reads text from stdin and displays it. Empty string: clear screen
Options:
--led-gpio-mapping= : Name of GPIO mapping used. Default "regular"
--led-rows= : Panel rows. 8, 16, 32 or 64. (Default: 32).
--led-chain= : Number of daisy-chained panels. (Default: 1).
--led-parallel= : For A/B+ models or RPi2,3b: parallel chains. range=1..3 (Default: 1).
--led-pwm-bits=<1..11> : PWM bits (Default: 11).
--led-brightness=: Brightness in percent (Default: 100).
--led-scan-mode=<0..1> : 0 = progressive; 1 = interlaced (Default: 0).
--led-show-refresh : Show refresh rate.
--led-inverse : Switch if your matrix has inverse colors on.
--led-rgb-sequence : Switch if your matrix has led colors swapped (Default: "RGB")
--led-pwm-lsb-nanoseconds : PWM Nanoseconds for LSB (Default: 130)
--led-no-hardware-pulse : Don't use hardware pin-pulse generation.
--led-slowdown-gpio=<0..2>: Slowdown GPIO. Needed for faster Pis and/or slower panels (Default: 1).
--led-daemon : Make the process run in the background as daemon.
--led-no-drop-privs : Don't drop privileges from 'root' after initializing the hardware.
-f : Use given font.
-b : Sets brightness percent. Default: 100.
-x : X-Origin of displaying text (Default: 0)
-y : Y-Origin of displaying text (Default: 0)
-S : Spacing pixels between letters (Default: 0)
-C <r,g,b> : Color. Default 255,255,0
-B <r,g,b> : Background-Color. Default 0,0,0
-O <r,g,b> : Outline-Color, e.g. to increase contrast. 

さて、それでは、電光掲示板デモのページに従って実行していきます。

デモ実行

コマンドを入力してデモプログラムを動かしてみます。

sudo ./text-example -f ../fonts/8x13.bdf --led-rows=16 --led-no-hardware-pulse

Enter lines と文字入力を求められます。

Enter lines. Full screen or empty line clears screen.
Supports UTF-8. CTRL-D for exit.

また、このデモプログラムは、「Ctrl+D」で終了させろといっています。

「hello」と入力したところ、電光掲示板に黄色文字で hello と表示しようとしたのでしょうが、残念、「hell」までしか表示されません。

これじゃ、日本語に訳すと「地獄」になってしまいます^^;

hellが表示された電光掲示板

この原因は、指定したフォントが大きすぎて、4文字しか表示されなかったからです。

フォントサイズを見る

fonts を調べてみましょう。

pi@raspberrypi:~/rpi-rgb-led-matrix/examples-api-use $ ls ../fonts
10x20.bdf 5x8.bdf 6x13.bdf 6x9.bdf 7x13O.bdf 8x13.bdf 9x15.bdf 9x18B.bdf README.md tom-thumb.bdf
4x6.bdf 6x10.bdf 6x13B.bdf 7x13.bdf 7x14.bdf 8x13B.bdf 9x15B.bdf AUTHORS clR6x12.bdf
5x7.bdf 6x12.bdf 6x13O.bdf 7x13B.bdf 7x14B.bdf 8x13O.bdf 9x18.bdf README helvR12.bdf 

随分たくさんの fonts が用意されています。

デモ再実行

6X13でやれば、5文字が出せそうです。

sudo ./text-example -f ../fonts/6x13.bdf --led-rows=16 --led-no-hardware-pulse

うん、今度は、きちんと5文字出せました。

これで、先程の「地獄」(hell)から「やあ」(hello)になりました^^;


デモプログラム clock

次は clock です。時間を表示できるようです。早速やってみます。

デモ実行

sudo ./clock -f ../fonts/7x13.bdf --led-chain=2 -d "%H:%M:%S" --led-rows=16 --led-no-hardware-pulse

こちらも、フォントが大きくて、分の1桁目と秒しか表示されません。秒が動いているのがご愛嬌です。

フォント変更でデモ再実行

それでは、フォントを小さくしてやってみます。

sudo ./clock -f ../fonts/5x8.bdf --led-chain=2 -d "%H:%M:%S" --led-rows=16 --led-no-hardware-pulse

コリャダメだ。さらに、左に寄っちゃいました。単純にフォントだけの問題ではないようです。

マニュアル調査後再実行

マニュアルを見てみましょう。

pi@raspberrypi:~/rpi-rgb-led-matrix/examples-api-use $ sudo ./clock
Need to specify BDF font-file with -f
usage: ./clock [options]
Reads text from stdin and displays it. Empty string: clear screen
Options:
--led-gpio-mapping= : Name of GPIO mapping used. Default "regular"
--led-rows= : Panel rows. 8, 16, 32 or 64. (Default: 32).
--led-chain= : Number of daisy-chained panels. (Default: 1).
--led-parallel= : For A/B+ models or RPi2,3b: parallel chains. range=1..3 (Default: 1).
--led-pwm-bits=<1..11> : PWM bits (Default: 11).
--led-brightness=: Brightness in percent (Default: 100).
--led-scan-mode=<0..1> : 0 = progressive; 1 = interlaced (Default: 0).
--led-show-refresh : Show refresh rate.
--led-inverse : Switch if your matrix has inverse colors on.
--led-rgb-sequence : Switch if your matrix has led colors swapped (Default: "RGB")
--led-pwm-lsb-nanoseconds : PWM Nanoseconds for LSB (Default: 130)
--led-no-hardware-pulse : Don't use hardware pin-pulse generation.
--led-slowdown-gpio=<0..2>: Slowdown GPIO. Needed for faster Pis and/or slower panels (Default: 1).
--led-daemon : Make the process run in the background as daemon.
--led-no-drop-privs : Don't drop privileges from 'root' after initializing the hardware.
-d : Default '%H:%M'. See strftime()
-f : Use given font.
-b : Sets brightness percent. Default: 100.
-x : X-Origin of displaying text (Default: 0)
-y : Y-Origin of displaying text (Default: 0)
-S : Spacing pixels between letters (Default: 0)
-C <r,g,b> : Color. Default 255,255,0
-B <r,g,b> : Background-Color. Default 0,0,0
-O <r,g,b> : Outline-Color, e.g. to increase contrast.

シェルを良く見ると、–led-chain=2 の指定があります。これは、電光掲示板が2枚の時言指定するようですね。

今回は、電光掲示板が1枚しかないので、これを削除し再実行します。

sudo ./clock -f ../fonts/5x8.bdf -d "%H:%M:%S" --led-rows=16 --led-no-hardware-pulse

何とか時分まで表示できるようになりましたが、秒が切れちゃいました!

うーん、まだ完全ではないですが、32ビットしかないので、現時点では精一杯のようです。

電光掲示板をもう一枚追加してから再チャレンジしましょう。

最後に

ラズパイで電光掲示板のpart2をお送りします。

今回は、デモプログラム実行の第2弾ということで、text表示と時間表示を実行してみました。

提示されているコマンドを打ち込んで実施しましたが、フォントの関係等で電光掲示板上にキレイに表示されない事象が発生しました。

それらを確認しながら、現状手持ちの電光掲示板で、その内容を表示できるところまで何とか持っていきました。

※気づけばラズパイ電光掲示板の記事も増えてきました

スポンサーリンク
この記事を書いた人

60爺

60路を越え、RaspberryPi と出会い、その関係でブログ開設(2017/2~)となりました。始めてみると、コツコツやるのが性に合ってしまい、漢字の記事から家の補修・将棋・windows10関係・別名・言い方などジャンルを拡大して今に至ってます。まだまだ、元気なので新たな話題を見つけて皆様に提供できればと思っています。「プロフィールはこちら

電光掲示板

Posted by 60爺