Skeleton:
#include < Servo.h >
int ledPinRed = 16; // LED we’ll turn on while program runs. Helps with troubleshooting.
int tiggerSwitch = 8; // The switch to activate the machine
int posDoorUp = 120; // Variable storage for servo positioning, used for Door opening
int posSwitchUp = 180; // Variable storaged for servo, used for swing arm up.
int posSwitchDn = 1; // Variable storage for servo, used for swing arm down.
int posDoorDn = 80; // Variable storage for servo, used for Door Closing.
Servo servoDoor; // Create Object for Door Servo.
Servo servoSwitch; //Create object for Switch servo.
int ledPinGreen = 14;
int ledPinBlue = 15;
void setup () {
servoSwitch.attach(10); //setup Switch servo on pin 10
servoDoor.attach(9); //setup Door servo on pin 9.
pinMode(ledPinGreen,OUTPUT);
digitalWrite(ledPinGreen, HIGH);
pinMode(ledPinBlue, OUTPUT);
digitalWrite(ledPinBlue, HIGH);
pinMode(ledPinRed, OUTPUT); // setup pin 8 as an output.
digitalWrite(ledPinRed, HIGH);
pinMode(tiggerSwitch, INPUT); //setup pin 14 as an input for the Switch.
servoSwitch.write(posSwitchDn);
servoDoor.write(posDoorDn);
}
void loop() {
digitalWrite (ledPinRed, HIGH); //Turn on LED so we know things are running
if( digitalRead(tiggerSwitch) == LOW ) { //test if switch has been flipped, if so do next
servoDoor.write(posDoorUp);
delay(300);
servoSwitch.write(posSwitchUp);
delay(500);
servoSwitch.write(posSwitchDn);
delay(1000);
servoDoor.write(posDoorDn);
}
else {
digitalWrite (ledPinGreen, HIGH);
delay(500);
digitalWrite (ledPinGreen, LOW);
delay(500);
}
delay(500);
digitalWrite (ledPinRed, LOW); //Turn off LED to cause a Blinking action. if LED is on longer then off
delay(500); //if LED stays on longer then off, it ran through code
}