WeMos (b8) SHT30
目的 3連ベースで、ESP8266, LED Matrix, SHT30を装着。温度と湿度を計測。 モジュールの組み立て スケッチ WEMOS_SHT3x_Arduino_Libraryを使用。 https://github.com/wemos/WEMOS_SHT3x_Arduino_Library ただの温度と湿度の表示サンプル。 #include <WEMOS_SHT3X.h> SHT3X sht30(0x45); void setup() { Serial.begin(115200); } void loop() { if(sht30.get()==0){ Serial.print(“Temperature in Celsius : “); Serial.println(sht30.cTemp); Serial.print(“Temperature in Fahrenheit : “); Serial.println(sht30.fTemp); Serial.print(“Relative Humidity : “); Serial.println(sht30.humidity); Serial.println(); } else { Serial.println(“Error!”); } delay(1000); } 参考 http://stigern.net/blog/using-wemos-d1-mini-sht30-sensor-shield/
IoT Study Kit 2
ESP8266 IoT Study Kit 2は、ESP8266 IoT Study Kitと同じ、センサー、表示機能が備えている。 モジュール式って、結線は必要ない。携帯不便の問題を解消した。また結線がないことで、ハードウェア苦手の人でも、IoTはソフトウェアの課題に限定出来る。 ESP8266 IoT Study Kit 2には、次の部品から構成: ESP8266 モジュール(WeMos D1 Mini) SHT30 モジュール(温度、湿度センサー) MatrixLED モジュール 三連装ベース Mini OLED モジュール (Option) 三連装ベースの上に、各モジュールを装着する。 MatrixLED モジュール装着した様子。 Mini OLED モジュール (Option)装着した様子。
WeMos (12) Nikia 5110 +
以前作ったNikia 5110表示装置は、基板にハンダ付けした。
D1 Mini (1) Setup & Blink
About D1 Mini WeMos D1 Mini はESP8266モジュールを利用した、Arduino IDE利用可能な開発ボード。 WeMosには「D1 Mini」と「D1 R2」の2種類がある。使い方が同じ。 このシリーズは、コマンドラインで開発するPlatformIO環境を利用する。(GUIの開発環境Arduino IDEで開発する場合、WeMos (1) Blink を参照する。) Macbook Air で実験する。 PlatformIOのインストール 組み込み系のクロスコンパイル環境です。Arduino(Atmel AVR)や、mbed(ST STM32)など、350種類以上のマイコンに対応しています。デバッガも100種類以上のマイコンに対応しています(デバッグ機能は有料っぽい)。 Python2で動いているので、Mac、Linuxからでも動かせます。 詳しくはPlatformIOの公式サイトを見てください。 Macbook Air で実験するので、Homebrew でインストール。 $ brew install platformio Homebrew を使わないばあいは pip を使ってインストールできるようです。 boards コマンドで利用できるボードを確認できます。 $ platform boards 沢山表示されるので、コマンドのうしろにフィルタをつけて内容を絞るる。 $ platformio boards esp8266 Platform: espressif8266 —————————————————————————————————————————- ID MCU Frequency Flash RAM Name —————————————————————————————————————————- […]
Arduino UNO (8) mini-Oscilloscope
Piezoセンサーを検証中、信号が見えないので、機能の確認に困っている。 OLEDのミニモニターは、何とかできないかよ探したところ、Arduino UNO時代のものがあり、ESP8266の対応品がない。ESP8266に対応して見たが、うまく表示できない。 仕方なく、蔵入りのArduino UNOを出して、まず検証して見る。 コンパイルエラーと、それと関連する表示範囲おかしい問題があった。 下記の分はエラーになり、コメントアウトして対応。 // error(“Height incorrect, please fix Adafruit_SSD1306.h!”); そして表示範囲おかしい問題は、Adafruit_SSD1306.hを直接修正し、ディフォルトの128×32をコメントアウトし、もう一つの128×64のコメントを外すように変更した。 結果はうまくできた。 Arduino mini-oscilloscope /* This is set up to use a 128×64 I2C screen, as available here: http://www.banggood.com/buy/0-96-oled.html For wiring details see http://youtu.be/XHDNXXhg3Hg */ #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); #if (SSD1306_LCDHEIGHT != […]
WeMos (b7) PIR (Passive infrared sensor)
PIR (Passive infrared sensor)は、以前RPiで利用したが、WeMosにも試す。 動きがあったら、とりあえずLED 点灯する。 #define ESP8266_LED BUILTIN_LED int pirPin = D7; int val; void setup() { Serial.begin(9600); pinMode(ESP8266_LED, OUTPUT); digitalWrite(ESP8266_LED, HIGH); } void loop() { val = digitalRead(pirPin); Serial.print(val); //low = no motion, high = motion if (val == LOW) { digitalWrite(ESP8266_LED, HIGH); Serial.println(” No motion”); } else { digitalWrite(ESP8266_LED, LOW); Serial.println(” Motion […]
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 (d6) Weather Bureau 2
これまでWeather Station2回を制作、今回に合わせて三回の要点をリストする 一回目の Weather Stationはおもに気象情報の表示 二回のWeather Bureauは、気象情報の収集とクラウンに送信 今回はDeep sleep機能を利用して、節電する工夫 Deep sleepは、RST と GPIO16繋いたモード、Deep sleepに入ると消費電流は0.4〜0.8mA程度に下がる。 100均で購入した、ちゃんとしたケースに入れて、2個目のスイッチを追加した。 Switch 1: 電源スイッチ これは主に使わないとき、バッテリ充電不足のときにOff Switch 2: Deep sleepスイッチ プログラムを書き込みするとき、Deep sleepスイッチOffしないと、書き込めない場合がある 試作品は太陽光で充電している様子。充電ボードのLEDが見える。 ソースコードは TinyWebDB-WeatherStation を参考してください。
Wemos (d5) Weather Bureau
前回の Weather Stationはおもに気象情報の表示がメイン。 今回のWeather Bureauは、気象情報の収集とクラウンに送信するがメイン。 ソースコードは TinyWebDB-WeatherStation を参考してください。 無人でも長時間自動運用するために、太陽電池で発電、Li-po電池に充電、給電など機能追加された。 問題は、太陽電池の発電は、Weather Bureauの24時間持続運用には足りない。deep sleep機能を利用して、節電する工夫が必要である。 その部分できたらまた共有する。