Raspberry Pi - Potentiometer

Deze tutorial laat u zien hoe u de Raspberry Pi gebruikt in combinatie met een potentiometer, die ook bekend staat als potmeter, trimmer, variabele weerstand, rheostaat, of rotary angle sensor (draaihoek sensor). We leren in detail:

Hardware Benodigd

1×Raspberry Pi 5
1×Potentiometer
1×(Alternatief) Potentiometer Kit
1×(Alternatief) Potentiometer Module met Knop
1×ADS1115 ADC-Module
1×Breadboard (experimenteerprint)
1×Jumper Draden
1×(Aanbevolen) Schroefklem Block Shield voor Raspberry Pi
1×(Aanbevolen) Raspberry Pi Prototyping Basisplaat & Breadboard Kit
1×(Aanbevolen) HDMI-Touchscreen-Monitor voor Raspberry Pi

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over Potentiometer

Een roterende potentiometer, ook bekend als een rotary angle sensor (draaihoek sensor), wordt gebruikt om handmatig de waarde van een parameter aan te passen. Voorbeelden hiervan zijn het volume van een stereo, de helderheid van een lamp, en het zoomniveau van een oscilloscoop.

Potentiometer pinout

De Potentiometer Pinout

Een potentiometer heeft doorgaans drie pinnen:

  • De GND pin moet worden verbonden met ground (0V)
  • De VCC pin moet verbonden worden met VCC (5V of 3.3V)
  • De output pin stuurt de spanning naar de input pin van de Raspberry Pi.
Potentiometer pinout

※ Notiz:

De GND pin en de VCC pin kunnen omgewisseld worden.

Hoe Het Werkt

De draaibare as van de potentiometer kan worden gedraaid van 0°, wat het dichtst bij GND is, tot een maximale hoek, dicht bij de VCC pin. Deze maximale hoek wordt aangegeven als ANGLE_MAX.

※ Notiz:

De waarde van ANGLE_MAX wordt bepaald door de fabrikant. Over het algemeen is dit niet relevant, behalve wanneer we de hoek van de rotatie willen berekenen (zie de use cases sectie).

Hoe een potentiometer werkt

Het werkingsprincipe:

  • Een gebruiker draait aan de as van de potentiometer
  • ⇒ De hoek van de potentiometer verandert
  • ⇒ De weerstand van de potentiometer verandert
  • ⇒ De spanning op de output pin van de potentiometer verandert
  • ⇒ De analoge waarde die door de Raspberry Pi wordt uitgelezen verandert

Raspberry Pi - Potentiometer

De Raspberry Pi heeft geen ingebouwde ADC (Analog to Digital Converter). We hebben een externe ADC module nodig (bijv. de ADS1115 module) om de analoge spanning van de potentiometer uit te lezen.

  • De potentiometer wordt aangesloten op de ADS1115 module.
  • De ADS1115 module zet de spanning van de potentiometer om in een ADC waarde.
  • De Raspberry Pi communiceert via de I2C interface met de ADS1115 module om de ADC waarde uit te lezen.

De ADS1115 module is een ADC converter module met hoge resolutie van 16 bit. Hij zet een spanningsbereik van 0V tot 3.3V om in een ADC-waarde van 0 tot 65535.

Zodra we de ADC-waarde hebben gelezen, kunnen we deze herschalen naar een andere waarde. Enkele voorbeeldtoepassingen:

  • Herschaal terug naar de spanning van de potentiometer.
  • Herschaal naar het volume van een stereo
  • Herschaal naar de helderheid van een LED
  • Herschaal naar de snelheid van een DC motor
  • Herschaal naar de hoek van een servo motor

Herschaal Bereik

VAN NAAR
Hoekgedraaid door gebruikerANGLE_MAX
Spanningvan potentiometer pin 0V3.3
ADC waardeuitgelezen door Raspberry Pi 065536
Andere waardeomgezet door Raspberry Pi VALUE_MINVALUE_MAX

Bedradingsschema

  • Raspberry Pi Potentiometer bedrading zonder breadboard (experimenteerprint)
Raspberry Pi Potentiometer bedrading

This image is created using Fritzing. Click to enlarge image

  • Raspberry Pi Potentiometer bedrading met breadboard
Raspberry Pi ADS1115 bedrading

This image is created using Fritzing. Click to enlarge image

Hoe Programma te Schrijven voor Raspberry Pi om waarde van Potentiometer uit te lezen

Snelle Stappen

  • Zorg ervoor dat u Raspbian of een ander Raspberry Pi compatibel besturingssysteem op uw Pi hebt geïnstalleerd.
  • Zorg ervoor dat uw Raspberry Pi is verbonden met hetzelfde lokale netwerk als uw pc.
  • Zorg ervoor dat uw Raspberry Pi verbinding heeft met internet als u bibliotheken moet installeren.
  • Als u voor het eerst een Raspberry Pi gebruikt, zie dan hoe u de Raspberry Pi instelt
  • Verbind uw pc met de Raspberry Pi via SSH met behulp van de ingebouwde SSH-client op Linux en macOS of PuTTY op Windows. Zie hoe u uw pc verbindt met de Raspberry Pi via SSH.
  • Controleer of de RPi.GPIO bibliotheek geïnstalleerd is. Indien niet, installeer deze met het volgende commando:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Installeer de Adafruit_ADS1x15 bibliotheek door de volgende commando’s in de terminal van de Raspberry Pi uit te voeren:
sudo pip install Adafruit-ADS1x15
  • Maak een Python scriptbestand aan met de naam potentiometer.py en voeg de volgende code toe:
# Deze Raspberry Pi code is ontwikkeld door newbiely.nl # Deze Raspberry Pi code wordt zonder enige beperking aan het publiek beschikbaar gesteld. # Voor volledige instructies en schema's, bezoek: # https://newbiely.nl/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.")
  • Sla het bestand op en voer het Python script uit door het volgende commando in de Terminal te typen:
python3 potentiometer.py
  • Draai aan de potentiometer.
  • Bekijk het resultaat in de 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

Het script draait continu in een oneindige lus totdat u Ctrl + C indrukt in de terminal.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!