この記事は「 OLED-Displayと等幅フォント 」からの続きです。

 

文字を反転させてハイライト表示にして、〇〇である事を強調するようにしてみました。

反転文字と書きましたが「反転したように見える」が正しいかも。

 

↓ Ambient(ambidata.io)へデータ送信した時だけに、OLED-Displayの四角内を反転させます。四角内の数値の単位は分でありカウントダウンします。表示の更新は1分毎ですが、送信は5分毎にしています。

↓ データ送信しない表示更新時は反転させません。

 

私が凄く参考にしているサイトです。
Raspberry Pi: OLED-Display 128×64 mit Python ansteuern (I2C)

 

↑ このサイトのソースコード “Beispiel 3” を参考にしています。↓

↑ A、B、Cの四角を描くソースコード(Python)です。↓

#!/usr/bin/env python
# coding=utf-8

# Bibliotheken importieren
from lib_oled96 import ssd1306
from smbus import SMBus
from PIL import ImageFont

# Display einrichten
i2cbus = SMBus(1)       # 0 = Raspberry Pi 1, 1 = Raspberry Pi > 1
oled = ssd1306(i2cbus)

# Ein paar Abkürzungen, um den Code zu entschlacken
draw = oled.canvas
DejaVuSerifBold14 = ImageFont.truetype('DejaVuSerif-Bold.ttf', 14)

# Display zum Start löschen
oled.cls()
oled.display()

# Formen zeichnen
draw.rectangle((80, 10, 127, 63), outline=1, fill=0) # A
draw.rectangle((10, 20, 100, 50), outline=1, fill=1) # B
draw.rectangle((0, 0, 20, 30), outline=1, fill=0)    # C

draw.text((110, 20), "A", font=DejaVuSerifBold14, fill=1)
draw.text((50, 25), "B", font=DejaVuSerifBold14, fill=0)
draw.text((4, 5), "C", font=DejaVuSerifBold14, fill=1)

oled.display()

outline や fill の値を1又は0にする事で、縁取りの線や塗りつぶしの色が白や黒になるようです。

ただ、outline を0した場合などは、四角の重ね位置により意図しない描画になる事がありました。

 

使用OLED-Displayは秋月電子通商の製品で通販コードP-12031です。

コメントを残す

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

Post Navigation