ADS1115-PCB Módulo ADS1115 I2C de 16 Bits, 4 Canales

[ADS1115-PCB] ADS1115-PCB Módulo ADS1115 I2C de 16 Bits, 4 Canales

https://electrofranko.com/web/image/product.template/269/image_1920?unique=4c6dc25

S/ 22.00 22.0 PEN S/ 22.00

S/ 22.00

Not Available For Sale

Esta combinación no existe.

Términos y condiciones
Envío: 2-3 días laborales


Referencia Interna: ADS1115-PCB

Convertidor Analógico-Digital de Precisión ADS1115 I2C

Módulo ADC externo de 16 bits con amplificador de ganancia programable (PGA) y 4 canales analógicos independientes.

El ADS1115 es un convertidor analógico-digital (ADC) externo de ultra-alta resolución que proporciona lecturas de 16 bits de precisión a través del bus de comunicación I2C. Diseñado para superar las limitaciones de resolución de los ADC integrados en microcontroladores estándar (como los 10 bits de Arduino Uno), este módulo incorpora 4 canales de entrada multiplexados que pueden configurarse de forma independiente como entradas de terminación única (*single-ended*) o en pares diferenciales. Además, integra una referencia de voltaje interna de baja deriva y un amplificador de ganancia programable (PGA) que optimiza la captura de señales analógicas de magnitudes sumamente reducidas.

Especificaciones Técnicas

Parámetro EléctricoRango / Valor Oficial
Resolución Nativa16 bits (Lecturas discretas de alta definición)
Voltaje de Alimentación (VDD)2.0 V a 5.5 V DC (Excelente rango operativo)
Interfaz de ComunicaciónI2C de alta velocidad con 4 direcciones seleccionables
Consumo de Corriente Activo150 µA típico (Modo de conversión continua)
Consumo en Modo ReposoMenor a 1 µA (Modo automático Single-Shot)
Velocidad de MuestreoProgramable desde 8 SPS hasta 860 SPS
Arquitectura / ConfiguraciónRango / Valor Oficial
Canales de Entrada Analógica4 Entradas individuales (A0-A3) o 2 Diferenciales
Amplificador Programable (PGA)Rangos de Escala Completa desde ±256 mV hasta ±6.144 V
Referencia de VoltajeInterna integrada en el silicio con baja deriva térmica
Pin de Alerta / ComparadorSalida digital programable (Pin ALERT/RDY para interrupciones)
Dimensiones del PCB28 mm x 17 mm (Formato breakout modular pequeño)
Resistencias de PolarizaciónLíneas I2C (SDA/SCL) provistas de resistencias pull-up externas

Ventajas Clave del Convertidor ADC ADS1115

Incremento Drástico de Resolución: Salta de los 1024 niveles de un ADC clásico de 10 bits a un total de $2^{16}$ (65,536) niveles discretos de medición, reduciendo significativamente el error de cuantización.

Amplificador de Ganancia Programable (PGA): Permite multiplicar internamente voltajes pequeños (por ejemplo, señales de sensores de gas o termopares) sin necesidad de acondicionar etapas analógicas operacionales externas.

Medición Diferencial Real: Capacidad de medir la diferencia neta de potencial entre dos pines analógicos (ej. A0 y A1), aislando ruidos eléctricos de modo común en entornos industriales con altas interferencias.

El ADS1115 se comunica a través de las líneas del bus I2C compartiendo la misma referencia de tierra de la etapa lógica de control.

Galería Dinámica de Conexiones de Hardware

Esquema 1: Conexión de pines VDD, GND, SDA y SCL del ADS1115 a Arduino
Esquema 3: Diagrama de interconexión para lecturas analógicas diferenciales
Esquema 2: Configuración del pin ADDR a GND, VDD, SDA o SCL para cambiar la dirección I2C
Esquema 4: Distribución detallada de pines del chip breakout ADS1115
Guía Esencial de Interconexión Eléctrica: Para energizar la etapa digital, conecte el pin **VDD al pin de 5V o 3.3V** del microcontrolador (según la lógica del sistema) y el pin **GND a la tierra común**. Las líneas de comunicación serie deben enlazarse de forma directa: el terminal **SDA al pin de datos I2C** (A4 en Arduino Uno) y el terminal **SCL al pin de reloj I2C** (A5 en Arduino Uno). El pin **ADDR** determina la dirección hexadecimal del bus: conéctelo de forma fija a **GND para la dirección por defecto 0x48**. Las entradas **A0 a A3** recibirán las señales de tensión analógicas externas que se deseen cuantificar.
🎓 Cuantización Numérica, Factor LSB (Bit Menos Significativo) y Dirección del Bus I2C

Para implementar correctamente la lógica del firmware del módulo ADS1115, asimile los siguientes conceptos teóricos fundamentales:

  • Voltaje LSB y Multiplicador de Escala: El dispositivo devuelve un valor entero con signo de 16 bits que comprende lecturas en el rango de $-32768$ a $+32767$. Para traducir este número crudo a voltios físicos reales, se multiplica el conteo por el valor del bit menos significativo (LSB). La magnitud de este factor de multiplicación varía de acuerdo con el rango de ganancia (PGA) seleccionado; por ejemplo, bajo la configuración por defecto de ganancia x1 (rango de escala completa de $\pm4.096\text{V}$), cada bit digital equivale exactamente a un escalón incremental de $0.125\text{ mV}$.
  • Consideraciones de Voltaje Máximo Admitido: Un error común en hardware es suponer que al configurar el PGA en su rango máximo ($\pm6.144\text{V}$), el sensor tolera entradas físicas de ese valor. Las especificaciones estrictas del fabricante limitan el rango absoluto de tensión en cualquier pin analógico a un umbral no mayor que $\text{VDD} + 0.3\text{V}$. Superar este límite absoluto saturará la etapa analógica o dañará los diodos de protección del chip.
  • Direccionamiento Dinámico de Dispositivos: El pin de control **ADDR** ofrece versatilidad de direccionamiento en el hardware permitiendo montar hasta cuatro módulos ADS1115 en paralelo compartiendo las mismas dos líneas físicas del bus I2C. Modificar su conexión altera la dirección física esclava de la siguiente manera: derivado a **GND establece 0x48**, a **VDD establece 0x49**, a la línea de datos **SDA establece 0x4A** y a la línea de reloj **SCL establece 0x4B**.
// Código Completo para Lectura Analógica de Alta Resolución con el Convertidor ADC ADS1115 // Requiere la librería oficial "Adafruit ADS1X15" instalada a través del Gestor de Librerías #include <Arduino.h> #include <Wire.h> #include <Adafruit_ADS1X15.h> // Instanciación del objeto lógico para control del chip ADS1115 (16 bits) Adafruit_ADS1115 ads; void setup() { Serial.begin(115200); Serial.println("--- Inicializando Convertidor Analógico-Digital ADS1115 ---"); // Inicialización del bus I2C especificando la dirección hexadecimal por defecto (ADDR asignado a GND) if (!ads.begin(0x48)) { Serial.println("❌ Error crítico: No se detectó el módulo ADS1115 en la dirección I2C especificada."); while (1); // Detiene permanentemente la ejecución por fallo de hardware } // Configuración del Amplificador de Ganancia Programable (PGA) // GAIN_TWOTHIRDS: Rango de escala completa = ±6.144V (Factor LSB: 1 bit = 0.1875 mV) // GAIN_ONE: Rango de escala completa = ±4.096V (Factor LSB: 1 bit = 0.1250 mV) // GAIN_TWO: Rango de escala completa = ±2.048V (Factor LSB: 1 bit = 0.0625 mV) ads.setGain(GAIN_ONE); // Configuración balanceada a escala completa de ±4.096V Serial.println("✅ Módulo ADS1115 configurado y listo para capturar muestras."); Serial.println("---------------------------------------------------------------"); } void loop() { // Captura el conteo entero con signo crudo desde el multiplexor analógico en el canal A0 int16_t conteo_crudo_A0 = ads.readADC_SingleEnded(0); // Transforma el conteo entero digital a milivoltios reales aplicando el factor LSB correspondiente float voltios_calculados_A0 = ads.computeVolts(conteo_crudo_A0); // Envío de reportes analógicos formateados hacia el Monitor Serie Serial.print(" 📊 [ CANAL A0 ] - Conteo Crudo: "); Serial.print(conteo_crudo_A0); Serial.print(" | Tension Equivalente: "); Serial.print(voltios_calculados_A0, 4); // Despliega la precisión flotante con cuatro decimales Serial.println(" V"); /* Ejemplo opcional de Lectura Diferencial entre los canales A0 y A1: int16_t conteo_diferencial = ads.readADC_Differential_0_1(); float voltios_diferenciales = ads.computeVolts(conteo_diferencial); */ Serial.println("---------------------------------------------------------------"); delay(1000); // Retardo de un segundo para permitir estabilidad visual en las lecturas }
1. ¿Qué diferencia práctica existe entre los módulos comerciales ADS1115 y ADS1015?
La diferencia principal radica en la resolución nativa de su convertidor interno. El **ADS1115** ofrece una resolución de **16 bits**, lo que se traduce en mayor detalle y precisión para medir variaciones analógicas muy sutiles, pero con una velocidad máxima de 860 muestras por segundo (SPS). Por su parte, el **ADS1015** posee una resolución menor de **12 bits**, pero compensa esto con una velocidad de conversión considerablemente mayor, alcanzando hasta las 3300 muestras por segundo (SPS), siendo idóneo para monitorear formas de onda rápidas en corriente alterna.
2. ¿Por qué el ADC devuelve valores numéricos negativos si el sensor solo inyecta voltajes positivos?
El chip procesa las señales mediante un formato de datos con signo. Si configuras la lectura en modo **Single-Ended** (terminación única) respecto a la referencia de tierra del circuito, los valores devueltos siempre serán de carácter positivo. Los recuentos numéricos negativos aparecen únicamente cuando configuras lecturas en modo **Diferencial** (por ejemplo, midiendo la resta entre los canales A0 y A1). Si el voltaje aplicado físicamente en el terminal A1 supera al potencial presente en el terminal A0, la resta aritmética resultará en un valor negativo, el cual es codificado correctamente por el signo del convertidor.
3. ¿Es necesario añadir resistencias de pull-up externas en los canales analógicos A0-A3 para medir voltajes?
**No.** Las entradas analógicas del ADS1115 poseen una impedancia de entrada sumamente elevada diseñada para conectarse directamente a las líneas de señal de los transductores analógicos. Agregar resistencias pull-up en estos canales deformaría los niveles de voltaje reales de la señal de entrada, provocando errores severos de calibración. Las únicas resistencias de pull-up requeridas por el módulo son las aplicadas sobre las líneas lógicas de comunicación **SDA y SCL** del bus I2C, las cuales por lo general ya vienen soldadas de fábrica en formato SMD dentro de la placa de desarrollo del breakout.
4. ¿Cómo se puede leer un voltaje mayor a 5V (por ejemplo, una batería de 12V o 24V) utilizando este módulo?
Para realizar lecturas de tensiones que excedan el límite físico de alimentación del chip, debes acondicionar la señal de entrada implementando un circuito externo de **Divisor de Voltaje Resistivo** compuesto por dos resistencias de precisión en serie. Este arreglo atenuará la magnitud del voltaje de entrada de manera proporcional para adaptarla de forma segura dentro del rango dinámico configurado en el PGA del ADS1115 (por ejemplo, reduciendo los 12V de entrada a un valor seguro menor o igual a 4.096V), permitiendo luego calcular la magnitud original en el firmware multiplicando el resultado por el factor de atenuación del divisor.