OLEDは視認性が良いということで実験してみたかったんだけど、よくあるキャラクタLCDとインターフェースは同じでも初期化などが若干異なるということでなんとなくやってなかった。共立エレショップのOLEDにはシリアル→パラレル変換ボードが付いたセットがあるので、ついでにArduino LeonardoやArduino MEGAにあるハードウェアシリアルを使った実験をやってみた。

C9B362 シリアル→パラレル変換ボード付16x2【白色】OLEDカラーディスプレイ
C9B361 シリアル→パラレル変換ボード付16x2【黄色】OLEDカラーディスプレイ

資料:
資料:パラレル→シリアル変換ボード付き 16×2OLED カラーディスプレイ

上記で使われているOLEDは以下と同じもの。
BB1418 OLEDディスプレイ キャラクタ表示タイプ 16文字x2行 黄文字

今回はArduino LeonardoやArduino MEGAにあるハードウェアシリアルを使う。
Arduino→OLEDモジュール接続:
TXD→RXD
RESET→RESET
5V→+5V
GND→GND

スケッチはこちら:
// #include 
// OLED serial
// 20131119 for Arduino MEGA & Leonardo
//

// SoftwareSerial oled(8,9);

void setup() {
  Serial1.begin(9600);
  while(!Serial1);
  Serial1.write(27);Serial1.write('C');
}

int count=0;

void loop() {
  Serial1.write(' ');Serial1.print(count,DEC);
  count++;
  delay(50);
}

 Arduino MEGAでの例:
2013oled1

 Leonardoでも同様。スケッチの冒頭、while(!Serial1); がないとゴミが表示された。
 2013oled2

 ひょっとしてこちらのディスプレイに差し替えただけで動くかなあとやってみたけどダメだった。残念。
DAV413 OLEDディスプレイキャラクター表示タイプ20文字×4行 黄文字

 なお、Arduino MEGAは比較的高価なので、SainSmartの互換品を使った。



サインスマート(SainSmart) MEGA2560 互換ボード for Arduinoサインスマート(SainSmart) MEGA2560 互換ボード for Arduino

サインスマート(SainSmart)
売り上げランキング : 37414

Amazonで詳しく見る
by G-Tools