LEDにテキストを表示する/sense hatを動かす part2

シェアする

Pocket

※一部チュートリアルに合わせて記事を見直しました! 2018/10/6

1.sense hat 取付

part2は、sense hatをRaspberryPiにかぶせるところから始まります。こんな感じ、スペーサーで固定します。

このスペーサーは、 sense hatに付属されてました。しかし、60爺は、そんなことも忘れて、秋月電子通商にスペーサーがないか調べに行って、余計な時間を使ってしまいました。

やだねエ、年を取ると物忘れが激しくなって・・。

で、出来上がったので、さあ、遊ぶぞ・・・・。

あ、sense hat については、昨日も言いましたが、ラズパイ女子44回に詳しいので、そちらをご覧ください。

2.チュートリアル

チュートリアルは、以前見た時と大幅に変わっています。

このチュートリアルに従って、本記事もリニューアルしていきます。

3.ソフトウェア インストール

チュートリアルの What you will need に、ハードウェア、ソフトウェア別に必要な機器及びソフトウェアが記載されています。

(1) ハードウェア

  •   Raspberry Pi
  •   Sense HAT

(2) ソフトウェア

既に次のソフトウェアパッケージが含まれているRaspbianの最新バージョンが必要です。

  •   Python 3
  •   Sense HAT for Python 3

パッケージを手動でインストールする必要がある場合について手順が出ています。

そして、Sense HAT パッケージを RaspberryPi にインストールするためのコマンドが記載されています。

  sudo aptitude install sense-hat

4.テキストを表示する

まずは、sense hat上に、テキストを表示します。

(1) Sense HATにメッセージを表示する

windowsから、sshでRaspberryPi5号機に入り、ディレクトリを作成した後、プログラムを入力し、実行してみました。

pi@raspberrypi:~ $ sudo mkdir python_pg
pi@raspberrypi:~ $ cd python_pg
pi@raspberrypi:~/python_pg $ sudo vi main.py
from sense_hat import SenseHat
sense = SenseHat()
sense.show_message("Hello world")

60爺は、ラズパイをsshにて操作しておりますので、実行するにもpython3コマンドで実行します。

以下のコマンドを書きます。

pi@raspberrypi:~/python_pg $ python3 main.py

実行結果は、以下のようです。

定番の “Hello world”ですね。白文字でまぶしく、60爺がじっと見ていると目に痛いですね。

(2) Sense HATに色を表示する

次のプログラムを実行すると、LEDマトリックスは明るい白になります。

from sense_hat import SenseHatsense = SenseHat()

r = 255
g = 255
b = 255

sense.clear((r, g, b))

変数 r、g、及び b は赤、緑、青の色を表します。それらの値は、各色の明度を指定します。各値は0〜255の間で指定できます。

上記のコードでは、各色の最大値が使用されているため、結果は白となります。

数字を色で表現するという解説が載っています。いくつかの色について、何を指定すればいいか書いてあります。

(2) sense.show_messageコマンドのパラメータ

さて、このsense.show_messageコマンドですが、複数(チュートリアルでは3つ)のパラメータを持っていて、スピード(scroll_speed)、文字の色(text_color)、背景色(back_color)を指定できるようです。

チュートリアルにあるプログラムを設定し、再度、実行します。

pi@raspberrypi:~/python_pg $ sudo vi 2.py
from sense_hat import SenseHat
sense = SenseHat()
yellow = (255, 255, 0)
blue = (0, 0, 255)
message = "Astro Pi is awesome!!"
speed = 0.1
sense.show_message(message, speed, text_colour=yellow, back_colour=blue)
pi@raspberrypi:~/python_pg $ python3 2.py

今度は、スピードが早くなり、文字色が黄色、バックの色64個のLEDが青く光ります。ウーン、やっぱり、まぶしいですね。

プログラムが終わっても、バックの色がそのままですよ。これは、いやだなーー。だもんで、rebootしちゃいました。

(3) 表示文字を繰り返し流す

今までは、文字が流れますが一度きりでした。そこで、一度、流した文字を繰り返し流れるように、プログラムを修正しました。while文を使用しています。

from sense_hat import SenseHat
sense = SenseHat()
yellow = (255, 255, 0)
blue = (0, 0, 255)
message = "Astro Pi is awesome!!"
speed = 0.05
while True:
 sense.show_message(message, speed, text_colour=yellow, back_colour=blue)

黄色い”Astro Pi is awesome!!”が、青い背景の下、いつまでも流れていきます。Ctrl + Cで止めましょう。

途中で止めるので、pythonのエラーが出ますが、気にせず、先に行きます。

5.一文字を表示する

(1) LEDマトリックス上に1文字を表示

次は、LEDマトリクス上に英文字を一字表示します。sense.show_letterコマンドですね。先ほどと同様、三つのパラメータを持ちます。今回は、文字色のみ指定して、背景色は指定していません。

from sense_hat
import SenseHat

sense = SenseHat()sense.show_letter("J",text_colour=[255, 0, 0]) 

実行すると、マトリクス上に文字Jが赤く表示され続けます。演習としては、あまり、面白くない。最新のチュ-トリアルでは、Z が表示されるようです。

こちらも、Ctrl + Cで、プログラムを中断し、次に進みます。

(2) LEDマトリックス上に1文字を4回色別に表示

次に、この命令を4回続けて、マトリクス上に文字を4つ、それぞれ1秒間表示します。最後に、マトリクスを初期状態にしています。

from sense_hat import SenseHat
from time import sleepsense = SenseHat()red = (255, 0, 0)
blue = (0, 0, 255)
green = (0, 255, 0)
black = (0, 0, 0)
white = (255, 255, 255)sense.show_letter("O", red)
sleep(1)
sense.show_letter("M", blue)
sleep(1)
sense.show_letter("G", green)
sleep(1)
sense.show_letter("!", black, white)
sleep(1)
sense.clear() 

(3) ランダム関数を使用して文字色を変える

最後に、ランダム変数を使って、それぞれの文字色を変化させるプログラムが載っております。

from sense_hat import SenseHat
from time import sleep
from random import randint

sense = SenseHat()
r = randint(0,255)
sense.show_letter("O", text_colour=[r, 0, 0])
sleep(1)

r = randint(0,255)
sense.show_letter("M", text_colour=[0, 0, r])
sleep(1)

r = randint(0,255)
sense.show_letter("G", text_colour=[0, r, 0])
sleep(1)

sense.show_letter("!", text_colour=[0, 0, 0], back_colour=[255, 255, 255])
sleep(1)

sense.clear() 

Raspberry Pi Sense HAT – 6 センサー、8×8 LEDマトリックス、ジョイスティック

新品価格
¥4,800から
(2019/3/13 22:19時点)

これにて、sense hatで遊ぶ part2 は完了です。

sense hatを動かす part1 準備編
sense hatを動かす part3 LED表示編 その2

スポンサーリンク

シェアする

フォローする