« Arduinoで作ろう(26) 気温・湿度・気圧のデータロガー (その2) | トップページ | Arduinoで作ろう(28) 生のATmega328Pにブートローダを書き込んでみた »

2019年8月28日 (水)

Arduinoで作ろう(27) OLED(有機EL)モジュールを使ってみる

Lm35dz_oled_2

ちょっと前にaitendoで買ったOLEDモジュールをI2Cで使ってみました。
現在は「取扱終了」になってますが,同じものがAmazonでも手に入るようです。
ライブラリは,ココでダウンロードできる u8glib ってのでいいみたい。
んで,スケッチ例「GraphicsTest」をArduino IDEで読み込んでみました。

//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST);

という行のコメント//を削除すればこのOLEDが使用可能になります。
精細なグラフィックが美しいですが,そのままではつまんないので,LM35DZで測定した温度をちょいちょい表示するようにしたのがコレです→20190828graphicstest.ino

温度表示だけでよければ,

//aitendo OLED(0.96/128x64 青色/I2C) [M096P4BL]

#include "U8glib.h"

U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0 | U8G_I2C_OPT_NO_ACK | U8G_I2C_OPT_FAST);

float analogdata, temp;

void setup(void) {
  u8g.setColorIndex(1);         // pixel on
}

void loop(void) {
analogdata = analogRead(A0);
temp = ((5.0 * analogdata) / 1024) * 100;
  u8g.firstPage();
  do {
    u8g.setFont(u8g_font_unifont);
    u8g.drawStr(0,22,"Temp:");
    u8g.setPrintPos(40, 22);
    u8g.print(temp);
    u8g.drawStr(86,22,"C");
   
    u8g.drawStr(0,44,"Time:");
    u8g.setPrintPos(40, 44);
    u8g.print(millis() / 1000);
    u8g.drawStr(70,44,"sec");
  } while ( u8g.nextPage() );
}

とか書いてやればOKです。グラフィックを使ったオリジナルの作例は,ヒマなときに取り組んでみたいと思います。(いつのことになるやら・・・)

|

« Arduinoで作ろう(26) 気温・湿度・気圧のデータロガー (その2) | トップページ | Arduinoで作ろう(28) 生のATmega328Pにブートローダを書き込んでみた »

Arduino」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« Arduinoで作ろう(26) 気温・湿度・気圧のデータロガー (その2) | トップページ | Arduinoで作ろう(28) 生のATmega328Pにブートローダを書き込んでみた »