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