The ADS1115 es un Convertidor Analógico a Digital (ADC) de 16 bits que permite al Raspberry Pi leer señales analógicas de sensores, potenciómetros y otros dispositivos analógicos. Esta guía te mostrará cómo configurar el ADS1115 módulo ADC con el Raspberry Pi para leer datos de sensores analógicos usando Python.
Qué necesitarás
- Raspberry Pi (cualquier modelo con soporte I2C, p. ej., Pi 3, Pi 4)
- ADS1115 Módulo ADC
- Sensor analógico (p. ej., potenciómetro, sensor de temperatura, sensor de humedad del suelo, etc.)
- Protoboard y cables de conexión
- Python instalado en el Raspberry Pi
Paso 1: Entendiendo el ADS1115
El Raspberry Pi carece de pines de entrada analógica, por lo que se utiliza el ADS1115 para convertir señales analógicas a digitales. El ADS1115 ofrece:
- 4 Canales de Entrada Analógica (A0, A1, A2, A3)
- Resolución de 16 bits para alta precisión
- Interfaz de comunicación I2C
- Amplificador de Ganancia Programable (PGA) para sensibilidad ajustable
Paso 2: Conectar el ADS1115 al Raspberry Pi
El ADS1115 se comunica vía I2C, por lo que lo conectamos a los pines I2C del Raspberry Pi.
Conexiones
| Pin del ADS1115 | Pin del Raspberry Pi |
|---|---|
| VCC | 3.3V (Pin 1) o 5V (Pin 2) |
| GND | Tierra (Pin 6) |
| SDA | SDA (Pin 3, GPIO2) |
| SCL | SCL (Pin 5, GPIO3) |
| A0-A3 (Entradas Analógicas) | Conectar a la salida del sensor |
Paso 3: Habilitar I2C en el Raspberry Pi
- Abre la herramienta de configuración del Raspberry Pi:
sudo raspi-config - Navega a Interface Options > I2C y habilítalo.
- Reinicia el Raspberry Pi:
sudo reboot - Verifica que el ADS1115 sea detectado en el bus I2C:
El ADS1115 debería aparecer en la direcciónsudo i2cdetect -y 10x48.
Paso 4: Instalar las librerías requeridas
- Actualiza la lista de paquetes de tu Raspberry Pi:
sudo apt update && sudo apt upgrade -y - Instala las herramientas I2C y las librerías de Python necesarias:
sudo apt install -y python3-smbus python3-pip pip3 install adafruit-circuitpython-ads1x15
Paso 5: Leer datos analógicos desde el ADS1115
Código Python para leer datos del sensor desde ADS1115
import time
import board
import busio
import adafruit_ads1x15.ads1115 as ADS
from adafruit_ads1x15.analog_in import AnalogIn
# Inicializar I2C y ADS1115 ADC
i2c = busio.I2C(board.SCL, board.SDA)
ads = ADS.ADS1115(i2c)
# Seleccionar canal de entrada analógica (A0)
channel = AnalogIn(ads, ADS.P0)
try:
while True:
print(f"Valor crudo: {channel.value}, Voltaje: {channel.voltage:.2f}V")
time.sleep(1)
except KeyboardInterrupt:
print("Saliendo...")
Paso 6: Aplicaciones del ADS1115 con Raspberry Pi
- Lectura de sensores analógicos – Sensores de temperatura, luz, humedad o gas.
- Monitoreo de voltaje de baterías – Medir voltajes de forma segura con alta resolución.
- Monitoreo de humedad del suelo – Úsalo para sistemas de riego inteligentes.
- Lecturas de potenciómetro – Úsalo como un controlador de entrada de usuario para proyectos.
Solución de problemas
-
ADS1115 No detectado (
i2cdetectno muestra0x48)- Asegúrate de que los pines SDA/SCL estén cableados correctamente.
- Verifica que I2C esté habilitado usando
sudo raspi-config.
-
Lecturas inexactas
- Usa los ajustes PGA en el código Python para ajustar el rango de voltaje.
- Asegura una fuente de alimentación estable para el ADS1115 módulo.
-
Múltiples ADS1115 Módulos
- Modifica la dirección I2C usando el pin ADDR para evitar conflictos.
Conclusión
El módulo ADC ADS1115 permite al Raspberry Pi leer datos de sensores analógicos con alta precisión. Ya sea que estés construyendo monitoreo ambiental, detección de baterías o aplicaciones IoT, esta guía proporciona una forma sencilla de integrar entradas analógicas en tus proyectos! 🚀



