Raspberry Pi - Analog-Digital-Wandler

Der Raspberry Pi verfügt nicht über integrierte analoge Eingänge, daher kann er Werte von analogen Sensoren wie Potentiometern, Thermistoren und Gassensoren nicht direkt auslesen. Um dieses Problem zu lösen, verwenden wir einen Analog-Digital-Wandler (ADC). Dieses Tutorial zeigt dir, wie man ein ADS1115-ADC-Modul verwendet, um analoge Sensorwerte mit einem Raspberry Pi auszulesen.

Dieses Tutorial behandelt:

Erforderliche Hardware

1×Raspberry Pi 5
1×ADS1115 ADC-Modul
1×Analog sensor (e.g., Potentiometer, Light sensor, Water sensor)
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Raspberry Pi
1×(Empfohlen) Raspberry Pi Prototyping-Grundplatte & Breadboard-Kit
1×(Empfohlen) HDMI-Touchscreen-Monitor für Raspberry Pi

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Verständnis des ADS1115-Moduls

Der ADS1115 ist ein 16-Bit-AD-Wandler mit 4 Kanälen und kommuniziert mit dem Raspberry Pi über I2C (Inter-Integrated Circuit). Er kann analoge Signale (0–3,3 V) lesen und bietet eine Auflösung von 16 Bit.

Das ADS1115-Modul verfügt über 4 analoge Eingangskanäle, was bedeutet, dass Sie bis zu 4 verschiedene analoge Sensoren gleichzeitig an ein einziges ADS1115-Modul anschließen können. Dadurch können Sie mehrere Sensorwerte gleichzeitig mit nur einem ADC-Modul messen.

ADS1115 Pinbelegung

Pinbelegung des ADS1115-ADC-Moduls
Pin Name Description
VDD Power supply (3.3V or 5V)
GND Ground
SCL I2C clock (connect to Raspberry Pi GPIO3)
SDA I2C data (connect to Raspberry Pi GPIO2)
A0-A3 Analog input channels
ADDR I2C address selection
ALERT/RDY Alert/Ready output (optional)

Verdrahtung des ADS1115 an den Raspberry Pi

ADS1115 Pin Raspberry Pi Pin
VDD 3.3V (Pin 1)
GND GND (Pin 6)
SCL GPIO3 (Pin 5)
SDA GPIO2 (Pin 3)

Nachfolgend finden Sie mehrere Beispiele dafür, wie man einen Raspberry Pi, ein ADS1115-Modul und verschiedene analoge Sensoren anschließt.

  • Die Verdrahtung zwischen dem Raspberry Pi, dem ADS1115-Modul und dem Potentiometer
Raspberry Pi Potentiometer Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

  • Die Verkabelung zwischen dem Raspberry Pi, dem ADS1115-Modul und dem Lichtsensor
Raspberry Pi Lichtsensor Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

  • Die Verkabelung zwischen Raspberry Pi, dem ADS1115-Modul und dem Wassersensor
Raspberry Pi-Wassersensor-Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

  • Die Verdrahtung zwischen Raspberry Pi, ADS1115-Modul und Bodenfeuchtigkeitssensor
Raspberry Pi Bodenfeuchtigkeitssensor-Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Um Ihren Verdrahtungsaufbau zu vereinfachen und zu organisieren, empfehlen wir die Verwendung eines Schraubklemmenblock-Shields für Raspberry Pi. Dieses Shield gewährleistet sicherere und besser verwaltbare Verbindungen, wie unten gezeigt:

Raspberry Pi Schraubklemmenblock-Shield

Wie bereits erwähnt, kann das ADS1115-Modul bis zu vier analoge Sensoren gleichzeitig anschließen. Dieses Tutorial zeigt, wie Sie es mit einem Sensor verwenden, aber Sie können es leicht auf mehrere Sensoren anpassen.

Wie man einen ADC mit dem Raspberry Pi verwendet

  • Stellen Sie sicher, dass Raspbian oder ein anderes Raspberry Pi-kompatibles Betriebssystem auf Ihrem Pi installiert ist.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit demselben lokalen Netzwerk wie Ihr PC verbunden ist.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, falls Sie einige Bibliotheken installieren müssen.
  • Wenn Sie Raspberry Pi zum ersten Mal verwenden, siehe wie man den Raspberry Pi einrichtet
  • Stellen Sie von Ihrem PC eine SSH-Verbindung zum Raspberry Pi her, indem Sie den integrierten SSH-Client unter Linux und macOS oder PuTTY unter Windows verwenden. Siehe wie Sie Ihren PC über SSH mit dem Raspberry Pi verbinden.
  • Führen Sie den folgenden Befehl aus, um das Raspberry Pi-Konfigurationstool zu öffnen:
sudo raspi-config
  • Gehen Sie zu Schnittstellenoptionen > I2C und aktivieren Sie sie, um die I2C-Schnittstelle am Raspberry Pi zu aktivieren.
  • Den Raspberry Pi neu starten:
sudo reboot
  • Verbinden Sie Ihren PC erneut mit dem Raspberry Pi über SSH.
  • Stellen Sie sicher, dass die Bibliothek RPi.GPIO installiert ist. Falls nicht, installieren Sie sie mit dem folgenden Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Installieren Sie die Bibliothek Adafruit_ADS1x15, indem Sie die folgenden Befehle auf Ihrem Raspberry Pi-Terminal ausführen:
sudo pip install Adafruit-ADS1x15

Analoge Werte mit Python auslesen

  • Erstelle eine Python-Skriptdatei adc_read.py und füge den folgenden Code hinzu:
# Dieser Raspberry Pi Code wurde von newbiely.de entwickelt # Dieser Raspberry Pi Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. # Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: # https://newbiely.de/tutorials/raspberry-pi/raspberry-pi-adc import time import Adafruit_ADS1x15 # Create an ADS1115 ADC object adc = Adafruit_ADS1x15.ADS1115() while True: analog_value = adc.read_adc(0, gain=1) # Read from channel 0 print(f"Analog Value: {analog_value}") time.sleep(1)
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie den folgenden Befehl im Terminal ausführen:
python3 adc_read.py

Wenn alles ordnungsgemäß verbunden ist, sollten Sie die analogen Werte im Terminal angezeigt bekommen.

Erklärung des Codes:

  • Die Adafruit_ADS1x15-Bibliothek initialisiert die I2C-Kommunikation.
  • Das ADS1115-Objekt liest den 16-Bit-ADC-Wert aus dem angegebenen Kanal.
  • Das Skript liest kontinuierlich den analogen Wert und gibt ihn jede Sekunde aus.

Fazit

Der Einsatz eines ADC wie dem ADS1115 ermöglicht dem Raspberry Pi, mit analogen Sensoren zu interagieren und seine Fähigkeiten zu erweitern. In diesem Tutorial wurde demonstriert, wie man den ADS1115 verdrahtet und programmiert, um analoge Daten über die I2C-Kommunikation auszulesen. Sie können nun auch andere analoge Sensoren für verschiedene Projekte integrieren!

Nachfolgend finden Sie umfassende Tutorials, die erklären, wie man einen Raspberry Pi mit verschiedenen analogen Sensoren verbindet und verwendet:

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!