こんにちは。前回はAdafruitのサンプルプログラムを入れて動作させてみました。今回は簡単な文字列を画面上に表示・点滅させてみました。今回使用するOLEDは128×32ドット幅30mmほどの大きさで、Driver ICにはSSD1306が使用されています。Arduinoとの接続はI2Cで、GDD、VCC、SCL、SDAの4本となります。ArduinoのA4にSDAを、A5にSCLを接続します。
ライブラリですが、今回はAdafruitのライブラリを使いました。「Adafruit SSD1306」というものですが、Arduino IDEのライブラリマネージャを開き(スケッチ>>ライブラリを管理)ここで「1306」などで検索すると見つかりますので、これをインストールします。
(プログラム例)OLEDに「Hello World」を表示させる
#include <Wire.h> //I2Cのヘッダファイル
#include <Adafruit_SSD1306.h> //SSD1306のヘッダファイル
Adafruit_SSD1306 display(-1); //RSTピンがない互換品を使用するので-1を指定
void setup() {
display.begin(SSD1306_SWITCHCAPVCC,0x3C); //I2Cアドレスの設定
display.setTextColor(WHITE); //色の設定(白)
display.setTextSize(2); //文字サイズ設定
display.clearDisplay(); //画面クリア
}
void loop() {
display.clearDisplay(); //画面クリア
display.setCursor(0,0); //左上にカーソルを移動
display.println("Hello"); //文字列挿入
display.display(); //描画バッファの内容を画面に表示
delay(1000); //1秒間待ち
display.clearDisplay();
display.setCursor(0,16); //下段にカーソルを移動(32/2=16)
display.println("World");
display.display();
delay(1000);
}
//ここまで
今回使用した物は、「0.91 インチ IIC I2C シリアルOLED液晶ディスプレイモジュール 128×32 3.3V/5V AVR PIC Arduino UNO MEGAに対応」でAmazonで2個900円弱でした。1個当たり450円程です。バックライトが不要な点はLCDに勝っています。またI2C接続は簡単なので、色々な用途に応用できそうです。