Arduino - Servo Motor aangestuurd door Potentiometer
In een vorige tutorial hebben we geleerd hoe een potentiometer een servo motor aanstuurt. In deze handleiding gaan we leren hoe u een servo motor laat draaien op basis van de uitgangswaarde van de potentiometer.
Hardware Benodigdheden
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 Servo Motor en Potentiometer
Als u nog niet bekend bent met servo motor en potentiometer (pinout, werking, programmeren, enz.), bekijk dan de volgende tutorials:
Aansluitdiagram

This image is created using Fritzing. Click to enlarge image
Hoe te Programmeren
- Leest de waarde van de potentiometer (waarde tussen 0 en 1023)
int analogValue = analogRead(A0);
- Schaalt deze naar een hoek (waarde tussen 0 en 180)
int angle = map(analogValue, 0, 1023, 0, 180);
- Stelt de servo-positie in op basis van de hoek
myServo.write(angle);
Arduino Code
/*
* Deze Arduino code is ontwikkeld door newbiely.nl
* Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld.
* Voor volledige instructies en schema's, bezoek:
* https://newbiely.nl/tutorials/arduino/arduino-servo-motor-controlled-by-potentiometer
*/
#include <Servo.h>
Servo myServo; // create servo object to control a servo
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
myServo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
// reads the value of the potentiometer (value between 0 and 1023)
int analogValue = analogRead(A0);
// scales it to use it with the servo (value between 0 and 180)
int angle = map(analogValue, 0, 1023, 0, 180);
// sets the servo position according to the scaled value
myServo.write(angle);
// print out the value
Serial.print("Analog: ");
Serial.print(analogValue);
Serial.print(", Angle: ");
Serial.println(angle);
delay(100);
}
Snelle Stappen
- Verbind de Arduino met uw pc via de USB-kabel
- Open de Arduino IDE, selecteer het juiste board en poort
- Kopieer de 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
- Zie de servo motor draaien
- Bekijk het resultaat in de Seriële Monitor
COM6
Analog: 0, Angle: 0
Analog: 85, Angle: 14
Analog: 201, Angle: 35
Analog: 286, Angle: 50
Analog: 370, Angle: 65
Analog: 444, Angle: 78
Analog: 521, Angle: 91
Analog: 608, Angle: 106
Analog: 690, Angle: 121
Analog: 793, Angle: 139
Analog: 907, Angle: 159
Analog: 1023, Angle: 180
Analog: 1023, Angle: 180
Autoscroll
Clear output
9600 baud
Newline
Code Uitleg
Lees de regel-voor-regel uitleg in de commentaarregels van de broncode!
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.