#include Servo waist,front,back; #define wCenter 80 #define fCenter 70 #define bCenter 70 #define wSwing 40 #define fSwing 40 #define bSwing 30 #define FORWARD 0 #define BACKWARD 1 #define LEFT 2 #define RIGHT 3 #define STOP 4 int wPos,fPos,bPos,cycle,dir; long start; void setup() { Serial.begin(9600); waist.attach(13); front.attach(12); back.attach(11); wPos=wCenter; fPos=fCenter; bPos=bCenter; dir=FORWARD; cycle=0; start=millis(); Serial.println("iWaist,iFront,iBack"); } void doBackward(int cycle) { if (cycle<12) wPos=wCenter+wSwing; else if (cycle<37) wPos=wCenter-wSwing; else if (cycle<62) wPos=wCenter+wSwing; else if (cycle<87) wPos=wCenter-wSwing; else wPos=wCenter+wSwing; if (cycle<25) fPos=fCenter+fSwing; else if (cycle<50) fPos=fCenter-fSwing; else if (cycle<75) fPos=fCenter+fSwing; else fPos=fCenter-fSwing; if (cycle<25) bPos=bCenter-bSwing; else if (cycle<50) bPos=bCenter+bSwing; else if (cycle<75) bPos=bCenter-bSwing; else bPos=bCenter+bSwing; } void doForward(int cycle) { doBackward(100-cycle); } void doLeft(int cycle) { doBackward(100-cycle); if (wPos>wCenter) wPos=wCenter; } void doRight(int cycle) { doBackward(100-cycle); if (wPos