aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid A. Mellis <d.mellis@arduino.cc>2008-05-07 22:15:55 +0000
committerDavid A. Mellis <d.mellis@arduino.cc>2008-05-07 22:15:55 +0000
commit5fa29a57bec20439e386824e4b1896a68e1c9e1d (patch)
tree6254c32042102e4ecb21d1a2729a26332e0df3b4
parentd98fdd989fcc598401e89e5095cfcdce3baff9b8 (diff)
Adding a couple of Servo examples from Wiring (slightly modified).
-rwxr-xr-xlibraries/Servo/Servo.cpp3
-rwxr-xr-xlibraries/Servo/Servo.h1
-rw-r--r--libraries/Servo/examples/Knob/Knob.pde22
-rw-r--r--libraries/Servo/examples/Sweep/Sweep.pde29
4 files changed, 53 insertions, 2 deletions
diff --git a/libraries/Servo/Servo.cpp b/libraries/Servo/Servo.cpp
index c88e73a..4d04145 100755
--- a/libraries/Servo/Servo.cpp
+++ b/libraries/Servo/Servo.cpp
@@ -1,5 +1,6 @@
-#include <Servo.h>
#include <avr/interrupt.h>
+#include <wiring.h>
+#include <Servo.h>
/*
Servo.h - Hardware Servo Timer Library
diff --git a/libraries/Servo/Servo.h b/libraries/Servo/Servo.h
index 780367d..59f04d9 100755
--- a/libraries/Servo/Servo.h
+++ b/libraries/Servo/Servo.h
@@ -22,7 +22,6 @@
*/
#include <inttypes.h>
-#include <wiring.h>
class Servo
{
diff --git a/libraries/Servo/examples/Knob/Knob.pde b/libraries/Servo/examples/Knob/Knob.pde
new file mode 100644
index 0000000..886e107
--- /dev/null
+++ b/libraries/Servo/examples/Knob/Knob.pde
@@ -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
+}
diff --git a/libraries/Servo/examples/Sweep/Sweep.pde b/libraries/Servo/examples/Sweep/Sweep.pde
new file mode 100644
index 0000000..52e6056
--- /dev/null
+++ b/libraries/Servo/examples/Sweep/Sweep.pde
@@ -0,0 +1,29 @@
+// Sweep
+// by BARRAGAN <http://barraganstudio.com>
+
+#include <Servo.h>
+
+Servo myservo; // create servo object to control a servo
+ // a maximum of eight servo objects can be created
+
+int pos = 0; // variable to store the servo position
+
+void setup()
+{
+ myservo.attach(9); // attaches the servo on pin 9 to the servo object
+}
+
+
+void loop()
+{
+ for(pos = 0; pos < 180; pos += 1) // goes from 0 degrees to 180 degrees
+ { // in steps of 1 degree
+ myservo.write(pos); // tell servo to go to position in variable 'pos'
+ delay(15); // waits 15ms for the servo to reach the position
+ }
+ for(pos = 180; pos>=1; pos-=1) // goes from 180 degrees to 0 degrees
+ {
+ myservo.write(pos); // tell servo to go to position in variable 'pos'
+ delay(15); // waits 15ms for the servo to reach the position
+ }
+}