Relative Content

WeMos D1 Mini (a) display

WeMos (15) Mini OLED+MLX90614

ひさしぶりに投稿。 新型疫病で体温測るが必須になる昨今、非接触でおでこにピー!して測る 非接触温度計 をよく目にするうちに、 MLX90614 センサと ESP8266 を使って自分でも作ってみたくなりました。 しかしいくつ注文しても、発送しない、間違ったものが届く、そして倍々する値上げ、それで注文しても発送しない、一時諦めていた。 最近大抵倍の値段で落ち着いたから、2個購入した。 Mini OLEDと合わせて、モバイルバッテリに繋ぐのですが、非接触温度計ガンっぽくする為にちょっと工夫した。   #include <Wire.h> #include <Adafruit_MLX90614.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define BLYNK_PRINT Serial #include <Blynk.h> #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #define OLED_RESET 0 // Reset pin # (or -1 if sharing Arduino reset pin) Adafruit_SSD1306 display(OLED_RESET); Adafruit_MLX90614 mlx = Adafruit_MLX90614(); double temp_amb; double temp_obj; double […]

WeMos (14) Mini OLED

64×48 size display と小さなOLED Adafruit_SSD1306を利用するが、64×48 sizeの項目がないため、カスタマイズ版をダウンロードして、Adafruit_SSD1306に上書きする。 ただHello Worldを表示するスケッチ。 #include “SPI.h” #include “Wire.h” #include “Adafruit_GFX.h” #include “Adafruit_SSD1306.h” #define OLED_RESET 0 // GPIO0 Adafruit_SSD1306 display(OLED_RESET); void setup() { Serial.begin(9600); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // init done display.display(); delay(2000); // Clear the buffer. display.clearDisplay(); // text display tests display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0,10); display.println(“Hello”); display.println(“World”); display.display(); delay(10000); display.clearDisplay(); } void loop() { } […]

WeMos (13) LED Matrix

3連ベースで、ESP8266, LED Matrix, SHT30を装着する。   Features 8×8 dot matrix LED 8 step adjustable intensity Pins D1 mini GPIO Shield D5 14 CLK D7 13 DIN   ライブラリから、WEMOS_Matrix_Adafruit_GFXを追加してください。 つぎは、ライブラリ付属のLED Matrix表示サンプルの修正版。 # コンパイルエラー発生した。 MLED matrix(7);  から MLED matrix(7, D7, D5); に変更した。   #include <Adafruit_GFX.h> #include <WEMOS_Matrix_GFX.h> MLED matrix(7, D7, D5); //set intensity=7 (maximum) void setup() { Serial.begin(9600); Serial.println(“8×8 LED […]

WeMos (11) I2C OLED SH1106 (U8g2)

今まで使ったOLEDは0.96インチの製品。ちょっと大きめ1.3インチのOLEDを評価するため、一個購入して見る。WeMosがターゲット、直結できると考えて、適したピン配列を注文、その通りのぐつが届いた。 そのまま差し替えて動くと思ったけど、表示が乱れ、調べってみったら、1.3インチの製品は、SH1106というチップ使い、対応するドライバーは必要。 ArduinoのLibから検索すると、3点がヒット、簡単そうな一個が動かない、動いたのは複雑そうなU8g2でした。 このU8g2ライブラリは、SCLとSDAの差し替えてできないみたい、結局直結できなく、ジャンパーで繋ぐ 初期化コマンドで、SCL、SDA対応するGPIO変更可能。また対応するSSDは多数なので、根気よく対応する定義を見つけ、今回の件はSH1106のI2Cを使用してコンパイル。 一応表示ができた。 /* HelloWorld.ino Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/) Copyright (c) 2016, olikraus@gmail.com All rights reserved. */ #include <Arduino.h> #include <U8g2lib.h> #ifdef U8X8_HAVE_HW_SPI #include <SPI.h> #endif #ifdef U8X8_HAVE_HW_I2C #include <Wire.h> #endif U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); void setup(void) { u8g2.begin(); } void loop(void) { u8g2.clearBuffer(); // clear the internal memory u8g2.setFont(u8g2_font_ncenB08_tr); // […]

WeMos (10) Adafruit NeoPixel LED Matrix

Adafruit NeoPixel LED Matrix の互換品が手に入れたので、試します。 二種類のLED Arrayがあり。 8連装LED Array 8x8LED Matrix ライブラリから、Adafruit NeoPixel を追加してください。 Adafruit NeoPixelのスケッチの例から、Sample、Sampletestを実行してください。 スケッチの例には、実際に繋がったGPIOの番号を設定してください。ここではD6に変更する。 Sampleは、単純に指定した数のLEDを点灯する。ここでは数を8(または64)に変更する。 Sampletestは、いろんなパターンで指定した数のLEDを点灯する。ここでは数を8(または64)に変更する。  

WeMos (9) I2C OLED SSD1306 (ThingPulse)

WeMos (7) I2C OLED (Adafruit) では、Adafruitのライブラリを利用した実装でした。便利ですが、I2Cの場合、SDA、SCLはD1、D2固定になるらしい。(変更する方法がわからん)(I2Cの場合、デフォルトはSDA、SCLはD1、D2、変更も可能) いろいろと探して、ThingPulseのライブラリは、SDA、SCLは自由に設定してできるので、これを試す。 Sketch -> Include Library -> Manage Libraries 上記順で、ssd1306を検索し、下記のライブラリをインストールしてください。 早速サンプルを実行する。スケッチ例から、Driver for the SSD1306 and SH1106 based 128×64 pixel OLED display を探し、 SSD1306SimpleDemoを動かしてみる。 SDA、SCLはGPIOの接続により、初期化コマンドの引数は変わりる。初期では、// D3 -> SDA、// D5 -> SCLになっている。 // Initialize the OLED display using brzo_i2c // D3 -> SDA // D5 -> SCL // SSD1306Brzo display(0x3c, D3, D5); // […]

WeMos (8) MAX7219-LED-4x8x8-Matrix

4連装8×8 LEDは数ヶ月前購入したが、発表用タイマーを作りたい。 まず点灯テストから。 googleでなかなかいい事例が見つからないので、githubで検索してみたら、すぐ見つかった。 https://github.com/G6EJD/ESP8266-MAX7219-LED-4x8x8-Matrix-Clock   #include <SPI.h> #include <Adafruit_GFX.h> #include <Max72xxPanel.h> #include <time.h> int pinCS = D4; // Attach CS to this pin, DIN to MOSI and CLK to SCK (cf http://arduino.cc/en/Reference/SPI ) int numberOfHorizontalDisplays = 4; int numberOfVerticalDisplays = 1; char time_value[20]; // LED Matrix Pin -> ESP8266 Pin // Vcc -> 3v […]

WeMos (7) I2C OLED SSD1306 (Adafruit)

仕様 [0.96 インチ 4Pin IIC I2C ブルー OLED ディスプレイ モジュール Arduino対応]を使ってみる。 主な仕様は次のようになっています。 I2C通信 ディスプレイコントローラ: SSD1306 解像度: 128×64 電圧: 3.3V-5V ライブラリ 次の2つライブラリが必要 Adafruit_GFX Adafruit_SSD1306 こちらを参考にして、すんなりできた。下記の2つライブラリもSSD1306対応だ。 ThingPulseのライブラリ(SSD1306, SH1106対応) U8g2ライブラリ(多数OLED対応) 結線 I2Cの場合、デフォルトはSDA、SCLはD1、D2。 サンプルコード デフォルトはSDA、SCLはD1、D2。変更する場合、 Wire.begin(4,5); // OLED:SDA,SCL 行を変更して対応できるらしい。 #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 0 // GPIO0 Adafruit_SSD1306 OLED(OLED_RESET); void setup() { // Wire.begin(4,5); // OLED:SDA,SCL OLED.begin(); OLED.clearDisplay(); //Add stuff […]

WeMos (6) Nikia 5110表示

こちらを参考して、苦労してなんとか表示できた。 下記のライブラリを追加してください Adafruit GFX Library Adafruit PCD8544 Nokia 5110 LCD library 問題は、2番目のライブラリは、そのままWeMosに対応できない、エラーがたくさん発生する! 下記のプルリクエストが無視された見たい、手動で手元のライブラリに応用してください adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library#27   配線: WeMos D1 Mini Nokia 5110 PCD8544 LCD Description D2 (GPIO4) 0 RST Output from ESP to reset display D1 (GPIO5) 1 CE Output from ESP to chip select/enable display D6 (GPIO12) 2 DC Output from display data/command to ESP […]