Raspberry Pi - Potentiometer

Dieses Tutorial zeigt Ihnen, wie Sie Raspberry Pi mit einem Potentiometer verwenden, das auch als Poti, Trimmer, variabler Widerstand, Rheostat oder Dreh-Winkelsensor bekannt ist. Im Detail lernen wir:

Hardware Erforderlich

1×Raspberry Pi 5
1×Potentiometer
1×Alternativ: 10k Ohm Trimmer Potentiometer
1×(Alternativ) Potentiometer Kit
1×(Alternativ) Potentiometer Modul mit Knopf
1×ADS1115 ADC Modul
1×Breadboard (Steckplatine)
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.

Über Potentiometer

Ein Dreh-Potentiometer, auch als Dreh-Winkelsensor bekannt, wird verwendet, um den Wert eines Elements manuell zu ändern. Beispiele sind die Lautstärke einer Stereoanlage, die Helligkeit einer Lampe und die Zoom-Stufe eines Oszilloskops.

Potentiometer pinout

Die Potentiometer Pinbelegung

Ein Potentiometer hat normalerweise drei Pins:

  • Der GND-Pin sollte mit der Masse (0V) verbunden werden
  • Der VCC-Pin sollte mit VCC (5V oder 3.3V) verbunden werden
  • Der Ausgangs-Pin sendet die Spannung an den Eingangs-Pin des Raspberry Pi.
Potentiometer pinout

※ Notiz:

Der GND-Pin und der VCC-Pin können vertauscht werden.

Wie es funktioniert

Die drehbare Welle des Potentiometers kann von 0°, was am nächsten zu GND ist, zu einem maximalen Winkel bewegt werden, der am nächsten zum VCC-Pin ist. Dieser maximale Winkel wird als ANGLE_MAX bezeichnet.

※ Notiz:

Der Wert von ANGLE_MAX wird vom Hersteller bestimmt. Im Allgemeinen beachten wir ihn nicht, außer wenn wir den Rotationswinkel berechnen müssen (siehe Anwendungsfälle-Abschnitt).

How Potentiometer Works

Das Funktionsprinzip:

  • Ein Benutzer dreht die Welle des Potentiometers
  • ⇒ Der Winkel des Potentiometers wird geändert
  • ⇒ Der Widerstand des Potentiometers wird geändert
  • ⇒ Die Spannung am Ausgangs-Pin des Potentiometers wird geändert
  • ⇒ Der analoge Wert, der vom Raspberry Pi gelesen wird, wird geändert

Raspberry Pi - Potentiometer

Das Raspberry Pi Board hat keinen eingebauten ADC. Wir müssen ein externes ADC-Modul (z.B. ADS1115 Modul) verwenden, um die analoge Spannung vom Potentiometer zu lesen.

  • Das Potentiometer ist mit dem ADS1115-Modul verbunden.
  • Das ADS1115-Modul wandelt die Spannung vom Potentiometer in den ADC-Wert um
  • Der Raspberry Pi verbindet sich mit dem ADS1115-Modul und liest den ADC-Wert über die I2C-Schnittstelle.

Das ADS1115-Modul ist ein hochauflösendes 16-Bit ADC-Wandlermodul. Es wandelt einen Spannungsbereich von 0V bis 3,3V in einen ADC-Wertebereich von 0 bis 65535 um.

Sobald wir den ADC-Wert erhalten haben, können wir diesen Wert zu einem anderen skalieren. Betrachten wir einige Beispielanwendungen:

  • Zurückskalieren zur Spannung des Potentiometers.
  • Skalieren zur Lautstärke einer Stereoanlage
  • Skalieren zur Helligkeit der LED
  • Skalieren zur Geschwindigkeit eines DC-Motors
  • Skalieren zum Winkel des Servo Motors.

Skalierungsbereich

VON ZU
Winkelvom Benutzer gedrehtANGLE_MAX
Spannungvom Potentiometer-Pin 0V3.3
ADC-Wertvom Raspberry Pi gelesen 065536
Anderer Wertvom Raspberry Pi umgewandelt VALUE_MINVALUE_MAX

Schaltbild

  • Raspberry Pi Potentiometer Schaltbild ohne Breadboard
Raspberry Pi Potentiometer wiring diagram

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

  • Raspberry Pi Potentiometer Schaltbild mit Breadboard
Raspberry Pi ADS1115 wiring diagram

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 Sie Raspberry Pi Code programmieren, um Werte vom Potentiometer zu lesen

Schnelle Schritte

  • Stellen Sie sicher, dass Sie Raspbian oder ein anderes Raspberry Pi-kompatibles Betriebssystem auf Ihrem Pi installiert haben.
  • 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 Raspberry Pi Getting Started Leitfaden, um zuerst die Grundlagen zu lernen.
  • Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi, indem Sie den integrierten SSH-Client unter Linux und macOS oder PuTTY unter Windows verwenden. Siehe wie Sie Ihren PC über SSH mit Raspberry Pi verbinden.
  • Stellen Sie sicher, dass die RPi.GPIO Bibliothek installiert ist. Falls nicht, installieren Sie sie mit folgendem Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Installieren Sie die Adafruit_ADS1x15 Bibliothek, indem Sie die folgenden Befehle in Ihrem Raspberry Pi Terminal ausführen:
sudo pip install Adafruit-ADS1x15
  • Erstellen Sie eine Python-Skript-Datei potentiometer.py und fügen Sie 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-potentiometer import time import Adafruit_ADS1x15 # Create an ADS1115 ADC object adc = Adafruit_ADS1x15.ADS1115() # Set the gain to ±4.096V (adjust if needed) GAIN = 1 # Main loop to read and display the analog value try: while True: # Read the raw analog value from channel A3 raw_value = adc.read_adc(3, gain=GAIN) # Convert the raw value to voltage voltage = raw_value / 32767.0 * 4.096 # Assumes 4.096 V range for GAIN=1 # Print the results print("Raw Value: {} \t Voltage: {:.2f} V".format(raw_value, voltage)) # Add a delay between readings (adjust as needed) time.sleep(1) except KeyboardInterrupt: print("\nExiting the program.")
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie den folgenden Befehl im Terminal ausführen:
python3 potentiometer.py
  • Drehen Sie das Potentiometer.
  • Überprüfen Sie das Ergebnis im Terminal.
PuTTY - Raspberry Pi
Raw Value: 0 Voltage: 0.00 V Raw Value: 620 Voltage: 0.38 V Raw Value: 1024 Voltage: 0.63 V Raw Value: 1850 Voltage: 1.13 V Raw Value: 2000 Voltage: 1.22 V Raw Value: 3000 Voltage: 1.83 V Raw Value: 3270 Voltage: 2.00 V Raw Value: 4100 Voltage: 2.51 V Raw Value: 4095 Voltage: 2.51 V

Das Skript läuft in einer Endlosschleife kontinuierlich, bis Sie Ctrl + C im Terminal drücken.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ 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!