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
- Módulo ADC ADS1115
- Arduino Board (por ejemplo, Uno, Mega, Nano)
- Sensores o dispositivos analógicos (por ejemplo, potenciómetro)
- Cables de placa y jersey
- 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
- GND:
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:
- Abra el IDE Arduino.
- Ir a Bosquejo > Incluir biblioteca > Administrar bibliotecas.
- 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
- Conecte el Arduino a su computadora a través de USB.
- Abra el IDE Arduino y seleccione el correcto Junta y Puerto bajo el Herramientas menú.
- Sube el código al Arduino haciendo clic en Subir.
- Abra el monitor en serie (Herramientas > Monitor en serie) y establecer la tasa de baudios en
9600
. - 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
- Lecturas de sensores de alta precisión
- Monitoreo y medición de voltaje
- Amplificación de señal para sensores pequeños
- 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!