経緯
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 +/- 6.144 Volt Range we will use float volts = 0.0; // The result of applying the scale factor to the raw value void setup(void) { Serial.begin(9600); ads.begin(); } void loop(void) { rawADCvalue = ads.readADC_Differential_0_1(); volts = (rawADCvalue * scalefactor)/1000.0; Serial.print("Raw ADC Value = "); Serial.print(rawADCvalue); Serial.print("\tVoltage Measured = "); Serial.println(volts,6); Serial.println(); delay(1000); }
結果
うまくいく!
電池の電圧はちゃんでシリアルモニターに表示。
参考
http://henrysbench.capnfatz.com/henrys-bench/arduino-voltage-measurements/arduino-ads1115-differential-voltmeter-tutorial/