#include <slowServo.h>
#include <mapper.h>
// THIS CODE RELIES ON THE LC_baseTools & LC_slowServo libraries
// that can be installed using the Arduino library manager.
slowServo aServo(19); // Create a slow servo given a pin number.
mapper potToDelayMapper(0,4095,0,100); // Set up a mapper from a POT to 0..100 Ms delay.
mapper potToAngleMapper(0,4095,0,180); // Set up a mapper from a POT to span 180 deg.
timeObj readTimer(10);
void setup() {
aServo.begin(); // You need to call begin for each servo.
pinMode(4,OUTPUT); // We need an LED to blink. Doesn't everyone?
}
void loop() {
idle(); // idle(); Runs everything.
if (readTimer.ding()) { // If the time is up..
aServo.setMsPerDeg(potToDelayMapper.map(analogRead(32))); // Read position POT, scale, set the sevo.
aServo.setDeg(potToAngleMapper.map(analogRead(33))); // Read delay POT, scale, set the sevo.
digitalWrite(4,aServo.moving()); // Yeah, we know when it's running. Kinda'..
readTimer.start();
}
}
An example of the slowServo class.
Delay
Position