Last active
October 28, 2015 23:13
-
-
Save InfamousVague/aa3badc69933e3e096fd to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#define RELAY_ON 0 | |
#define RELAY_OFF 1 | |
#define Relay_1 2 // Arduino Digital I/O pin number | |
#define Relay_2 3 | |
#define Relay_3 4 | |
#define Relay_4 5 | |
#define Relay_5 6 // Smoke | |
#define Relay_6 7 | |
#define Relay_7 8 | |
#define Relay_8 9 | |
const int IR_Pin = 10; | |
int IR_State = 0; | |
void setup() { | |
//-------( Initialize Pins so relays are inactive at reset)---- | |
digitalWrite(Relay_1, RELAY_OFF); | |
digitalWrite(Relay_2, RELAY_OFF); | |
digitalWrite(Relay_3, RELAY_OFF); | |
digitalWrite(Relay_4, RELAY_OFF); | |
digitalWrite(Relay_5, RELAY_OFF); | |
digitalWrite(Relay_6, RELAY_OFF); | |
digitalWrite(Relay_7, RELAY_OFF); | |
digitalWrite(Relay_8, RELAY_OFF); | |
//---( THEN set pins as outputs )---- | |
pinMode(Relay_1, OUTPUT); | |
pinMode(Relay_2, OUTPUT); | |
pinMode(Relay_3, OUTPUT); | |
pinMode(Relay_4, OUTPUT); | |
pinMode(Relay_5, OUTPUT); | |
pinMode(Relay_6, OUTPUT); | |
pinMode(Relay_7, OUTPUT); | |
pinMode(Relay_8, OUTPUT); | |
pinMode(IR_Pin, INPUT); | |
delay(4000); //Check that all relays are inactive at Reset | |
}//--(end setup )--- | |
void loop() { | |
Serial.begin(9600); | |
// Only allow us to run our open function if the coffin is open | |
boolean coffin_open = false; | |
boolean taskRunning = false; | |
IR_State = digitalRead(IR_Pin); | |
if (IR_State == HIGH) { | |
/* Runs this script whenever the IR thing is active. | |
* It is hard to tell when we want to run this without seeing how sensitive the IR sensor is, | |
* this might need to be changed later on | |
*/ | |
// Open Coffin | |
// Smoke On | |
digitalWrite(Relay_5, RELAY_ON); | |
// Door Open | |
digitalWrite(Relay_1, RELAY_ON); | |
delay(3000); | |
digitalWrite(Relay_1, RELAY_OFF); | |
// Head Rise | |
digitalWrite(Relay_2, RELAY_ON); | |
delay(3500); | |
digitalWrite(Relay_2, RELAY_OFF); | |
// Close Coffin | |
// Smoke Off | |
digitalWrite(Relay_5, RELAY_OFF); | |
delay(6000); | |
// Lower Head | |
digitalWrite(Relay_3, RELAY_ON); | |
delay(3500); | |
digitalWrite(Relay_3, RELAY_OFF); | |
// Close Door | |
digitalWrite(Relay_4, RELAY_ON); | |
delay(3000); | |
digitalWrite(Relay_4, RELAY_OFF); | |
// Wait 3 seconds before open_coffin can be called again. (optional) | |
delay(3000); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment