ADS1015を3個使って測定してみた。

現在4chのロガーの入力チャンネル数を12ch(最大16ch)へ
増やす方法を探していたら、SparkFunのADS1015用ライブ
ラリでできそうなことがわかりました。
MCP23017での複数使用例を応用してやってみたらうまく
動きましたましたので紹介します。















ライブラリのインストール
Arduino IDEメニューから「スケッチ」、
「ライブラリをインクルード」、「ライブラリの管理」
と進み、ADS1015 で検索、SparkFanを選んでインストール

スケッチ例も追加されます。






















スケッチを紹介します。

動作はI2Cアドレス順、チャンネル順にADC変換データを
カンマ区切りでシリアルモニタへ出力します。


ADS1015 I2Cアドレス設定方法
ADDRピンをGND,VDD,SDA,SCLに接続して4つのアドレス
を選択します。
Adafruit ADS1015,AE-ADS1015はADDR端子無接続でも、
内部10KでGND接続されているため48となります。

ADDRとそれぞれの端子間を直接つなぎます。
ADDR-GND 48(Adafruit ADS1015,AE-ADS1015は開放)
ADDR-VDD 49
ADDR-SDA 4A
ADDR-SCL 4B

スケッチここから
#include <SparkFun_ADS1015_Arduino_Library.h>
#include <Wire.h>

ADS1015 adcSensor1;
ADS1015 adcSensor2;
ADS1015 adcSensor3;
//ADS1015 adcSensor4;

void setup() {
Wire.begin();
Serial.begin(9600);
adcSensor1.begin(0x48);
adcSensor2.begin(0x49);
adcSensor3.begin(0x4A);
//adcSensor3.begin(0x4B);
adcSensor1.setGain(ADS1015_CONFIG_PGA_TWOTHIRDS);// +/- 6.144v
adcSensor2.setGain(ADS1015_CONFIG_PGA_TWOTHIRDS);
adcSensor3.setGain(ADS1015_CONFIG_PGA_TWOTHIRDS);
//adcSensor4.setGain(ADS1015_CONFIG_PGA_TWOTHIRDS);
}

void loop() {
for (int i = 0; i < 4 ; i++) {
Serial.print(adcSensor1.getSingleEnded(i));
Serial.print(",");
}
for (int i = 0; i < 4 ; i++) {
Serial.print(adcSensor2.getSingleEnded(i));
Serial.print(",");
}
for (int i = 0; i < 4 ; i++) {
Serial.print(adcSensor3.getSingleEnded(i));
Serial.print(",");
}
/*for (int i = 0; i < 4 ; i++) {
Serial.print(adcSensor3.getSingleEnded(i));
Serial.print(",");
}*/

Serial.println();

delay(2000);
}

無保証自己責任でよろしく

コメント

このブログの人気の投稿

ESP32pcntカウンタをテストしてみた

データロガーで温湿度記録計を作る。