aboutsummaryrefslogtreecommitdiff
path: root/libraries/Servo/examples/Knob/Knob.ino
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/Servo/examples/Knob/Knob.ino')
-rw-r--r--libraries/Servo/examples/Knob/Knob.ino22
1 files changed, 22 insertions, 0 deletions
diff --git a/libraries/Servo/examples/Knob/Knob.ino b/libraries/Servo/examples/Knob/Knob.ino
new file mode 100644
index 0000000..886e107
--- /dev/null
+++ b/libraries/Servo/examples/Knob/Knob.ino
@@ -0,0 +1,22 @@
+// Controlling a servo position using a potentiometer (variable resistor)
+// by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>
+
+#include <Servo.h>
+
+Servo myservo; // create servo object to control a servo
+
+int potpin = 0; // analog pin used to connect the potentiometer
+int val; // variable to read the value from the analog pin
+
+void setup()
+{
+ myservo.attach(9); // attaches the servo on pin 9 to the servo object
+}
+
+void loop()
+{
+ val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
+ val = map(val, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180)
+ myservo.write(val); // sets the servo position according to the scaled value
+ delay(15); // waits for the servo to get there
+}