Arduino - Potentiometer
In deze tutorial leert u:
- Hoe een potentiometer werkt.
- Hoe u de potentiometer aansluit op Arduino.
- Hoe u Arduino programmeert om de waarde van de potentiometer te lezen en deze om te zetten naar andere regelbare waarden.
Hardware Required
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over Potentiometer
Een draaipotentiometer (ook wel draaishoeksensor genoemd) wordt gebruikt om handmatig de waarde van iets aan te passen (bijvoorbeeld het volume van een stereo, de helderheid van een lamp, zoomniveau van een oscilloscoop...).

Pinout
Een potentiometer heeft meestal 3 pinnen:
- GND pin: moet verbonden zijn met GND (0V)
- VCC pin: moet verbonden zijn met VCC (5V of 3,3V)
- Output pin: levert de spanning aan de input pin van de Arduino.

※ Notiz:
GND pin en VCC pin zijn omwisselbaar
Hoe Het Werkt
De as van de potentiometer is draaibaar van 0° (dichtst bij GND) tot een bovengrenshoek (dichtst bij VCC pin), genaamd ANGLE_MAX.
De spanning op de output pin varieert van de spanning bij GND tot de spanning bij VCC. De outputspanning is recht evenredig met de gedraaide hoek van de as.
- Bij een hoek van 0° is de spanning van de output pin 0V
- Bij een hoek van ANGLE_MAX is de spanning van de output pin gelijk aan de spanning van VCC
- Bij een hoek ergens tussen 0° en ANGLE_MAX geldt: output_voltage = hoek × VCC / ANGLE_MAX
※ Notiz:
De waarde van ANGLE_MAX hangt af van de fabrikant. In de praktijk houden we ons meestal niet bezig met de exacte waarde van ANGLE_MAX, behalve wanneer we de gedraaide hoek willen berekenen (zie gebruikssituaties).

Arduino - Draaipotentiometer
De Arduino-pinnen A0 tot A5 kunnen fungeren als analoge ingangen. De analoge ingang zet de spanning (tussen 0V en VCC) om naar een geheel getal (tussen 0 en 1023), het zogenaamde ADC-waarde of analoge waarde.
Door de output pin van de potentiometer te verbinden met een analoge input pin kunnen we deze analoge waarde uitlezen en dan omzetten naar een betekenisvolle waarde.
De waarde die Arduino verkrijgt is NIET de hoek, NIET de spanning, maar een geheel getal tussen 0 en 1023.
Na het uitlezen van deze geheel getalwaarde van de analoge pin, schalen we deze waarde opnieuw naar een andere schaal. Bekijk de gebruikssituaties hieronder.
Gebruikssituaties
- Omzetten naar de hoek van de potentiometer.
- Omzetten naar de spanning van de potentiometer.
- Omzetten naar een regelbare waarde (bijvoorbeeld volume van de stereo, helderheid, snelheid van een DC motor...). Dit is de meest gebruikte situatie.
Herschalingsbereik
| VAN | NAAR | |||
|---|---|---|---|---|
| Hoek | door gebruiker gedraaid | 0° | → | ANGLE_MAX |
| Spanning | van de pin van potentiometer | 0V | → | VCC |
| ADC-waarde | uitgelezen door Arduino | 0 | → | 1023 |
| Andere waarde | omgezet door Arduino | VALUE_MIN | → | VALUE_MAX |
Aansluitschema

This image is created using Fritzing. Click to enlarge image
Hoe Te Programmeren Voor Potentiometer
- Lees de waarde van een input pin die verbonden is met de output pin van de potentiometer met de functie analogRead().
- Herschalen naar de hoek van de potentiometer met de functie map().
- Herschalen naar de spanning van de potentiometer:
- Herschalen naar een regelbare waarde (bijv. volume van stereo, helderheid, snelheid van DC motor...).
- Bijvoorbeeld, herschalen naar de helderheid van een LED. Zoals in deze tutorial vermeld, kan de helderheid van een LED worden geregeld met een PWM-waarde van 0 (altijd UIT) tot 255 (altijd AAN). Daarom kunnen we de analoge waarde mappen naar de helderheid van de LED (van UIT tot de felste) als volgt:
Als u de LED wilt dimmen van het nachtlampje tot de felste stand,
※ Notiz:
De functie map() kan alleen worden gebruikt om een analoge waarde om te zetten naar een waarde van het type int of long. Als de regelbare waarde een float type is, moet u in plaats daarvan de functie floatMap() gebruiken.
floatMap() functie:
Arduino Code
Snelle Stappen
- Kopieer bovenstaande code en open deze in de Arduino IDE
- Klik op de Upload-knop in de Arduino IDE om de code naar de Arduino te uploaden

- Open de Seriële Monitor
- Draai aan de potentiometer
- Bekijk het resultaat in de Seriële Monitor
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.
Daag uzelf uit
Gebruik de potentiometer om één van de volgende projecten te maken:
- De positie van een servomotor regelen. Tip: Raadpleeg arduino - Servo Motor.
- De helderheid van een LED veranderen. Tip: Raadpleeg Arduino - Fade Led.
Extra Kennis
- GND pin en VCC pin zijn omwisselbaar. Er is geen vaste conventie voor deze twee pinnen. Als u één pin kiest als GND, dan is de andere vanzelf VCC. Let wel op het volgende: de uitgangsspanning op de output pin wordt omgekeerd wanneer u deze pinnen omwisselt.