//Works 12/14 at 1134
#include <Servo.h>
Servo myServo;
const byte PIRL = 2;
const byte PIRC = 4; const byte PIRR = 7; bool Lstatus = LOW;
bool Cstatus = LOW; bool Rstatus = LOW; int Angle[] = { 20, 55, 90, 125, 160 };
int Pos; unsigned long CurrentTime; void setup () { myServo.attach (9); pinMode
(PIRL, INPUT); pinMode (PIRC, INPUT); pinMode (PIRR, INPUT); pinMode (12, OUTPUT);
pinMode (11, OUTPUT); pinMode (10, OUTPUT); delay ( 2000 ) ; } void loop () {
CurrentTime = millis (); Sense (); Position (); Move () ; } void Sense ()
{ Lstatus = digitalRead (PIRL); Cstatus = digitalRead (PIRC); Rstatus = digitalRead (PIRR);
if (Lstatus == HIGH) digitalWrite (12, HIGH); else digitalWrite (12, LOW); if (Cstatus
== HIGH) digitalWrite (11, HIGH); else digitalWrite (11, LOW); if (Rstatus == HIGH)
digitalWrite (10, HIGH); else digitalWrite (10, LOW); } void Position () { if (Lstatus
== LOW && Cstatus == LOW && Rstatus == LOW) Pos = Angle[2]; if (Lstatus == HIGH
&& Cstatus ==LOW &&Rstatus == LOW) { Pos= Angle[0]; } if (Lstatus == HIGH
&& Cstatus == HIGH && Rstatus
== LOW) { Pos = Angle[1]; }
if (Lstatus == HIGH && Cstatus == HIGH && Rstatus == HIGH) { Pos = Angle[2];
} if (Lstatus == LOW && Cstatus == HIGH && Rstatus == LOW) { Pos = Angle[2];
} if (Lstatus == LOW && Cstatus == HIGH && Rstatus == HIGH) { Pos =
Angle[3]; } if (Lstatus == LOW && Cstatus == LOW &&
Rstatus == HIGH) { Pos = Angle[4]; } } void
Move () { myServo.write (Pos); }
[edit] It compiles! (compared to the "skull code" in post #18, whose compiler allows separation between nearly any command or variable, this IDE (Eclipse, probably) does not like some separations... starting with the #include line and object creation).