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で用意されている半角英数のフォントを読み込む。 |
その他に、表示内容のスクロールや画像の表示などが出来ます。
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()

