Sense Hatを使ってみた。(その3 アイコン表示編)

SS 2016-02-28 16.05.05

Sense Hatには8×8の3色LEDが搭載されています。

またAPIにはload_imageというコマンドがありpngファイルをインポートして表示する便利なコマンドがあります。

そこで、8x8pixelのアイコンをいろいろ用意して、それを表示させるのが楽しいかもと思い立ちました。8x8pixelのアイコンをネットで探したところ、見つけました。

Nano Icons 8×8

できればカラーのアイコンがよかったですが他に見当たらないので12ドルで購入しました。まぁ、自分で300種類以上のアイコンを作る手間を考えれば安いものです。

アイコンのフォーマットはアルファチャンネル付きのPNGファイルで、BlackとWhiteの2種類がパッケージに含まれていました。デザインはどちらも同じです。今回はLEDでアイコンを光らせるのでWhiiteを利用することにしました。そのまま表示すると背景と一緒に全部が真っ白に映ってしまうので、アルファチャンネルを黒色にしてRGBチャネルに統合します。

この作業は、Macの老舗アプリのGraphicConverter 9で行いました。手作業だと大変なので自動変換機能を使ってフォルダ内の全てのファイルを自動処理させます。

SS 2016-02-28 15.20.17

処理が終わったらとりあえずラズパイにファイル転送します。そこで以下のようなスクリプトを作成し、走らせるとアイコンがLEDに表示されます。

これもまぁいいのですが、これだと一々表示させたいアイコンのファイル名を指定する必要があるので、フォルダ内の全部のアイコンをスライドショーのように順番に連続して表示するスクリプトはないかなぁと探してみたところありました!

[python][tk]画像をパラパラ流す

これは画像をデスクトップ上のウィンドウに連続表示させるスクリプトですが、上で紹介したload_imageコマンドを挿入すれば同時にSense HatのLEDにもアイコンが表示されるはずです。

ただしこのスクリプトを動かすにはソフトウェアが足りないようです。私は少なくとも以下のようなパッケージをsudo apt-get install ??? でインストールしました。それでようやく動くようになりました。(まだ他にも色々調べてインストールしているので、以下のソフトウェアだけだと不足しているかもしれません。逆に多すぎるかもしれません…。)

python-imaging-tk
python-dev
python-setuptools
python-tk
python-imaging

動くようにはなりましたが、表示対象が8x8pixelというゴマ粒のような小ささの画像ですので、拡大してデスクトップに表示するように改造してみました。以下がサンプルスクリプトです。y_n_cさんに感謝です。

これをアイコン画像の入っているディレクトリと同じ階層に保存して走らせると以下の動画のように動きます!(もしも、インデントが違う!と怒られた場合には調整してください。)

ちょっと感動しました…。ちなみにデスクトップの方が遅れて表示されるのは、Macからラズパイをリモートデスクトップ表示しているからです。

今日のところはこの辺で。️

スポンサーリンク
  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です