2021年6月5日土曜日

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_japanese.pyとして保存し、実行します。ImageFont.truetypeメソッドでフォントを作成して設定します。
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

device = ssd1306(i2c(port=1, address=0x3C))
with canvas(device) as draw:
    size=20
    draw.font = ImageFont.truetype('NotoSerifCJK-Regular.ttc', size)
    #draw.font = ImageFont.truetype('NotoSansCJK-Regular.ttc', size)
    draw.rectangle(device.bounding_box, outline="white", fill="black")
    draw.text((10, 15), u"こんにちは!", fill="white")

while True:
        time.sleep(1)

・実行コマンド
以下のコマンドを実行してOLEDに楕円が日本語が表示されることを確認します。Ctrl+Cでプログラムを停止させます。
python3 luma_japanese.py

関連項目

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

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

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

0 件のコメント:

コメントを投稿