SSD1322搭載3.12インチ OLEDの動作確認
AliexpressでコントローラSSD1322搭載 3.12インチ OLEDディスプレイを入手しました。
入手サイト
TZT Real OLED Display 3.12" 256*64 Dots Graphic LCD Module Display Screen LCM Screen SSD1322 Controller Support SPI
$20.70と少々お高いですが、以前に比べるとお手頃な価格になってきました。
実際の製品
届いた製品です。0.96インチ(上)と比較するとやはり大きいです。
マニュアル類の付属がないため、製品販売ページの情報をもとに使い方は調べる必要があります。
購入先の業者に問い合わせても良いと思います。
製品仕様について
てっきりモノクロ(単色)だと思っていたのですが、
SSD1322の仕様を調べると、1ドット当たり4ビットの16階調表示でした。
256x64ドット、1ドットあたり4ビットのためバッファを使う方式でのプログラム実装では
バッファサイズは8kバイト必要となります。
2x16のピンヘッダでの接続となります。
インタフェースとしては、SPIの他にパラレル接続も可能です。
デフォルトではパラレル接続モードになっています。
裏のシルク印刷の設定をみてSPI(4SPI)接続に変更しました(R6の抵抗を取ってR5につける)。
SPI(4SPI)で利用する場合、モジュールのピンヘッダのうち、下記のピンを利用します。
(Reset、CS、DCはArduinoの任意のピンでOK)
Arduinoでの動作確認
利用ライブラリ
ググって探して、次のライブラリを試してみました。
1) U8glib V2 library for Arduino
https://github.com/olikraus/U8g2_Arduino
2) Arduino library for 256x64 OLED ER-OLED032-1 (SSD1322 driver)
https://github.com/cvonk/arduino-SSD1322
接続はこんな感じです。
結論を先に述べると、1)のU8glibの利用がお勧めです。
16階調表示には対応していないですが、フレームバッファ使わない方式にも対応しています。
下記の画像はU8glibを使った動作です。
表示がとても綺麗です。文字の表示にも、もちょうど良いサイズです。
U8glibのサンプルスケッチをコンパイルする使う場合、コメントアウトされている下記を有効にします。
U8G2_SSD1322_NHD_256X64_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h
U8glibでも、フルサイズのバッファを使う場合、バッファサイズとして2kバイトが必要です。
Arduino Unoでは利用出来ません。Arduino MEGA2560で利用出来ました。
SPI接続では、OLEDモジュールからの表示内容の読み出しが出来ないため
表示している内容に追記するような場合は、Arduino側でバッファが必要となります。
バッファを使いない場合、グラフィック描画時に制約が発生します。
2)のライブラリはAdafruit_SSD1306がベースのライブラリなのですが、
古いAdafruit_GFXを使っているためか、Adafruit_GFXのメンバ変数参照でコンパイルエラーが
発生し、ライブラリソースの修正が必要でした(このあたりの対応は省略します)。
さらにバッファとして最低2kバイト(単色利用時)が必要です。Arduino Unoでは利用出来ません。
Arduino MEGA2560ではとりあえず動きました。
16階調での利用は、バッファサイズ8kバイトが必要なため、Arduino MEGA2560でも利用出来ませんでした。
まとめ
このSSD1322搭載の本製品、ドットサイズが256x64、16階調、表示が綺麗で見やすいのです。
文字を表示にも適したサイズです。
ただし、16階調(1ドット4ビット)は、メモリ消費が多くなり、ちょっと使いにくいです。
16階調の表示の評価として、何か写真っぽいのを表示を試して見たいと思います。
« SCART・HDMIコンバータを追加購入しました | トップページ | Maker Fare Tokyo 2019に行ってきました »
「通販」カテゴリの記事
- 怪しい、激安?ノートパソコンをポチってみた(2024.10.05)
- β版 IchigoJam Rを予約注文しました(2021.01.23)
- 新型コロナウイルス対策のフェイス シールドを入手しました(2020.05.20)
- SPI接続フラッシュメモリモジュールを入手しました(2020.05.13)
- Aliexpressで注文した使い捨てマスク、やっと届いた(2020.05.08)
「arduino」カテゴリの記事
- Arduino IDE+Arduino STM32環境で指定と異なるgccが使われてしまう(2025.01.23)
- Zorin OSでArduino Uno互換機(CH340)が認識しない(2025.01.19)
- Arduino IDE 2.3.4でArduino STM32を利用する(2025.01.12)
- Arduino用 SKK日本語変換ライブラリの開発 その1(2024.12.28)
- NeoPixel(WS2812B)の制御 その5(2024.09.15)
「表示器制御関連」カテゴリの記事
- NeoPixel(WS2812B)の制御 その5(2024.09.15)
- Arduino用 美咲フォントライブラリを更新しました(2024.03.21)
- Raspberry Pi Pico(MicroPython)でLEDドットマトリックスを使ってみる(2024.03.14)
- Raspberry Pi Pico MicroPython用のマルチフォントライブラリ(2023.02.09)
- MicroPython(Raspberry Pi pico)で8x8ドットNeoPixcel文字表示(2023.02.08)
コメント
« SCART・HDMIコンバータを追加購入しました | トップページ | Maker Fare Tokyo 2019に行ってきました »
こんにちは,ssd1322を動作させようと調べていて、ココログさまにたどり着きました。
2)のライブラリはAdafruit_SSD1306がベースのライブラリなのですが、
古いAdafruit_GFXを使っているためか、Adafruit_GFXのメンバ変数参照でコンパイルエラーが
発生し、ライブラリソースの修正が必要でした(このあたりの対応は省略します)。
と書いてありますがどのような修正をされましたか。
自分はAdafruit_GFXで動かしたいのですが、確かにエラーで動けなくて手詰まっております
よろしければ教えていただけないでしょうか?
投稿: | 2020年12月17日 (木) 22時48分
大変失礼しました上記のコメントさせていただいたものです
たま吉さまでしたね、、!お名前間違えてしまいすみません
投稿: | 2020年12月17日 (木) 22時54分
回答が遅れてすみません。
Adafruit_GFXライブラリの新旧では、textsizeが縦横で値を持つようになりました。
旧)textsize ⇒ 新)textsize_x、textsize_y
SSD1322ライブラリは、Adafruit_GFXの派生クラスでありtextsizeを直接参照してます。
この部分をtextsize_x、textsize_yの参照に変更する必要があります。
投稿: たま吉さん(管理者) | 2021年1月 1日 (金) 11時17分