2021年6月6日日曜日

Raspberry Pi Zeroとluma.oledで有機ELディスプレイにターミナルモードで表示する

Raspberry Pi Zeroとluma.oledで有機ELディスプレイにターミナルモードで表示するには以下の手順を実行します。

〇接続したRaspberry Pi ZeroとOLED

実行手順

1. 部品の用意&環境の準備
Raspberry Pi Zeroの他、秋月電子さんで購入した以下のOLEDを使用します。
0.96インチ 128×64ドット有機ELディスプレイ(OLED) 青
https://akizukidenshi.com/catalog/g/gP-15870/

環境の準備については、以下の記事を参照してください。
Raspberry Pi Zeroと0.96インチ有機ELディスプレイを使用して、文字列を表示する

2. 日本語フォントのインストール
日本語フォントをインストールしていなければ、以下のコマンドでインストールします。
sudo apt-get -y install fonts-noto-cjk

3.プログラミングとファイルの実行
以下のファイルをluma_terminal.pyとして保存し、実行します。ImageFont.truetypeメソッドでフォントを作成して設定します。
terminalクラスで表示行数を超えると自動的にスクロールします。1文字ごとのアニメーション表示がいらない場合はanimateにFalseを設定します。
from luma.core.interface.serial import i2c
from luma.core.render import canvas
from luma.oled.device import ssd1306
import time
from PIL import ImageFont
from luma.core.virtual import terminal

size=10
device = ssd1306(i2c(port=1, address=0x3C))
font = ImageFont.truetype('NotoSansCJK-Regular.ttc', size)
term = terminal(device, font)

term.println("Terminalサンプル")
term.println("size:{}x{}".format(term.width, term.height))
for num in range(0, 5):
    term.println("{}行目".format(num))
term.animate = False
term.clear()
for num in range(0, 10):
    term.println("{}行目".format(num))

while True:
    time.sleep(1)

・実行コマンド
以下のコマンドを実行してOLEDにターミナルモードで文字列が表示されることを確認します。Ctrl+Cでプログラムを停止させます。
python3 luma_terminal.py

関連項目

Python用ディスプレイドライバーのluma.oledのまとめ

OpenSCADとUltimaker Curaを使用して、0.96インチ有機ELディスプレイのケースを作成する

Raspberry Pi Zeroと小型ターンテーブルをREST APIで制御する

0 件のコメント:

コメントを投稿