Arduino Nano - Potentiometer
Deze tutorial legt uit hoe u de Arduino Nano gebruikt met een potentiometer, ook wel bekend als pot, trimmer, variabele weerstand, rheostaat of rotary angle sensor (draaihoek-sensor). In detail leren we:
- Hoe een potentiometer werkt.
- Hoe u een potentiometer aansluit op de Arduino Nano.
- Hoe u de Arduino Nano programmeert om de waarde van de potentiometer te lezen en om te zetten naar een bruikbare waarde.
Hardware Benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over de Potentiometer
Een rotary potentiometer, ook bekend als rotary angle sensor (draaihoek-sensor), wordt gebruikt om handmatig de waarde van iets aan te passen. Voorbeelden zijn het volume van een stereo, de helderheid van een lamp en het zoomniveau van een oscilloscoop.

De Pinout van de Potentiometer
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 levert de spanning aan de Arduino’s input pin.

※ Notiz:
De GND- en VCC-pinnen kunnen omgewisseld worden.
Hoe Het Werkt
De draaibare as van de potentiometer heeft een bereik van 0° (dichtst bij GND) tot de maximale hoek (dichtst bij de VCC-pin), aangeduid als ANGLE_MAX.
※ Notiz:
De waarde van ANGLE_MAX wordt bepaald door de fabrikant. Over het algemeen hoeft u deze waarde niet in overweging te nemen, tenzij u de draaihoek wilt berekenen (zie de use cases sectie).

Het werkingsprincipe is als volgt:
- 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 Arduino Nano leest verandert
Arduino Nano - Rotary Potentiometer
De pinnen A0 tot en met A7 van Arduino Nano kunnen fungeren als analoge ingangen. Deze analoge ingangen zetten de spanning (variërend van 0 volt tot VCC) om in gehele getallen (van 0 tot 1023), ook bekend als de ADC-waarde of analoge waarde.
We kunnen een output pin van de potentiometer verbinden met een analoge ingang spin. Hierdoor kunnen we die analoge waarde uitlezen en omzetten naar een betekenisvolle waarde.
De waarde die Arduino Nano ontvangt is geen hoek of spanning, maar een geheel getal tussen 0 en 1023.
Zodra we de gehele waarde van de analoge ingang pin hebben, kunnen we deze herschalen naar een andere waarde. Laten we de toepassingen hiervan bekijken.
Toepassingen
- Herschalen naar de hoek van de potentiometer.
- Herschalen naar de spanning van de potentiometer.
- Herschalen naar een regelbare waarde, zoals het volume van een stereo, helderheid of snelheid van een DC-motor - dit is de meest voorkomende toepassing.
Herschalingsbereik
| FROM | TO | |||
|---|---|---|---|---|
| Hoek | door gebruiker gedraaid | 0° | → | ANGLE_MAX |
| Spanning | vanaf potentiometer pin | 0V | → | VCC |
| ADC waarde | uitgelezen door Arduino | 0 | → | 1023 |
| Andere waarde | geconverteerd door Arduino | VALUE_MIN | → | VALUE_MAX |
Bedradingsschema

This image is created using Fritzing. Click to enlarge image
Hoe Programmeer Ik Voor Potentiometer
- Lees de waarde uit van een input pin, verbonden met de output pin van de potentiometer, met de analogRead() functie.
- Gebruik de map() functie om de hoek van de potentiometer aan te passen.
- Pas de spanning aan volgens het niveau van de potentiometer.
- Herschalen naar een waarde die beheersbaar of instelbaar is (bijvoorbeeld volume van een stereo, helderheid, snelheid van een DC-motor ...)
- Bijvoorbeeld: de helderheid van een LED aanpassen. Zoals in deze tutorial wordt vermeld, kan de helderheid van een LED geregeld worden met een PWM-waarde van 0 (altijd UIT) tot 255 (altijd AAN). We kunnen dus de analoge waarde mappen naar de helderheid van de LED (van UIT tot de felste stand) als volgt:
Als u de LED wilt aanpassen van zwak nachtlicht tot het helderste niveau,
※ Notiz:
De map() functie is alleen toepasbaar om een analoge waarde te herschalen naar een int of long type. Als de regelbare waarde van het type float is, dient floatMap() gebruikt te worden in plaats van map().
De floatMap() functie: Het is een functie die een lijst met floats als argument neemt en een nieuwe lijst met hetzelfde aantal elementen teruggeeft, waarbij elk element het resultaat is van het toepassen van de gegeven functie op het overeenkomende element van de oorspronkelijke lijst.
Arduino Nano Code
Snel Aan de Slag
- Kopieer de code en open deze met de Arduino IDE.
- Klik op de Upload knop in de Arduino IDE om de code naar de Arduino Nano te sturen.

- 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 Uzélf Uit
Gebruik de potentiometer om een van deze projecten te realiseren:
- Manipuleer de positie van een servomotor. Tip: Bekijk Arduino Nano - Servo Motor.
- Pas de helderheid van een LED aan. Tip: Zie Arduino Nano - Fade Led.
Extra Kennis
- De GND- en VCC-pinnen kunnen zonder specifieke conventie gewisseld worden. Wel is het belangrijk om te weten dat de spanningswaarde op de output pin wordt omgekeerd wanneer deze pinnen van plaats wisselen.