diff options
author | David A. Mellis <d.mellis@arduino.cc> | 2008-05-07 22:15:55 +0000 |
---|---|---|
committer | David A. Mellis <d.mellis@arduino.cc> | 2008-05-07 22:15:55 +0000 |
commit | 5fa29a57bec20439e386824e4b1896a68e1c9e1d (patch) | |
tree | 6254c32042102e4ecb21d1a2729a26332e0df3b4 | |
parent | d98fdd989fcc598401e89e5095cfcdce3baff9b8 (diff) |
Adding a couple of Servo examples from Wiring (slightly modified).
-rwxr-xr-x | libraries/Servo/Servo.cpp | 3 | ||||
-rwxr-xr-x | libraries/Servo/Servo.h | 1 | ||||
-rw-r--r-- | libraries/Servo/examples/Knob/Knob.pde | 22 | ||||
-rw-r--r-- | libraries/Servo/examples/Sweep/Sweep.pde | 29 |
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 + } +} |