From 5fa29a57bec20439e386824e4b1896a68e1c9e1d Mon Sep 17 00:00:00 2001
From: "David A. Mellis" <d.mellis@arduino.cc>
Date: Wed, 7 May 2008 22:15:55 +0000
Subject: Adding a couple of Servo examples from Wiring (slightly modified).

---
 libraries/Servo/Servo.cpp                |  3 ++-
 libraries/Servo/Servo.h                  |  1 -
 libraries/Servo/examples/Knob/Knob.pde   | 22 ++++++++++++++++++++++
 libraries/Servo/examples/Sweep/Sweep.pde | 29 +++++++++++++++++++++++++++++
 4 files changed, 53 insertions(+), 2 deletions(-)
 create mode 100644 libraries/Servo/examples/Knob/Knob.pde
 create mode 100644 libraries/Servo/examples/Sweep/Sweep.pde

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 
+  } 
+} 
-- 
cgit v1.2.3-18-g5258