//
//THIS EXAMPLE SHOWS A SERIES OF PUZZLES BEING SOLVED TRIGGERING OUTPUTS
// defitions
///
// TO CHANGE OUTPUTS CHANGE THESE PINS TO CORRESPOND WITH INPUTS
// OUT1 "TRIGGERED OUTPUT" IS TIED TO IN1 "SWITCH NO. 1"
// OUT1 IS ON PIN 2
// OUT2 IS ON PIN 3 ETC...
// IE. SWITCH 1 TRIGGERING OUTPUT 5 LOOKS LIKE "int OUT1 = 6"
// SWITCH 5 TRIGGERING OUTPUT 7 LOOKS LIKE "int OUT5 = 8"
int OUT1 = 23;
int OUT2 = 26;
int OUT3 = 22;
int OUT4 = 28;
int OUT5 = 29;
int OUT6 = 25;
int OUT7 = 24;
int OUT8 = 27;
//define pin 10 as audio video trigger out
#define audvid 30
int ESTOP = A0;
//
int IN1 = 41;
int IN2 = 42;
int IN3 = 43;
int IN4 = 44;
int IN5 = 45;
int IN6 = 46;
int IN7 = 47;
int IN8 = 48;
//
int val1;
int val2;
int val3;
int val4;
int val5;
int val6;
int val7;
int val8;
int stopval;
//
int set1;
int set2;
int set3;
int set4;
int set5;
int set6;
int set7;
int set8;
int stopset1;
int buttonCount1 = 0;
int buttonCount2 = 0;
int buttonCount3 = 0;
int buttonCount4 = 0;
int buttonCount5 = 0;
int buttonCount6 = 0;
int buttonCount7 = 0;
int buttonCount8 = 0;
int stopCount1 = 0;
//
void setup () {
//
pinMode (OUT1, OUTPUT);
pinMode (OUT2, OUTPUT);
pinMode (OUT3, OUTPUT);
pinMode (OUT4, OUTPUT);
pinMode (OUT5, OUTPUT);
pinMode (OUT6, OUTPUT);
pinMode (OUT7, OUTPUT);
pinMode (OUT8, OUTPUT);
//
pinMode (IN1, INPUT_PULLUP);
pinMode (IN2, INPUT_PULLUP);
pinMode (IN3, INPUT_PULLUP);
pinMode (IN4, INPUT_PULLUP);
pinMode (IN5, INPUT_PULLUP);
pinMode (IN6, INPUT_PULLUP);
pinMode (IN7, INPUT_PULLUP);
pinMode (IN8, INPUT_PULLUP);
//
pinMode(audvid, OUTPUT);
pinMode(ESTOP, INPUT_PULLUP);
digitalWrite(ESTOP, HIGH);
//
Serial. begin(115200);
//
delay(100);
Serial.println("PROGRAM START");
}
//
void loop () {
val1 = digitalRead (IN1);
val2 = digitalRead (IN2);
val3 = digitalRead (IN3);
val4 = digitalRead (IN4);
val5 = digitalRead (IN5);
val6 = digitalRead (IN6);
val7 = digitalRead (IN7);
val8 = digitalRead (IN8);
stopval = digitalRead (ESTOP);
if (( stopval == LOW) + stopset1 >=1){
if (stopCount1 == 0){
stopCount1++;
digitalWrite(OUT3, HIGH);
stopset1++;
Serial.println("////////ROOM ABORTED////////");
Serial.println("////////ROOM ABORTED////////");
}
else {
delay(50);
digitalWrite(OUT3, LOW);
}
}
/////////////////////////////////////////
if (( val1 == LOW) + set1 >=1) {
if (buttonCount1 == 0){
buttonCount1++;
digitalWrite (OUT1, HIGH);
set1++;
digitalWrite (audvid, HIGH);
Serial.println("PUZZLE SPOT 1 COMPLETED");
Serial.println("PUZZLE 1 SOLVED");
}
else {
delay(10);
//for intermitent output insert digitalWrite(OUT1, LOW);
digitalWrite (audvid, LOW);
}
}
else {
buttonCount1 = 0;
}
/////////////////////////////////////////
if (( val2 == LOW) + set2 >=1) {
if (buttonCount2 == 0){
buttonCount2++;
digitalWrite (OUT2, HIGH);
set2++;
digitalWrite (audvid, HIGH);
Serial.println("PUZZLE SPOT 2 COMPLETED");
Serial.println("PUZZLE 2 SOLVED");
}
else {
delay(10);
digitalWrite (audvid, LOW);
}
}
else {
buttonCount2 = 0;
}
/////////////////////////////////////////
if (( val3 == LOW) + set3 >=1) {
if (buttonCount3 == 0){
buttonCount3++;
digitalWrite (OUT3, HIGH);
set3++;
digitalWrite (audvid, HIGH);
Serial.println("PUZZLE SPOT 3 COMPLETED");
Serial.println("/////////CONGRATULATIONS!!!//////////");
Serial.println("////////////YOU WON!!////////////////");
}
else {
delay(10);
digitalWrite (audvid, LOW);
}
}
else {
buttonCount3 = 0;
}
/////////////////////////////////////////
if (( val4 == LOW) + set4 >=1) {
if (buttonCount4 == 0){
buttonCount4++;
digitalWrite (OUT4, HIGH);
set4++;
digitalWrite (audvid, HIGH);
Serial.println("PUZZLE SPOT 4 COMPLETED");
Serial.println("PUZZLE 6 SOLVED");
}
else {
delay(10);
digitalWrite (audvid, LOW);
}
}
else {
buttonCount4 = 0;
}
/////////////////////////////////////////
if (( val5 == LOW) + set5 >=1) {
if (buttonCount5 == 0){
buttonCount5++;
digitalWrite (OUT5, HIGH);
set5++;
digitalWrite (audvid, HIGH);
Serial.println("PUZZLE SPOT 5 COMPLETED");
Serial.println("PUZZLE 3 SOLVED");
}
else {
delay(10);
digitalWrite (audvid, LOW);
}
}
else {
buttonCount5 = 0;
}
/////////////////////////////////////////
if (( val6 == LOW) + set6 >=1) {
if (buttonCount6 == 0){
buttonCount6++;
digitalWrite (OUT6, HIGH);
set6++;
digitalWrite (audvid, HIGH);
Serial.println("PUZZLE SPOT 6 COMPLETED");
Serial.println("PUZZLE 5 SOLVED");
}
else {
delay(10);
digitalWrite (audvid, LOW);
}
}
else {
buttonCount6 = 0;
}
/////////////////////////////////////////
if (( val7 == LOW) + set7 >=1) {
if (buttonCount7 == 0){
buttonCount7++;
digitalWrite (OUT7, HIGH);
set7++;
digitalWrite (audvid, HIGH);
Serial.println("PUZZLE SPOT 7 COMPLETED");
Serial.println("PUZZLE 7 SOLVED");
}
else {
delay(10);
digitalWrite (audvid, LOW);
}
}
else {
buttonCount7 = 0;
}
/////////////////////////////////////////
if (( val8 == LOW) + set8 >=1) {
if (buttonCount8 == 0){
buttonCount8++;
digitalWrite (OUT8, HIGH);
set8++;
digitalWrite (audvid, HIGH);
Serial.println("PUZZLE SPOT 8 COMPLETED");
Serial.println("PUZZLE 4 SOLVED");
}
else {
delay(10);
digitalWrite (audvid, LOW);
}
}
else {
buttonCount8 = 0;
}
/////////////////////////////////////////
//*******************************
}
//*******************************