/* Sweep
by BARRAGAN <http://barraganstudio.com>
This example code is in the public domain.
modified 8 Nov 2013
by Scott Fitzgerald
http://www.arduino.cc/en/Tutorial/Sweep
*/
#include <Servo.h>
Servo servo1;
Servo servo2;
int i = 0;
void setup() {
Serial.begin(9600);
servo1.attach(8);
servo2.attach(9);
}
int sweep_time = 1000; // 70 * 50ms = 3500
int head_degrees = 126;
int body_degrees = 126;
int millis_per_head_move = sweep_time / head_degrees;
int millis_per_body_move = sweep_time / body_degrees;
void loop() {
int i = 0; int j = 0;
unsigned long now_millis = 0;
unsigned long start_sweep = millis();
while ( millis() - start_sweep < sweep_time ) {
now_millis = millis() - start_sweep;
if (now_millis % millis_per_head_move == 0 ) servo1.write(i++);
if (now_millis % millis_per_body_move == 0 ) servo2.write(j++);
delay(1);
}
start_sweep = millis();
while ( millis() - start_sweep < sweep_time ) {
now_millis = millis() - start_sweep;
if (now_millis % millis_per_head_move == 0) servo1.write(i--);
if (now_millis % millis_per_body_move == 0) servo2.write(j--);
delay(1);
}
}