I2C接続のOLEDを使う


前回、SPI接続の128 X 64 のOLEDを紹介しました。
その後、I2C接続の128 X 64 のOLEDも入手したので、Raspberryで使ってみました。
こちらも、コントローラーはSSD1306、スクリーンサイズは0.96inchです。


ソースはこちらか らダウン ロードできます。
前回と同じソースでSPI/I2C両方に対応しています。
インストールは以下の手順です。
$ sudo apt install git
$ git clone https://github.com/nopnop2002/Raspberry-ssd1306
$ cd Raspberry-ssd1306
$ cc -o oled oled.c fontx.c -lwiringPi -lpthread -DI2C

モジュールの結線は以下の通りです。
OLEDモジュール RPI/OPI
(Pin#)
PIN SIG
1 GND Gnd
2 VDD
3.3V
3 SCK
SCK(#5)
4 SDA
SDA(#3)

実行時の引数も前回と同じです。
左がOrangePi+SPIモジュール、右がRaspberryPi+I2Cモジュール。


SeeedStudioでOrangePi用のシールドを作ってみました。
初めてOCS発送で注文しましたが、滅茶苦茶届くのが早いです。
3/9 注文
3/12 製造開始(PCB in Production)
3/14 発送(Shipped)
3/17 到着


ピンヘッダーが全て使えるので、i2cアドレスが重ならなければ、他のi2cデバイスも試すことができます。




128 X 32 のi2cモジュールを入手しました。
縦方向には2行しか表示できませんが、初期化コードを少しだけ変更して動きました。
128 X 32 のモジュールを使う場合のインストールは以下の手順です。
$ git clone https://github.com/nopnop2002/ssd1306_rpi.git
$ cd ssd1306_rpi/
$ cc -o oled oled.c fontx.c -lwiringPi -lpthread -DI2C -DX32



RaspberryPi ZEROのHATに組み込んでみました。
なかなかいい感じです。