You are here

OLED-PLUS OLEDミニシールド

OLED-PLUSの概要

OLED-PLUS は基本的で利用範囲の広い128x64ピクセルのOLEDグラフィックスディスプレイを装備した、Arduino UNO/MEGA/Leonardo R3用シールドキットです。OLED-PLUS はArduino の入門者にはもちろん、Arduino の基本機能を一通り習得し、応用に取り組みたい人が手元に置いておくと重宝するグラフィックスシールドです。

OLED-PLUSの組み立て例

OLED-PLUS の特徴を以下に示します。


  • コンパクトな基板上に一通りの入出力装置を搭載しています。
  • 2本のI2Cインターフェースと1本の圧電サウンダー用信号のみで制御できます。
  • OLEDディスプレイは128x64ピクセルのグラフィックス表示が可能です。
  • 6個のタクトスイッチを搭載しています。
  • 2個のLEDを搭載しています。
  • 圧電スピーカーを装備し、ビープ音などの電子音の出力を行えます。
  • 環境センサーBME280や、加速度・ジャイロセンサーMPU6050の接続端子を装備しています。
  • 5Vと3.3VのI2Cデバイスをそれぞれ1つ接続できる端子を装備しています。
  • I2Cの信号を5Vと3.3Vで変換する回路を内蔵しており、3.3VのI2Cデバイスを安全に接続できます。
  • 電子工作で広く利用されているArduinoのシールドとして開発されており、手軽に利用できるArduinoのIDEを利用して独自のスケッチを行えます。

ネットショップ:


OLED-PLUSの利用法

OLEDディスプレイは、U8g2ライブラリを使用します。
https://github.com/olikraus/u8g2

#include <U8g2lib.h>

U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE) ;

void setup(void)
{
  u8g2.begin() ;  
  u8g2.setFont(u8g2_font_ncenB10_tr) ;
}

void loop(void)
{
  u8g2.firstPage() ;  
  do {
    u8g2.drawStr( 0, 30, "Hello, MicroFan!") ;
    u8g2.setCursor(50, 50) ;
    u8g2.print(millis()/100) ;
  } while (u8g2.nextPage()) ;

  delay(100) ;
}

スイッチとLEDを使用するためには、MCP23008ライブラリを使用します。
http://www.microfan.jp/library/mcp23008

下記のスケッチでは、スイッチを押すと、ビープ音が鳴るスケッチです。押すスイッチの組み合わせで鳴る音が変わります。

#include <MCP23008.h>

MCP23008 mcp ;

#define LED1  6
#define LED2  7
#define SOUNDER 8

void setup()
{
  mcp.begin(MCP23008_OLED) ;
}

void loop()
{
  int hz = 0 ;

  if (mcp.digitalRead(0) == LOW)
     hz += 100 ;
  if (mcp.digitalRead(1) == LOW)
     hz += 200 ;
  if (mcp.digitalRead(2) == LOW)
     hz += 400 ;
  if (mcp.digitalRead(3) == LOW)
     hz += 800 ;
  if (mcp.digitalRead(4) == LOW)
     hz += 1600 ;
  if (mcp.digitalRead(5) == LOW)
     hz += 3200 ;

  if (hz != 0)
    tone(SOUNDER, hz) ;
  else
    noTone(SOUNDER) ;

  delay(100) ;
}

OLED-PLUSの回路図を示します。

OLED-PLUSの回路図

開発ソフト: