Obtenga entrega gratuita en todas las órdenes más de £20!

Usando el ADS1115 con la Raspberry Pi

Using the ADS1115 with the Raspberry Pi

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

  1. Raspberry Pi (cualquier modelo con soporte I2C, p. ej., Pi 3, Pi 4)
  2. ADS1115 Módulo ADC
  3. Sensor analógico (p. ej., potenciómetro, sensor de temperatura, sensor de humedad del suelo, etc.)
  4. Protoboard y cables de conexión
  5. 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

  1. Abre la herramienta de configuración del Raspberry Pi:
    sudo raspi-config
    
  2. Navega a Interface Options > I2C y habilítalo.
  3. Reinicia el Raspberry Pi:
    sudo reboot
    
  4. Verifica que el ADS1115 sea detectado en el bus I2C:
    sudo i2cdetect -y 1
    
    El ADS1115 debería aparecer en la dirección 0x48.

Paso 4: Instalar las librerías requeridas

  1. Actualiza la lista de paquetes de tu Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. 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

  1. Lectura de sensores analógicos – Sensores de temperatura, luz, humedad o gas.
  2. Monitoreo de voltaje de baterías – Medir voltajes de forma segura con alta resolución.
  3. Monitoreo de humedad del suelo – Úsalo para sistemas de riego inteligentes.
  4. Lecturas de potenciómetro – Úsalo como un controlador de entrada de usuario para proyectos.

Solución de problemas

  1. ADS1115 No detectado (i2cdetect no muestra 0x48)

    • Asegúrate de que los pines SDA/SCL estén cableados correctamente.
    • Verifica que I2C esté habilitado usando sudo raspi-config.
  2. 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.
  3. 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! 🚀

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.

Escribir un comentario