フォントをもっとシンプルなものに変更しました。
複雑なフォントにすると、データ化がめんどくさい。
こういうシンプルなデザインにした方が、数字表示用8LEDディスプレイみたいで(厳密には違うが)データ化が1時間程度で完了しました。
さらに、横幅も少し小さくして、時間と分のセパレータ「:」も入れることが出来ました。
このサイズだったらかなり見やすいでしょ。
[ #1
[
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
],
[
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
],
[
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
],
[
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
],
[
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
],
[
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
]
],
データもこんな感じなので(というか、縦に線を引いているだけなので)サクッと作れました。
具体的にはgitHubのソースを見て欲しい。
https://github.com/takishita2nd/RaspiDisplayMonitor
表示する時刻データを、
GLCD.drowLargeClock(datetime.datetime.now().strftime('%H:%M'))
こんな感じで文字列化して、
def drowLargeClock(time):
position = 0
val = 0
for s in time:
if s == ':':
val = 10
else:
val = int(s)
for page in range(6):
for addr in range(24):
if position + addr < 64:
SelectIC(1)
SetPage(page)
SetAddress(position + addr)
else:
SelectIC(2)
SetPage(page)
SetAddress(position + addr - 64)
WriteData(LFont.Array[val][page][addr])
position += addr
このように処理させることで、大きいフォントで時刻表示できます。
これでさらに使い物になりましたな。