こんにちは。前回は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」を表示させる
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #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接続は簡単なので、色々な用途に応用できそうです。