#include "pitches.h" int LED1 = 2; int PBU1 = A5; int LED2 = 3; int PBU2 = A4; int LED3 = 4; int PBU3 = A3; int LED4 = 5; int PBU4 = A2; int LED5 = 6; int PBU5 = A1; int LED6 = 7; int PBU6 = A0; int LED7 = 8; int PBU7 = 13; int LED8 = 9; int PBU8 = 12; int LEDG = 10; int LEDR = 11; int x =1; int y =1; int z =1; void setup() { // initialize digital pin LED_BUILTIN as an output. //Serial.begin(9600); pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); pinMode(LED4, OUTPUT); pinMode(LED5, OUTPUT); pinMode(LED6, OUTPUT); pinMode(LED7, OUTPUT); pinMode(LED8, OUTPUT); pinMode(LEDG, OUTPUT); pinMode(LEDR, OUTPUT); pinMode(PBU1, INPUT); pinMode(PBU2, INPUT); pinMode(PBU3, INPUT); pinMode(PBU4, INPUT); pinMode(PBU5, INPUT); pinMode(PBU6, INPUT); pinMode(PBU7, INPUT); pinMode(PBU8, INPUT); //one time code digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(4, HIGH); digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); digitalWrite(9, HIGH); //Notes when starts int melody[] = { NOTE_CS7 , NOTE_B6 , NOTE_CS7, NOTE_G7 , NOTE_B6 , NOTE_B6 , NOTE_B6, NOTE_CS7 }; int noteDurations[] = { 4, 4, 8, 8, 8, 4, 4, 4 }; // iterate over the notes of the melody: for (int thisNote = 0; thisNote < 8; thisNote++) { // to calculate the note duration, take one second divided by the note type. //e.g. quarter note = 1000 / 4, eighth note = 1000/4, etc. int noteDuration = 1000 / noteDurations[thisNote]; tone(12, melody[thisNote], noteDuration); // to distinguish the notes, set a minimum time between them. // the note's duration + 30% seems to work well: int pauseBetweenNotes = noteDuration * 1; delay(pauseBetweenNotes); // stop the tone playing: noTone(12); } delay(1000); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); delay(200); digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(4, HIGH); digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); digitalWrite(9, HIGH); delay(200); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); delay(8000); digitalWrite(LED5, HIGH); delay(600); digitalWrite(LED5, LOW); delay(600); digitalWrite(LED2, HIGH); delay(600); digitalWrite(LED2, LOW); delay(600); digitalWrite(LED7, HIGH); delay(600); digitalWrite(LED7, LOW); delay(600); while(x==1){ if(digitalRead(PBU5)==1){ digitalWrite(LED5, HIGH); delay(500); digitalWrite(LED5, LOW); x=0; while(y==1){ if(digitalRead(PBU2)==1){ digitalWrite(LED2, HIGH); delay(500); digitalWrite(LED2, LOW); y=0; while(z==1){ if(digitalRead(PBU7)==1){ digitalWrite(LED7, HIGH); delay(500); digitalWrite(LED7, LOW); z=0; //Serial.println("hello right"); digitalWrite(LEDG, HIGH); delay(1500); digitalWrite(LEDG, LOW); delay(1500); } else if(digitalRead(PBU1)==1 || digitalRead(PBU2)==1 || digitalRead(PBU3)==1 || digitalRead(PBU4)==1 || digitalRead(PBU6)==1 || digitalRead(PBU5)==1 || digitalRead(PBU8)==1){ //wrong //Serial.println("hello wrong1"); digitalWrite(LEDR, HIGH); delay(1000); digitalWrite(LEDR, LOW); delay(1000); }}} else if(digitalRead(PBU5)==1 || digitalRead(PBU8)==1 || digitalRead(PBU3)==1 || digitalRead(PBU4)==1 || digitalRead(PBU6)==1 || digitalRead(PBU7)==1 || digitalRead(PBU1)==1){ //wrong //Serial.println("hello wrong2"); digitalWrite(LEDR, HIGH); delay(1000); digitalWrite(LEDR, LOW); delay(1000); }}} else if(digitalRead(PBU1)==1 || digitalRead(PBU2)==1 || digitalRead(PBU3)==1 || digitalRead(PBU4)==1 || digitalRead(PBU6)==1 || digitalRead(PBU7)==1 || digitalRead(PBU8)==1){ //wrong //Serial.println("hello wrong3"); digitalWrite(LEDR, HIGH); delay(1000); digitalWrite(LEDR, LOW); delay(1000); }} digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(4, HIGH); digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); digitalWrite(9, HIGH); delay(1000); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); delay(200); digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(4, HIGH); digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); digitalWrite(9, HIGH); delay(200); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); } // the loop function runs over and over again forever void loop() { if(digitalRead(A5)==1){ digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(4, HIGH); digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); digitalWrite(9, HIGH); delay(1000); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); delay(200); digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(4, HIGH); digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); digitalWrite(9, HIGH); delay(200); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); delay(200); digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(4, HIGH); digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); digitalWrite(9, HIGH); //Notes when starts int melody[] = { NOTE_CS7 , NOTE_B6 , NOTE_CS7, NOTE_G7 , NOTE_B6 , NOTE_B6 , NOTE_B6, NOTE_CS7 }; int noteDurations[] = { 4, 4, 8, 8, 8, 4, 4, 4 }; // iterate over the notes of the melody: for (int thisNote = 0; thisNote < 8; thisNote++) { // to calculate the note duration, take one second divided by the note type. //e.g. quarter note = 1000 / 4, eighth note = 1000/4, etc. int noteDuration = 1000 / noteDurations[thisNote]; tone(12, melody[thisNote], noteDuration); // to distinguish the notes, set a minimum time between them. // the note's duration + 30% seems to work well: int pauseBetweenNotes = noteDuration * 1; delay(pauseBetweenNotes); // stop the tone playing: noTone(12); } delay(200); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); delay(200); digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(4, HIGH); digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); digitalWrite(9, HIGH); delay(200); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); } }