hiro yamamoto works

マイコンハード、ソフトを作ったりしています。
お家や現場のお困りごと解決に!
内容利用は自己責任でお願いします。

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

2020-06-20 16:33:00 | マイコンハードウェア

現在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行の""を<>に書き換えてください。
#include "SparkFun_ADS1015_Arduino_Library.h"
#include "Wire.h"

ADS1015 adcSensor1;
ADS1015 adcSensor2;
ADS1015 adcSensor3;

void setup() {
Wire.begin();
Serial.begin(9600);
adcSensor1.begin(0x48);
adcSensor2.begin(0x49);
adcSensor3.begin(0x4A);
adcSensor1.setGain(ADS1015_CONFIG_PGA_TWOTHIRDS);// +/- 6.144v
adcSensor2.setGain(ADS1015_CONFIG_PGA_TWOTHIRDS);
adcSensor3.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(",");
}
Serial.println();

delay(2000);
}



最新の画像もっと見る

コメントを投稿