Raspberry Pi ZeroにOLED(1)ーライブラリーにluma.oled | virt_flyのブログ

virt_flyのブログ

フライトシミュレーターソフトのFlightGearで仮想飛行を楽しむブログです。

悪戦苦闘のわりに単純

 

こどもパソコンIchigoJamにあっさりと有機ELディスプレイ(OLED)をつないで使うことができたのに味をしめ、今度はシングルボードコンピュータRaspberry Pi Zeroで試すことにしました。

 

使用したのは、今回ももちろんSSD1306 搭載の0.96インチ解像度128x64ドット I2C 接続 のOLED モジュールです。

 

このモジュールに使えるライブラリーとしては、Adafruitのものがよくとりあげられているようなので、さっそくインストールをはじめたのですがうまくいきません。何か関連して必要なものがインストールできていないのでしょう。ライブラリーはAdafruit_Python_SSD1306とAdafruit_CircuitPython_SSD1306の2つあって、またPythonを知らないものにはわけのわからないvenvで仮想環境だなどとわけがわからなくなってきました。

 

しかたがないので、もう一つあることがわかったライブラリーのluma.oledをためすことにしました。こちらは、日経BP「ラズパイマガジン」2021年秋号に記事がでていましたので、それを参考にしました。

 

I2C通信ができるようにしておくことが、まず前提です(方法はこちら)。

OLEDとRaspberry Pi Zeroとの接続は、OLEDの4つあるピンとRaspberry Pi Zeroの同名の端子とをジャンパー線でつなぎます。

 

ついで、念のために$ sudo i2cdetect -y 1を実行して、OLEDモジュールの接続を確認します。画像の通り実行結果は0x3cでした。

 

 
「ラズパイマガジン」の記事にもとづいて行ったのは、OLEDモジュールのライブラリーと表示に使うフォントのインストールだけです(注)。
 $ sudo pip3 install luma.oled

 $ sudo pip3 install fonts-takao   ←間違えてました
 $ sudo apt install fonts-takao  ←正しくはこちら
 
表示用のプログラムは、日経BP「ラズパイマガジン」の読者限定サイトよりダウンロードしたものを一部修正して使用させてもらいました。実行は以下の通り。
 $ sudo python3 graphdisp.py
 
実行結果が、冒頭の画像です。意外と簡単でした。

 

注)OLEDモジュールを使えるようにするため、ライブラリーなど関連するものをいろいろインストールして試行錯誤したため、本来はいちいちインストールが必要なのにすでにインストール済で問題にならなかったものがあったのかもしれません。