 {
   int switchMid2 = switchTo + switchRange * 0.28;   // Almost on the switch
 
-  delay(50);
   Sweep(lidServo, lidFrom, lidTo, 1);
   delay(1);
   Sweep(switchServo, switchFrom, switchMid2, 1);
   delay(450);
   Sweep(switchServo, switchMid2, switchTo, 30000);
-  delay(1);
-  Sweep(switchServo, switchTo, switchFrom, 1);
-  delay(200);
-  Sweep(lidServo, lidTo, lidFrom, 1);
-  delay(400);
+  delay(100);
+  Sweep(switchServo, switchTo, switchFrom, 1);
+  delay(100);
+  Sweep(lidServo, lidTo, lidFrom, 1);
 }
 
 void Sequence3()
 {
-  int switchMid2 = switchTo + switchRange * 0.05;   // Almost on the switch
-
-  delay(50);
-  Sweep(lidServo, lidFrom, lidTo, 1);
-  delay(200);
-  Sweep(switchServo, switchFrom, switchTo, 1);
-  delay(50);
-  Sweep(switchServo, switchTo, switchMid2, 1);
-  delay(50);
-  Sweep(switchServo, switchMid2, switchTo, 1);
-  delay(50);
-  Sweep(switchServo, switchTo, switchMid2, 1);
-  delay(50);
-  Sweep(switchServo, switchMid2, switchTo, 1);
-  delay(50);
-  Sweep(switchServo, switchTo, switchMid2, 1);
-  delay(50);
-  Sweep(switchServo, switchMid2, switchTo, 1);
-  delay(50);
-  Sweep(switchServo, switchTo, switchMid2, 1);
-  delay(50);
-  Sweep(switchServo, switchMid2, switchTo, 1);
-  delay(50);
-  Sweep(switchServo, switchTo, switchMid2, 1);
-  delay(50);
-  Sweep(switchServo, switchMid2, switchTo, 1);
-  delay(50);
-  Sweep(switchServo, switchTo, switchMid2, 1);
-  delay(50);
-  Sweep(switchServo, switchMid2, switchTo, 1);
-  delay(50);
-  Sweep(switchServo, switchTo, switchMid2, 1);
-  delay(50);
-  Sweep(switchServo, switchMid2, switchTo, 1);
-  delay(50);
-  Sweep(switchServo, switchTo, switchFrom, 1);
-  delay(200);
-  Sweep(lidServo, lidTo, lidFrom, 1);
-  delay(400);
+  int switchMid2 = switchTo + switchRange * 0.10;   // Almost on the switch
+
+  Sweep(lidServo, lidFrom, lidTo, 1);
+  delay(100);
+  Sweep(switchServo, switchFrom, switchTo, 1);
+  delay(60);
+  Sweep(switchServo, switchTo, switchMid2, 1);
+  delay(60);
+  Sweep(switchServo, switchMid2, switchTo, 1);
+  delay(60);
+  Sweep(switchServo, switchTo, switchMid2, 1);
+  delay(60);
+  Sweep(switchServo, switchMid2, switchTo, 1);
+  delay(60);
+  Sweep(switchServo, switchTo, switchMid2, 1);
+  delay(60);
+  Sweep(switchServo, switchMid2, switchTo, 1);
+  delay(60);
+  Sweep(switchServo, switchTo, switchMid2, 1);
+  delay(60);
+  Sweep(switchServo, switchMid2, switchTo, 1);
+  delay(60);
+  Sweep(switchServo, switchTo, switchMid2, 1);
+  delay(60);
+  Sweep(switchServo, switchMid2, switchTo, 1);
+  delay(60);
+  Sweep(switchServo, switchTo, switchMid2, 1);
+  delay(60);
+  Sweep(switchServo, switchMid2, switchTo, 1);
+  delay(60);
+  Sweep(switchServo, switchTo, switchMid2, 1);
+  delay(60);
+  Sweep(switchServo, switchMid2, switchTo, 1);
+  delay(80);
+  Sweep(switchServo, switchTo, switchFrom, 1);
+  delay(100);
+  Sweep(lidServo, lidTo, lidFrom, 1);
 }
 
 void Sequence4()
 {
-  int lidMid4 = lidFrom  + lidRange * 0.85;
-
-  delay(50);
-  Sweep(lidServo, lidFrom, lidTo, 1);
-  delay(200);
-  Sweep(switchServo, switchFrom, switchTo, 1);
-  delay(450);
+  int lidMid4 = lidFrom  + lidRange * 0.75;
+
+  Sweep(lidServo, lidFrom, lidTo, 1);
+  delay(100);
+  Sweep(switchServo, switchFrom, switchTo, 1);
+  delay(300);
   Sweep(lidServo, lidTo, lidMid4, 1000);
   delay(2000);
   Sweep(lidServo, lidMid4, lidTo, 1000);
-  delay(2000);
-  Sweep(switchServo, switchTo, switchFrom, 1);
-  delay(200);
-  Sweep(lidServo, lidTo, lidFrom, 1);
-  delay(400);
+  delay(1000);
+  Sweep(switchServo, switchTo, switchFrom, 1);
+  delay(100);
+  Sweep(lidServo, lidTo, lidFrom, 1);
 }
 
 void Sequence5()

    
  randomSeed(getSeedFromAnalogPin(A5));

  digitalWrite(6, HIGH);  // turn on motor power
}  

unsigned long getSeedFromAnalogPin(int pin)
{
  // From http://www.utopiamechanicus.com/article/better-arduino-random-numbers/
  unsigned long seed=0, count=32;
  while (--count)
    seed = (seed<<1) | (analogRead(pin)&1);
  return seed;
}

void loop() 

Servo lidServo;  
                 
int lidFrom = 1200; // adjustable
int lidTo = 1850; // fixed
int lidRange = lidTo - lidFrom;

int switchFrom = 1800; // fixed
