部品実験 元に戻る

SSD1306 2024/6/30

本文目次

本文以外目次
1.概要
2.I2Cアドレスの選択
3.レジスター(ライブラリーコマンド概略)
4.使い方
5.ssd1306 Arduinoプログラム(本文以外)


本   文

1.概要
SSD1306は0.96インチのOLEDディスプレーモジュールで信号はI2Cインターフェースを備えている。
画面サイズ:0.96インチ
電源電圧:3.3V-5V
解像度:128x64
ディスプレイコントローラ:SSD1306
I2Cアドレス:0x3C、0x3D
信号インターフェース:I2C
表示色:ホワイト
視野角:>160°
消費電力:低、通常動作0.04W
モジュールサイズ:25.4mm*26.1mm
ピンは
Pin DEVICE DESCRIPTION
1 GND GroundI 2C slave address select
2 Vdd Power supply: 3.3V to 5V
3 SCK Serial clock input: Clocks data on SDA
4 SDA Serial data: Transmits and receives data
[目次に戻る]


2.I2Cアドレスの選択
I2Cのアドレスは7bitで0x3C、0x3Dに設定できる。
0x78に接続すると、0x3Cになります
0x7Aに接続すると、0x3Dになります。
[目次に戻る]


3.レジスター(ライブラリーコマンド概略)
Adafruit_GFX.hライブラリー、Adafruit_SSD1306.hライブラリーを使用することによりレジスター等を気にせずこのディスプレーを使用しているので、ここでは説明しない。
上記ライブラリーのコマンドの一例を下記に示す。
display.clearDisplay(); ディスプレイの表示内容を消去します。
display.setTextSize(n); 表示するフォントのサイズを指定します。(n = 1~8)
display.setCursor(x,y); テキストを表示開始する場所を指定します。
display.print(“message”); 表示するテキストの内容です。「”」で囲います。日本語は使えません。
display.display(); 設定した内容でディスプレイに表示します。
display.drawPixel(x, y, color); 線を引きます。
display.drawRect(x, y, w, h, color); 4角を描きます。
display.fillRect(x, y, w, h, color); 4角で塗りつぶします。
display.drawRoundRect(x, y, w, h, rad, color); 角丸の4角を描きます。
display.fillRoundRect(x, y, w, h, rad, color); 角丸で塗りつぶします。
display.drawCircle(x, y, r, color); 丸を描きます。
display.fillCircle(x, y, r, color); 丸で塗りつぶします。
display.drawTriangle(x0, y0, x1, y1, x2, y2, color); 三角を描きます。
display.fillTriangle(x0, y0, x1, y1, x2, y2, color); 三角で塗りつぶします。
display.invertDisplay(true); 表示を反転します。
display.setRotation(n) n=0で0度、1で90度、2で180度、3で270度、画面が回転
display.setFont(const GFXfont); GFXfontで用意されている半角英数のフォントを読み込む。
(凡例 w:幅、h:高さ、rad:角丸の大きさ、r:円の直径、color:通常はWHITE)
その他に、表示内容のスクロールや画像の表示などが出来ます。
[目次に戻る]


4.使い方
Adafruit_GFX.hライブラリー、Adafruit_SSD1306.hライブラリーを使用することにより下記の手順でディスプレーに表示できる。
(1)I2Cのピン宣言 Wire.begin(2,0);
(2)SSD1306の起動 display.begin(SSD1306_SWITCHCAPVCC, 0x3C)
(3)画面の回転 display.setRotation(2);
(4)テキストサイズ指定 display.setTextSize(1);
(5)テキスト色指定 display.setTextColor(WHITE);
(6)ディスプレーのクリア display.clearDisplay();
(7)テキスト位置指定 display.setCursor(0, 0);
(8)ディスプレー表示 display.println("Hello, OLED SSD1306");
 ・
 ・
(9)ディスプレーに表示 display.display()
[目次に戻る]