//
// ***Under development
//
#include <Wire.h>
#include <ADS1115_WE.h>
#define I2C_ADDRESS_ADS1115_1 0x48 //ADDR pin to GND.
#define I2C_ADDRESS_ADS1115_2 0x49 //ADDR pin to VCC.
#define I2C_ADDRESS_ADS1115_3 0x4A //ADDR pin to SDA.
#define I2C_ADDRESS_ADS1115_4 0x4B //ADDR pin to SCL.
#define AAS1115_OBJ_INDEX 4
ADS1115_WE AAS1115_OBJ[4] = {ADS1115_WE(I2C_ADDRESS_ADS1115_1), ADS1115_WE(I2C_ADDRESS_ADS1115_2), ADS1115_WE(I2C_ADDRESS_ADS1115_3), ADS1115_WE(I2C_ADDRESS_ADS1115_4)};
#define AAS1115_PORTS_INDEX 4
int ADS1115_PORTS[4] = {ADS1115_COMP_0_GND, ADS1115_COMP_1_GND, ADS1115_COMP_2_GND, ADS1115_COMP_3_GND};
void setup() {
Wire.begin();
Serial.begin(9600);
int i;
for (i = 0; i < AAS1115_OBJ_INDEX; i++) {
if(!AAS1115_OBJ[i].init()){
Serial.print("ADS1115_");
Serial.print(i);
Serial.println(" not connected!");
} else {
AAS1115_OBJ[i].setConvRate(ADS1115_32_SPS);
AAS1115_OBJ[i].setAlertPinMode(ADS1115_DISABLE_ALERT);
AAS1115_OBJ[i].setMeasureMode(ADS1115_CONTINUOUS);
AAS1115_OBJ[i].setVoltageRange_mV(ADS1115_RANGE_4096);
}
}
/* Set voltage range:
ADS1115_RANGE_6144 +/- 6.144V
ADS1115_RANGE_4096 +/- 4.096V
ADS1115_RANGE_2048 +/- 2.048V (default)
ADS1115_RANGE_1024 +/- 1.024V
ADS1115_RANGE_0512 +/- 0.512V
ADS1115_RANGE_0256 +/- 0.256V
*/
/* Set conversion rate:
Higher rate = faster, lower resolution
Lower rate = slower, higher resolution
*/
}
void loop() {
float voltage = 0.0;
int i;
int j;
for (i = 0; i < AAS1115_OBJ_INDEX; i++) {
for (j = 0; j < AAS1115_PORTS_INDEX; j++) {
AAS1115_OBJ[i].setCompareChannels(ADS1115_PORTS[j]);
voltage = AAS1115_OBJ[i].getResult_V();
Serial.print("ADS1115_");
Serial.print(i);
Serial.print(", AIN");
Serial.print(j);
Serial.print(": ");
Serial.print(voltage);
Serial.println(" V");
}
}
delay(1000);
}