Verwenden der ADS1115 mit dem Raspberry Pi

Using the ADS1115 with the Raspberry Pi

Der ADS1115 ist a 16-Bit-Analog-Digital-Konverter (ADC) Dadurch kann der Raspberry Pi lesen Analoge Signale aus Sensoren, Potentiometern und anderen analogen Geräten. Dieser Leitfaden führt Sie durch das Einrichten der ADS1115 ADC -Modul mit dem Raspberry Pi zum Lesen analogen Sensordaten mit Python.


Was Sie brauchen werden

  1. Raspberry Pi (Jedes Modell mit I2C -Unterstützung, z. B. PI 3, PI 4)
  2. ADS1115 ADC -Modul
  3. Analogsensor (z. B. Potentiometer, Temperatursensor, Bodenfeuchtigkeitssensor usw.)
  4. Breadboard- und Jumper -Drähte
  5. Python installiert Auf dem Raspberry Pi

Schritt 1: Verständnis der ADS1115

Der Raspberry Pi fehlt analogen Eingangsstiften, so die ADS1115 wird zum Konvertieren verwendet Analoge Signale zu digital. Die ADS1115 enthält:

  • 4 Analoge Eingangskanäle (A0, A1, A2, A3)
  • 16-Bit-Auflösung für hohe Präzision
  • I2C -Kommunikationsschnittstelle
  • Programmierbarer Verstärkerverstärker (PGA) für einstellbare Empfindlichkeit

Schritt 2: Verkabelung der ADS1115 mit dem Raspberry Pi

Der ADS1115 kommuniziert über I2CAlso verbinden wir es mit den I2C -Stiften des Raspberry Pi.

Verbindungen

ADS1115 PIN Raspberry Pi Pin
VCC 3,3 V (Pin 1) oder 5 V (Pin 2)
GND Masse (Pin 6)
SDA SDA (Pin 3, gpio2)
Scl SCL (Pin 5, gpio3)
A0-A3 (Analoge Eingänge) Schließen Sie eine Verbindung zum Sensorausgang an

Schritt 3: Aktivieren Sie I2C am Raspberry Pi

  1. Öffnen Sie das Raspberry PI -Konfigurationstool:
    sudo raspi-config
    
  2. Navigieren zu Schnittstellenoptionen> i2c und es aktivieren.
  3. Starten Sie den Raspberry Pi neu:
    sudo reboot
    
  4. Überprüfen Sie, dass die ADS1115 wird erkannt Im I2C -Bus:
    sudo i2cdetect -y 1
    
    Der ADS1115 sollte unter der Adresse erscheinen 0x48.

Schritt 4: Installieren Sie die erforderlichen Bibliotheken

  1. Aktualisieren Sie die Paketliste Ihres Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Installieren Sie die erforderlichen I2C -Werkzeuge und Python -Bibliotheken:
    sudo apt install -y python3-smbus python3-pip
    pip3 install adafruit-circuitpython-ads1x15
    

Schritt 5: Analoge Daten aus dem ADS1115 lesen

Python -Code zum Lesen von Sensordaten aus 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...")

Schritt 6: Anwendungen von ADS1115 mit Raspberry Pi

  1. Analogsensoren lesen - Temperatur, Licht, Luftfeuchtigkeit oder Gassensoren.
  2. Akkuspannung Überwachung - Spannungen sicher mit hoher Auflösung messen.
  3. Bodenfeuchtigkeitsüberwachung - Verwenden Sie für intelligente Bewässerungssysteme.
  4. Potentiometer -Messwerte - verwenden Sie als Benutzereingangscontroller Für Projekte.

Fehlerbehebung

  1. ADS1115 nicht erkannt (i2cdetect zeigt sich nicht 0x48)

    • Stellen Sie sicher, dass die SDA/SCL -Stifte sind richtig verkabelt.
    • Überprüfen Sie das I2C ist aktiviert Verwendung sudo raspi-config.
  2. Ungenaue Lesungen

    • Verwenden PGA -Einstellungen im Python -Code, um den Spannungsbereich anzupassen.
    • Sicherstellen a Stabile Stromversorgung zum ADS1115 -Modul.
  3. Mehrere ADS1115 -Module

    • Ändern Sie die I2C -Adresse Verwenden der ADDR PIN Konflikte vermeiden.

Abschluss

Der ADS1115 ADC -Modul ermöglicht dem Raspberry Pi zu Lesen Sie analoge Sensordaten mit hoher Präzision. Ob du baust Umgebungsüberwachung, Batterieerfassung oder IoT -AnwendungenDieser Leitfaden bietet eine einfache Möglichkeit, sich zu integrieren Analoge Eingaben in Ihre Projekte! 🚀

Hinterlasse einen Kommentar

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.