Relative Content

UbiCare

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); […]

Arduino NANO (8) ADS1115 & OLED

Arduino NANO (7) ADS1115 for A/D できたので、行きよいでOLEDの表示も追加した。 ( WeMos (b9) ADS1115 for A/D )とほぼ同じプログラムだが、なぜかうまく表示する、どうして? 表示されるのは2本古い電池の電圧を測る値。 今度ピエゾの電圧も測ってみる。

Arduino NANO (7) ADS1115 for A/D

経緯 ADS1115を購入して、生体信号のAD変換に利用するつもりだが、うまくいかない( WeMos (b9) ADS1115 for A/D 参考)、正しい電圧が表示されない。 そこで、Arduino NANOのチュートリアルを探して、検証することに。 ハードウェア ADS1115とArduino NANOはI2Cで接続。 ソフトウェア 「参考1」コードそのまま。 #include <Wire.h> #include <Adafruit_ADS1015.h> Adafruit_ADS1115 ads; // Declare an instance of the ADS1115 int16_t rawADCvalue; // The is where we store the value we receive from the ADS1115 float scalefactor = 0.1875F; // This is the scale factor for the default +/- […]

WeMos (b10) ADS1115 Oscilloscope

前回WeMos (b9) ADS1115 for A/Dで数値の表示ができたが、Oscilloscopeのような表示すべく、改造を試み。 しかし、2月から、WeMos miniの開発中も頻繁にリブートしています。デバイストライバのバージョンを変えたり、OSを変えたりしても改善しない。 そのため、このプログラムは未完成のまま放置。 /* 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 <limits.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #include <Adafruit_ADS1015.h> #include <math.h> #define WINDOW_SIZE 128 Adafruit_ADS1115 ads; /* Use this for the 16-bit version […]

WeMos (b9) ADS1115 for A/D

ADS1115とは ADS1115 とは4チャンネル16bit  A/D 。I2C接続なので、OLEDと共に、WeMos に接続して利用してみる。 結線 SCL, SDA自由に変更可能。U8g2初期化コマンドでSetupする。 code #include <Wire.h> #include <Adafruit_ADS1015.h> #include <U8g2lib.h> #include <math.h> #define WINDOW_SIZE 128 Adafruit_ADS1115 ads; /* Use this for the 16-bit version */ //Adafruit_ADS1015 ads; /* Use thi for the 12-bit version */ // Sets up the display to be the 128px x 32px display U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0, […]