#include <Adafruit_ADS1X15.h>
#include <Wire.h>
Adafruit_ADS1115 ads; /* Use this for the 16-bit version */
void setup(void)
{
Serial.begin(115200);
// Configura el PGA (Gain) para un rango de ±6.144V
ads.setGain(GAIN_TWOTHIRDS); // ±6.144V range
// Configura el DataRate
ads.setDataRate(RATE_ADS1115_860SPS);
if (!ads.begin())
{
Serial.println("Failed to initialize ADS.");
while (1);
}
}
void loop(void)
{
int16_t adc0, adc1, adc2, adc3;
float volts0, volts1, volts2, volts3;
int16_t adc_diff0_1, adc_diff2_3;
float volts_diff0_1, volts_diff2_3;
// Lee los canales diferenciales
adc_diff0_1 = ads.readADC_Differential_0_1();
adc_diff2_3 = ads.readADC_Differential_2_3();
// Convierte los valores digitales a voltios
volts_diff0_1 = ads.computeVolts(adc_diff0_1);
volts_diff2_3 = ads.computeVolts(adc_diff2_3);
delay(500); // Espera 1 segundo entre lecturas
// Imprime los resultados de las lecturas diferenciales
Serial.print("DIF 1"); Serial.print(volts_diff0_1); Serial.print(" ");
// Serial.print("DIF 2"); Serial.print(adc_diff2_3); Serial.print(" "); Serial.print(volts_diff2_3); Serial.println(" V");
/* LECTURA DE ENTRADAS POR SEPARADO (SINGLE ENDED) */
// Lee los valores de las 4 entradas del ADC, y devuelve el valor digital en formato 16 bits.
// Las salidas van de 0 a 65535
// adc0 = ads.readADC_SingleEnded(0);
// adc1 = ads.readADC_SingleEnded(1);
// adc2 = ads.readADC_SingleEnded(2);
// adc3 = ads.readADC_SingleEnded(3);
// // Convierte los valores digitales a volts
// volts0 = ads.computeVolts(adc0);
// volts1 = ads.computeVolts(adc1);
// volts2 = ads.computeVolts(adc2);
// volts3 = ads.computeVolts(adc3);
// delay(1000);
// Serial.print("AIN0 "); Serial.print(adc0); Serial.print(" "); Serial.print(volts0); Serial.print("V ");
// Serial.print("AIN1 "); Serial.print(adc1); Serial.print(" "); Serial.print(volts1); Serial.print("V ");
// Serial.print("AIN2 "); Serial.print(adc2); Serial.print(" "); Serial.print(volts2); Serial.print("V ");
// Serial.print("AIN3 "); Serial.print(adc3); Serial.print(" "); Serial.print(volts3); Serial.println("V");
}