Cómo usar el ADC ADS1115 con Arduino

How to Use the ADS1115 ADC with Arduino

El ADS1115 es un convertidor analógico a digital de precisión de 16 bits (ADC) con una interfaz I2C. Ofrece alta precisión y múltiples canales de entrada, lo que lo hace ideal para leer sensores, monitorear voltajes o amplificar señales en proyectos Arduino. Este tutorial lo guiará a través de la conexión y el uso del ADS1115 con Arduino.


Lo que necesitarás

  1. Módulo ADC ADS1115
  2. Arduino Board (por ejemplo, Uno, Mega, Nano)
  3. Sensores o dispositivos analógicos (por ejemplo, potenciómetro)
  4. Cables de placa y jersey
  5. Una computadora con el Arduino IDE instalado

Paso 1: Comprender el módulo ADS1115

El ADS1115 ofrece:

  • Resolución ADC de 16 bits (15 bits para entradas diferenciales).
  • 4 canales de entrada (o 2 pares diferenciales).
  • Amplificador de ganancia programable (PGA) Para la amplificación de la señal.

ADS1115 pinout

Alfiler Función
VCC Fuente de alimentación (3.3V/5V)
Gnd Suelo
SDA Línea de datos I2C
SCL Línea de reloj I2C
Addr Configuración de la dirección I2C
  • Configuración del pin de addr:
    • GND: 0x48 (dirección predeterminada)
    • VCC: 0x49
    • SDA: 0x4A
    • SCL: 0x4B

Paso 2: Cableado el ADS1115 a Arduino

Conecte el ADS1115 al Arduino de la siguiente manera:

Ads1115 pin Alfiler de arduino
VCC 5V
Gnd Gnd
SDA A4 (SDA)
SCL A5 (SCL)

Nota: Para otros tableros Arduino, asegúrese de usar los pines I2C correctos.


Paso 3: Instale la biblioteca requerida

Para simplificar la comunicación con el ADS1115, instale la biblioteca AdaFruit ADS1X15.

Pasos para instalar:

  1. Abra el IDE Arduino.
  2. Ir a Bosquejo > Incluir biblioteca > Administrar bibliotecas.
  3. Busque "AdaFruit ADS1X15" y haga clic Instalar.

Paso 4: cargar el código

Aquí hay un boceto de ejemplo para leer la entrada analógica del ADS1115:

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

Adafruit_ADS1115 ads; // Create an ADS1115 object

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("Initializing ADS1115...");

  if (!ads.begin()) {
    Serial.println("Failed to detect ADS1115. Check connections.");
    while (1);
  }

  Serial.println("ADS1115 initialized.");
}

void loop() {
  int16_t adc0 = ads.readADC_SingleEnded(0); // Read channel 0
  float voltage = adc0 * 0.1875 / 1000.0; // Convert to voltage (gain = 2/3)

  Serial.print("ADC Value: ");
  Serial.print(adc0);
  Serial.print(" | Voltage: ");
  Serial.print(voltage);
  Serial.println(" V");

  delay(500); // Wait for 500ms before the next reading
}

Paso 5: prueba la configuración

  1. Conecte el Arduino a su computadora a través de USB.
  2. Abra el IDE Arduino y seleccione el correcto Junta y Puerto bajo el Herramientas menú.
  3. Sube el código al Arduino haciendo clic en Subir.
  4. Abra el monitor en serie (Herramientas > Monitor en serie) y establecer la tasa de baudios en 9600.
  5. Varíe el voltaje de entrada (por ejemplo, usando un potenciómetro) y observe el valor ADC y las lecturas de voltaje.

Opcional: usando el modo diferencial

El ADS1115 también puede medir la diferencia entre dos pines de entrada (por ejemplo, A0 y A1):

int16_t diff = ads.readADC_Differential_0_1(); // Measure difference between A0 and A1
float voltage = diff * 0.1875 / 1000.0; // Convert to voltage
Serial.println(voltage);

Aplicaciones del ADS1115

  1. Lecturas de sensores de alta precisión
  2. Monitoreo y medición de voltaje
  3. Amplificación de señal para sensores pequeños
  4. Medición de señal diferencial

Solución de problemas

  • Sin respuesta del sensor: Verifique las conexiones I2C y asegúrese de utilizar la dirección I2C correcta.
  • Lecturas inconsistentes: Verifique si hay una fuente de alimentación estable y las entradas de señal limpia.
  • Baja resolución: Asegúrese de utilizar la configuración de ganancia correcta para su rango de entrada.

Conclusión

Has interactuado con éxito el ADC ADS1115 con Arduino. Con su alta precisión y flexibilidad, el ADS1115 es una excelente herramienta para varios proyectos que requieren una conversión analógica precisa a digital. ¡Experimente con sus características para construir sistemas de medición avanzados e interfaces de sensores!

Escribir un comentario

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.