ラズパイで2.2インチTFTモニタを使い、時計を作りました。

パイソンで時計のプログラムを組みました。

 今回もいろいろな方のwebページを参考にさせていただきました。感謝いたします。とりあえず、できた時計が下の写真です。プラケースは携帯電話が入っていたものを利用しました。ちょうど良い大きさでした。今回購入したのは、ネジとスペーサーです。スペーサーが割に高くて、1000円くらいの出費になりました。

 時計を表示させるために、まず2.2インチTFTを接続し環境設定をしなければなりません。これには購入先のソリノベ研究所から入手した、解説書を使いました。昨年やったときはうまくできましたが、今回はできません。結構面倒な作業を2回やりなおしましたが、動作しませんでした。そこでソリノベ研究所さんに、本当にできますかというメールを送りました。サポート体制とか変わっていても使えなくなると困る人がいるので、できるはずですと返事がきました。それを信じ落ち着いて、クロームのSSHを使いながら作業していったら動作するようになりました。CLIで起動させ、startxでGUI表示させます。CLI操作も少し慣れました。

 次は時計に着手しました。説明書には時計のプログラムがおまけでついていましたが、これも何回やってもうまくいきませんでした。そこで、webで調べヒットしたプログラムをコピヘして試してみました。こういう時、ラズパイデスクトップは使いやすかったです。いくつも試しこれならできそうだと思ったのが、上の時計の原型です。そのままでは画面のサイズも違うし、背景色なども好みとちがいます。画面サイズや表示位置・フォント色・背景色を調べながら変更していきました。 

 さらに曜日を漢字で表示させたいと思い、調べました。しかし思うようになりません。どうにか時計にはなっているので、とりあえず使うことにしました。LCDをケースにセットし、ラズパイの基板をスペーサーで浮き上がらせコード類の抜き差しが容易にできるようにしました。ケースが傾いているのは、LCDの重みで前に倒れないようにしているからです。  

 時計として使いながら、プログラムの検討を進めました。元のプログラムはサイズ変更の機能とか設定してありましたが、2.2インチでしか使わないので一から作り直しました。パイソンでGUI表示させるには、tkinterというものを利用する例が一番多くありました。tkinterの研究をし、CANVASに表示することで進めました。曜日の漢字表示についても、ようやく見つけました。localeを使うとよいということでした。下のように記述しています。
import locale
s = '{0:0>2d}月{1:0>2d}日,{2}曜'.format(now.month, now.day, now.strftime('%a'))  

編集後記
 天気予報も表示させている例がありました。できたらそれも取り入れたいと思いましたが、画面が小さく入るスペースがないのであきらめました。
 これまでは、何かをこうしたいという思いでやってきました。しかし、手当たり次第にwebで調べて試してみるばかりではいけないなと思いました。基本の勉強をしっかりやっておかなければならないと反省し、Pythonの基本書を図書館から借りてきて勉強を始めました。
 

今日の日記(2020/01/28)
 今年は本当に暖冬です。公園を散歩していると、梅の香が漂ってきます。すでに満開ちかくなっています。遅い白梅も咲き始めました。1月は、ラズパイで夢中になって遊んでいます。ようやくこの頃、昨年やったメガソーラーの疲れがとれてきたようです。  


福岡の土地家屋調査士松尾勝巳事務所 公式サイト