電光掲示板でpythonのサンプルプログラム実行。ラズパイで電光掲示板 part3

シェアする

Pocket

1.Pythonサンプルプログラム

さて、電光掲示板の第3弾(part3)は、pythonのサンプルプログラムです。
pythonのsamplesフォルダに、たくさん用意されています^^;

pi@raspberrypi:~/rpi-rgb-led-matrix/bindings/python/samples $ ls -l
合計 52
drwxr-xr-x 2 root root 4096 8月 2 12:27 __pycache__
-rwxr-xr-x 1 pi pi 876 7月 31 14:18 graphics.py
-rwxr-xr-x 1 pi pi 1214 7月 31 14:18 grayscale-block.py
-rwxr-xr-x 1 pi pi 1809 7月 31 14:18 image-draw.py
-rwxr-xr-x 1 pi pi 1296 7月 31 14:18 image-scroller.py
-rw-r--r-- 1 pi pi 754 7月 31 14:18 image-viewer.py
-rwxr-xr-x 1 pi pi 1003 7月 31 14:18 pulsing-brightness.py
-rwxr-xr-x 1 pi pi 1152 7月 31 14:18 pulsing-colors.py
-rwxr-xr-x 1 pi pi 2218 7月 31 14:18 rotating-block-generator.py
-rwxr-xr-x 1 pi pi 1143 7月 31 14:18 runtext.py
-rwxr-xr-x 1 pi pi 3256 7月 31 14:18 samplebase.py
-rw-r--r-- 1 pi pi 3951 8月 2 10:50 samplebase.pyc
-rwxr-xr-x 1 pi pi 1080 7月 31 14:18 simple-square.py

2.テキストを流す

これが、一番最初に出ていたサンプルプログラムです。パラメータは、こんなにあります。

usage: runtext.py [-h] [-r LED_ROWS] [-c LED_CHAIN] [-P LED_PARALLEL]
[-p LED_PWM_BITS] [-b LED_BRIGHTNESS]
[-m {regular,adafruit-hat,adafruit-hat-pwm}]
[--led-scan-mode {0,1}]
[--led-pwm-lsb-nanoseconds LED_PWM_LSB_NANOSECONDS]
[--led-show-refresh] [--led-slowdown-gpio {0,1,2}]
[--led-no-hardware-pulse LED_NO_HARDWARE_PULSE] [-t TEXT]

(1) テキストを電光掲示板に流す

60爺の電光掲示板の LED-ROWS は 16 ですので、-r 16ですね。あと、サウンドモジュールをそのままにしてあるので、–led-no-hardware-pulse に yes を設定しました。

実行すると、黄色の文字で “hello!world” が流れましたというか、流れ続けます。サンプルを止めるには、CTRL-Cですね。

なお、以下のサンプルは、番外編で記載したように、LEDパネル2枚で実行しています。中国製の大きい奴⇒秋月の小さいパネルの順に表示が流れます。

sudo python3 runtext.py -r 16 --led-no-hardware-pulse yes -c 2 
Press CTRL-C to stop sample

(2) 指定したテキストを電光掲示板に流す

パラメータを良く見ると、最後に、[-t TEXT]があります。ひょっとして、テキストを与えて表示できるのではと思い、即、実行です。

思ったとおり、ここで与えた、Good Evening!を表示できました。

sudo python3 runtext.py -t "Good Evening!" -r 16 --led-no-hardware-pulse yes -c 2
Press CTRL-C to stop sample

3.イメージを流す

次は、イメージを流してみます。image-scroller.pyですね。

(1) 指定したイメージを流す

sudo python3 image-scroller.py -r 16 --led-no-hardware-pulse yes -c 2 -i /home/pi/rpi-rgb-led-matrix/examples-api-use/runtext16.ppm
Press CTRL-C to stop sample

(2) 指定した日本語を流す

今度は、日本語を流してみたいのですが、テキストは、日本語を認識できない模様です。

① imagemagick インストール

ウーーン、そこで、師匠登場です。imagemagickというソフトがあって、テキストをイメージに変換できるらしい。それを電光掲示板に流せばいいということです。

sudo apt-get install imagemagick

② 日本語フォントのインスト-ル

早々、日本語のイメージを作れないかやってみました。日本語フォントがあれば、問題なく作れるらしい。ここがみそです。

日本語フォントをインストールしないと、どうやっても出来ませんよ。日本語フォントをインストールできれば一発です。

sudo aptitude install fonts-ipafont-mincho

60爺は、/usr/share/fonts/truetype/roboto/Roboto-Bold.ttfが日本語フォントと信じて、日本語変換をしようとして格闘しましたが、徒労に終わりました。

そこで、fonts-japanese-gothic.ttfという日本語フォントを探してきてインストールしました。したら、一発で変換できましたよーーー

③ 日本語をイメージファイルに変換

imagemagick の convert文を用いて、イメージファイルを作成します。

convert -background white -fill blue -font /usr/share/fonts/truetype/fonts-japanese-gothic.ttf -size 281x16 -pointsize 16 label:おはようございます good_m.jpg

④ 日本語を電光掲示板で流す

ここで作成したイメージファイル good_m.jpg を用いて、作成したイメージを流します。

ちょっと、指定したイメージが短く、文字の入っていない箇所が長すぎますが、まあ、実用に耐えるものが作れそうですね。

ただ、少し、ちらつきが多いのが気になります。ここらは、マニュアルを見て対処する必要があるかもしれません。

sudo python3 image-scroller_time10.py -r 16 -c 2 --led-no-hardware-pulse yes -i /home/pi/good_m.jpg

4.他のサンプルプログラム

その他にも、これだけ、サンプルプログラムがあります。

sudo python3 graphics.py -r 16 -c 2 --led-no-hardware-pulse yes
sudo python3 grayscale-block.py -r 16 -c 2 --led-no-hardware-pulse yes
sudo python3 pulsing-brightness.py -r 16 -c 2 --led-no-hardware-pulse yes
sudo python3 pulsing-colors.py -r 16 -c 2 --led-no-hardware-pulse yes
sudo python3 rotating-block-generator.py -r 16 -c 2 --led-no-hardware-pulse yes
sudo python3 simple-square.py -r 16 -c 2 --led-no-hardware-pulse yes

輝度が強すぎるように感じるので、その半分くらいになるよう、それぞれにパラメータを追加しました。

実行結果は以下です。余り、きれいに撮れていないですね。
ただのサンプルみたいな面白くないのもありますが、ご容赦してください。

引き続き、デモプログラムを実行中 (part2)はこちら
天気予報を電光掲示板に流してみた(part4)はこちら
aliexpressで買ったら大きさが違った(番外編)もあります。

毛色が違いますが、こちらもご覧ください。

DIYで壁紙の張替えを実施 簡単に出来て費用も安く!
庭の雑草対策/DIYで防草シート施設により抜群の効果が出た!

スポンサーリンク

シェアする

フォローする