Table of Contents
Servo Control
The servo is a (somewhat) precisely positionable motor. Pulses sent from the Arduino down the control wire will swing the servo's arm to a set position, depending on the pulse width. Sounds messy, right? Actually it's pretty simple, thanks to the Servo library, which does all the heavy lifting for you!
Note: The wire colors in the diagram don't match the actual servo in your kit. The wires map out like so:
- Diagram black = servo brown = ground
- Diagram red = servo red = +5V
- Diagram yellow = servo orange = control signal
Breadboard Layout
Code
- servo_control.ino
#include <Servo.h> int ledPin = 11; int potPin = 0; int brt = 0; int angle = 0; Servo myservo; void setup() { // put your setup code here, to run once: pinMode(ledPin, OUTPUT); Serial.begin(9600); myservo.attach(10); } void loop() { // put your main code here, to run repeatedly: brt = map(analogRead(potPin), 0, 1023, 0, 255); angle = map(analogRead(potPin), 0, 1023, 0, 180); brt = constrain(brt, 0, 255); angle = constrain(angle, 0, 180); Serial.print("brt="); Serial.println(brt); Serial.print("angle="); Serial.println(angle); analogWrite(ledPin, brt); myservo.write(angle); }
