ADS1115 cambiar de deferencial a entrada simple

Hola
Quiero con un ADS1115 medir 2 cosas, pinza SCT013 y pinza WCS1800.
Necesito cambiar el modo de medición, de diferencial a entrada simple.
Usando la libreria de adafruit #include <Adafruit_ADS1X15.h>
Alguna idea de como reconfigurar tras el .begin?
Saludos

Busca ADS1115 modo simple y modo diferencial, hay muchos tutoriales al respecto.

Hola
Completo el tutorial q mandaste.
He visto unos cuantos, pero ninguno q hable de usar 2 pines para medir un diferencial y los otros dos como modo simple, cambiando la configuración.

Porque

The ADS1115 features an input multiplexer (MUX) that allows two differential or four single-ended input measurements.

Fuente: Hoja de datos del ADS1115.

O sea

El ADS1115 cuenta con un multiplexor de entrada (MUX) que permite realizar dos mediciones de entrada diferencial o cuatro de un solo extremo.

La clave es la letra "O", es exclusiva no inclusiva.
En resumen, trabaja de un modo o del otro pero no ambos a la vez.

Por eso hay q reprogramarlo para cambiar de modo de medición

He juntado los dos modos y va midiendo de los dos modos.
En diferencial tengo pinza ac SCT013 y en single, sensor DC WCS1800

#include <Wire.h>
#include <Adafruit_ADS1X15.h>

// Crear objeto de la clase
Adafruit_ADS1115 ads;
float factorEscalaDiferencial = 0.1875F;

void setup(void) 
{ Serial.begin(9600);
  delay(200);
  // Iniciar el ADS1115
  ads.begin();
}

void loop(void) 
{ LeerSingle();
  LeerDiferencial(); 
  delay(1000);}

void LeerSingle() 
{ // Obtener datos del A0 del ADS1115
  short adc3 = ads.readADC_SingleEnded(3);
  Serial.print("LeerSingle A3: "); 
  Serial.println(adc3);
  delay(100);
  ads.begin();}

void LeerDiferencial() 
{ ads.setGain(GAIN_TWOTHIRDS);
  delay(100);
  ads.begin();
  short diferencia_0_1 = ads.readADC_Differential_0_1();
  // Convertir en voltios 
  float voltios = (diferencia_0_1 * factorEscalaDiferencial)/1000.0;  
  Serial.print("Diferencia 0-1 = "); 
  Serial.print(diferencia_0_1); 
  Serial.print(" Voltage = ");
  Serial.println(voltios,4);
  Serial.println();}

Serial:
LeerSingle A3: 13374
Diferencia 0-1 = -3 Voltage = -0.0006

Sigo trabajando el código...

Funcionando:

#include <Wire.h>
#include <Adafruit_ADS1X15.h>

// Crear objeto de la clase
Adafruit_ADS1115 ads;
const float factorMultiplierSingle = 0.125; //GAIN_ONE	4,096V	0,1250mV

const float FACTOR = 20; //20A/1V pinza SCT013

const float multiplier = 0.091F; //ajustando con tester, original: 0.0625F;
 
//const float factorEscalaDiferencial = 0.1875F;

void setup(void) 
{ Serial.begin(9600);delay(200);
  ads.begin();}

void loop(void) 
{ LeerDiferencial();
  LeerSingle();
  Serial.println(""); 
  delay(1000);}

void LeerSingle() 
{ ads.setGain(GAIN_ONE);  //  +/- 4.096V  1 bit = 0.125mV
  //ads.begin(); 
  delay(50);
  int16_t adc3 = ads.readADC_SingleEnded(3);Serial.print("adc3 DC: "); Serial.print(adc3);
  double AmpDC = ((double)adc3 - 20000 ) * factorMultiplierSingle; //20000 adc Medición sin carga, 0.125mv por cada adc
  Serial.print(" AmpDC: ");Serial.print(AmpDC/66);//Serial.print("AIN3: "); Serial.println(adc3 * multiplierSingle);
  Serial.println("A");
  delay(100);}

void LeerDiferencial() 
{ ads.setGain(GAIN_TWO); // ±2.048V  1 bit = 0.0625mV 
  delay(50);
  float voltage, corriente;
  float sum = 0;
  long tiempo = millis();
  int counter = 0;
  while (millis() - tiempo < 1000)
  { voltage = ads.readADC_Differential_0_1() * multiplier;
    corriente = voltage * FACTOR;
    corriente /= 1000.0; 
    sum += sq(corriente);
    counter = counter + 1;} 
  corriente = sqrt(sum / counter);
  float power = 230 * corriente; //230V
  float floatCurrentRMS = ((int)(corriente*100))/100.0; //2 decimales
  Serial.print("Corriente220V: "); Serial.print(floatCurrentRMS);
  /* int intParte = (int)(currentRMS * 100);
  float numRedondeado = (float)intParte / 100.0;
  Serial.println(numRedondeado); // Imprime 3.14*/
  //Serial.print("-Potencia: ");Serial.println(power); // 2 decimales
  //Serial.print("-Potencia: ");Serial.println((int)power); //sin decimales
  int intPotencia=(int)power; Serial.print("A Potencia220V: "); Serial.print(intPotencia); 
  Serial.println("W");
  delay(100);}

Corriente220V: 2.26A Potencia220V: 520W
adc3 DC: 20589 AmpDC: 1.12A

Solo es un comentario el que sigue a continuación:
Has visto el dispositivo TUYA que mide potencia?
Tensión, corriente, Energía y sus históricos. Sencillamente excelente, el problema es que lo usas con la App TUYA y si quieres usar otra cosa solo con Python con el SDK de TUYA probé Con Arduino no pude hasta ahora.

Hay otros similares.