Utilisation de l'ADS1115 avec le Raspberry Pi

Using the ADS1115 with the Raspberry Pi

Le ADS1115 est un Convertisseur analogique 16 bits (ADC) qui permet au Raspberry Pi de lire signaux analogiques des capteurs, des potentiomètres et d'autres dispositifs analogiques. Ce guide vous guidera dans la configuration du Module ADC ADS1115 avec le Raspberry Pi pour lire les données du capteur analogique à l'aide de Python.


Ce dont vous aurez besoin

  1. Raspberry Pi (Tout modèle avec le support I2C, par ex., PI 3, PI 4)
  2. Module ADC ADS1115
  3. Capteur analogique (par exemple, potentiomètre, capteur de température, capteur d'humidité du sol, etc.)
  4. Fils de planche à pain et de cavalier
  5. Python installé sur le Raspberry Pi

Étape 1: Comprendre l'ADS1115

Le Raspberry Pi manque d'épingles d'entrée analogiques, donc le ADS1115 est utilisé pour convertir signaux analogiques au numérique. L'ADS1115 fournit:

  • 4 canaux d'entrée analogiques (A0, A1, A2, A3)
  • Résolution 16 bits pour une haute précision
  • Interface de communication I2C
  • Amplificateur de gain programmable (PGA) pour une sensibilité réglable

Étape 2: Câblage de l'ADS1115 au Raspberry Pi

Le ADS1115 communique via I2C, nous le connectons donc aux broches I2C de Raspberry Pi.

Relations

Broche ADS1115 Pin de framboise PI
VCC 3,3 V (broche 1) ou 5V (broche 2)
GND Terre (broche 6)
SDA SDA (broche 3, gpio2)
SCL SCL (broche 5, gpio3)
A0-A3 (entrées analogiques) Connectez-vous à la sortie du capteur

Étape 3: Activer I2C sur le Raspberry Pi

  1. Ouvrez l'outil de configuration Raspberry Pi:
    sudo raspi-config
    
  2. Se diriger vers Options d'interface> I2C et l'activer.
  3. Redémarrez le Raspberry Pi:
    sudo reboot
    
  4. Vérifiez que le ADS1115 est détecté sur le bus I2C:
    sudo i2cdetect -y 1
    
    Le ADS1115 devrait apparaître à l'adresse 0x48.

Étape 4: Installer les bibliothèques requises

  1. Mettez à jour la liste des packages de votre Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Installez le requis Outils I2C et les bibliothèques Python:
    sudo apt install -y python3-smbus python3-pip
    pip3 install adafruit-circuitpython-ads1x15
    

Étape 5: Lire les données analogiques de l'ADS1115

Code python pour lire les données du capteur de ADS1115

import time
import board
import busio
import adafruit_ads1x15.ads1115 as ADS
from adafruit_ads1x15.analog_in import AnalogIn

# Initialize I2C and ADS1115 ADC
i2c = busio.I2C(board.SCL, board.SDA)
ads = ADS.ADS1115(i2c)

# Select Analog Input Channel (A0)
channel = AnalogIn(ads, ADS.P0)

try:
    while True:
        print(f"Raw Value: {channel.value}, Voltage: {channel.voltage:.2f}V")
        time.sleep(1)
except KeyboardInterrupt:
    print("Exiting...")

Étape 6: Applications de l'ADS1115 avec Raspberry Pi

  1. Lire les capteurs analogiques - Température, lumière, humidité ou capteurs de gaz.
  2. Surveillance de la tension de la batterie - Mesurer les tensions en toute sécurité avec une haute résolution.
  3. Surveillance de l'humidité du sol - Utilisation pour Systèmes d'irrigation intelligente.
  4. Lectures du potentiomètre - Utiliser comme un contrôleur d'entrée utilisateur pour les projets.

Dépannage

  1. ADS1115 non détecté (i2cdetect ne montre pas 0x48)

    • Assurer le Broches SDA / SCL sont correctement câblés.
    • Vérifiez que I2C est activé en utilisant sudo raspi-config.
  2. Lectures inexactes

    • Utiliser Paramètres PGA dans le code Python pour ajuster la plage de tension.
    • Assurer un alimentation stable au module ADS1115.
  3. Plusieurs modules ADS1115

    • Modifier le Adresse I2C en utilisant le Broche pour éviter les conflits.

Conclusion

Le Module ADC ADS1115 permet à la framboise PI de Lire les données du capteur analogique avec une haute précision. Que vous construisiez Surveillance environnementale, détection de batterie ou applications IoT, ce guide fournit un moyen simple d'intégrer Entrées analogiques dans vos projets! 🚀

Laissez un commentaire

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.