Relative Content

NodeMcu

NodeMcu (5) Pulse Sensor

ESP8266でHeart Rate Monitorの表示は、色々と試してうまい表示方法はなかなか見つからない。 たまたま検索キーワードは”Pulse Sensor Arduino OLED”に変えて、参考にできそうなサイトはいくつ見つかった。 その中、”Online Heart Rate Monitor Using NodeMCU and Cayenne”「参考1」はイメージに近い。 Pulse Sensorについて、下記のサイトへどうぞ。 https://pulsesensor.com/ Pulse Sensorなどの部品があるので、早速実験。しかしコンバイルすると、Cayenne関連のエラーは出た。 Cayenneサービスは古いようで、適切なサービスが見つからない。OLEDでのMonitorは目的、Cayenneのサービスどうでもいいので、コメントアウトした。 それからPulse Sensorのライブラリも変わる。以前がここ; https://github.com/WorldFamousElectronics/PulseSensor_Amped_Arduino 今はここ; https://github.com/WorldFamousElectronics/PulseSensorPlayground 例のソースコードは、古いライブラリを使うから、そちらをダウンロードして利用。 表示はうまくできた。しかしPulse Sensorの精度はいまいち。 「参考1」の波形は、どうしてまともに表示されるね。 安定して表示できないから、このPulse Sensorは実験のみの意義かな。 参考: https://www.instructables.com/id/Online-Heart-Rate-Monitor-Using-NodeMCU-and-Cayenn/  

NodeMcu (4) ADS1115 & OLED

経緯 アナログ信号を取り込み、TinyWebDBへ送るプログラムを作る予定。サンプリングレートは秒に100回。 WeMos miniは使いやすいから愛用しているが、2月から、WeMos miniの開発中も頻繁にリブートしています。デバイストライバのバージョンを変えたり、OSを変えたりしても改善しない。結局原因がわからず、仕方なく開発中書き込み直前にUSBケーブル接続、書き込み終わったらすぐUSBケーブ抜く方法で運がよければリブート回避する状態が続て、悩んでいます。 ADS1115プログラムを作るため、安定したNodeMcuできることならこちらで凌ぎ。 ADS1115とは ADS1115 は、16-Bit ADC – 4 Channel with Programmable Gain Amplifier 特徴:広い電源電圧範囲:2.0V ~ 5.5V。低消費電流: 連続モード:150μA。 _ プログラマブルゲインアンプ内蔵。プログラミング可能なコンパレータ。 _ 4本のシングルエンド入力。2本の差動入力。I2Cインターフェイス。 _ 最小±256mVから電源電圧までの入力範囲に対応。 ライブラリーでは コマンド送信し 8msec 後に データーの読み込みを行う、サンプリングレートは秒に100回するため、Adafruit_ADS1X15/Adafruit_ADS1015.hのADS1115_CONVERSIONDELAYを8から9に変更する。 結線 普通のI2Cでつなぐだけ。 スケッチ 最初のプログラムは、アナログ読む度に表示してるが、表示できるのは秒に十回未満。そしてOLEDには、1秒間読み取れたデータの個数と、最新のアナログ値を表示すると変更して110回程度読み込みできるようになり。 ADS1115_CONVERSIONDELAYを8から9に変更して、表示の通り、秒に101回って、概ね要求に満たした。 #include <Wire.h> #include <Adafruit_ADS1015.h> // ADS1015,1115 Adafruit_ADS1115 ads(0x48); // 16-bit version #include <Adafruit_GFX.h> // OLED #include <Adafruit_SSD1306.h> // OLED Adafruit_SSD1306 display(0); […]

NodeMcu (3) Weather Station

この一週間WeMos miniのWiFi関連の開発中も頻繁にリブートしています。あまりにも回数が多いから、いつの間にchromeのたくさんの開いたタブも消えて復帰不能になりました。Macbook, Win10どちらも頻繁に発生。 原因がわからず、仕方なく開発中書き込み直前にUSBケーブル接続、書き込み終わったらすぐUSBケーブ抜く方法で運がよければリブート回避する状態が続て、悩んでいます。 気分転換に、IoT-Cloud-Mobile Kitに、Weather Station機能を組み入れると考えて、これも苦労の連続。 もともとWeather Station Kitは、NodeMcu V2とOLED, DHT11のセットになっている。IoT-Cloud-Mobile Kitは、Wemos MiniとOLED, BMP280のセットになっている。 IoT-Cloud-Mobile Kit Weather Station Kit MPU Wemos Mini NodeMcu V2 OLED 128X64 OLED 128X64 OLED Sensor BMP280  DHT11 最初は、WemosらしいのWeather Station ソースコードを改造して、IoT-Cloud-Mobile Kitで動くを考えたが、理由不明のリブートでやる気を無くされ、もうWeather Station Kitのまま部品を用意して、まず動かしてみることに。 I2CのOLED端子配列2種類があり: VCC,GND,SCL,SDA (Wemos, BMP180, BMP280バス直結可能) GND,VCC,SCL,SDA (NodeMcu直結可能) IoT-Cloud-Mobile Kitでは、BMP280バス直結のため、1番目のOLED端子配列が欲しくて、商品写真見てこれだと、高めのOLED物を購入したが、結局送ってきたのは2番目のOLED物。 今度繋がってみたらわかった、2番目のOLED端子配列なら、嬉しいことに、NodeMcu直結可能。 つまり、1番目のOLED端子配列はWemos向き、2番目のOLED端子配列はNodeMcu向きと言える。 接線 (Wiring) NodeMCU –> OLED NodeMCU […]

NodeMcu (2) LED Light Strips

クリスマスと新年の気分を出すため、LED Light Stripsを買った。しかし固定のパターンの点滅しかできないから厭きるね。 Raspberry Pi またはArduinoでコントルートできれば、何かいい物作れるではないからと考えた。 Arduinoできるなら安上がりなので、まず試す。LED Light Stripsは12V駆動なので、USB給電のWemosではなく、手元にあるNodeMcu V3 (電源拡張ボード付き)を活用することにした。 LED Light Stripsの電流が大きいので、GPIOの負荷能力を超え、直結できない。 Googleして、OmegaのLED lightstripsに繋ぐ回路があったので、それを真似してArduinoのつくる。 手元に2N3904がないんで、ネットで購入。届くまで時間がかかるので、届いた頃も他の件で時間が取られ、半年以上棚上げ。 クリスマスも目の前だから、ハードウェアの回路を完成した。 プログラムの方は、簡単。 #define LEDR D7 #define LEDG D6 #define LEDB D8 void setup() { pinMode(LEDR, OUTPUT); pinMode(LEDG, OUTPUT); pinMode(LEDB, OUTPUT); } void loop() { digitalWrite(LEDR, HIGH); delay(1000); digitalWrite(LEDG, HIGH); delay(1000); digitalWrite(LEDB, HIGH); delay(1000); digitalWrite(LEDR, LOW); delay(1000); digitalWrite(LEDG, LOW); […]

NodeMcu (1) install & blink

NodeMCUとは NodeMCUは、WeMosと同じコンセプトの開発ボードだ が、メインチップは ESP-12Eが使われている。 NodeMCUの種類 主に「LoLin NodeMCU」 「Amica NodeMCU」などがある。 WeMos、Lolin、Amica比較 WeMosD1 mini, AmicaのNodeMCUは小さいので、ブレッドボード1枚で使うことができ、Lolinは2枚ブレッドボードまたは専用のアダプターが必要。 WeMos D1 mini NodeMCU Lolin Amica MCU ESP-12 ESP-12E ESP-12E ディジタルIO 11ピン 11ピン 12ピン アナログIO 1ピン 1ピン 1ピン 3.3V出力 1ピン 3ピン 3ピン 5V入力(*3) 1ピン 1ピン 1ピン USB出力(*5) 1ピン 1ピン なし GNDピン 1ピン 4ピン 3ピン SPI専用ピン なし あり あり オンボードLED なし なし あり   […]