int led1 = 0; //pinout of the attiny44 of my hello board int led2 = 1; //pinout of the attiny44 of my hello board int led3 = 2; //pinout of the attiny44 of my hello board int led4 = 3; //pinout of the attiny44 of my hello board int boton1 = 10; //pinout of the attiny44 of my hello board int boton2 = 7; //pinout of the attiny44 of my hello board int estadob1 = 0; //letf button status int estadob2 = 0; //right button status int compas = 1790; //Gigi D'ag 's l'amour toujour's beat tempo // the setup function runs once when you press reset or power the board void setup() { // initialize digital pins of the LEDs as an output. pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); pinMode(led4, OUTPUT); pinMode(boton1, INPUT); pinMode(boton2, INPUT); } // the loop function runs over and over again forever void loop() { estadob1 = digitalRead (boton1); //we read the button and check its status estadob2 = digitalRead (boton2); //we read the button and check its status if (estadob1 == HIGH && estadob2 == LOW) { //We ask if the left button is on AND the right one is off for (int x = 0; x<2; x++) //We play L'amour Toujours with LED lightshow! { digitalWrite (led1, HIGH); digitalWrite (led2, HIGH); digitalWrite (led3, HIGH); digitalWrite (led4, HIGH); delay(compas/4); digitalWrite (led1, LOW); digitalWrite (led2, LOW); digitalWrite (led3, LOW); digitalWrite (led4, LOW); delay(compas/4); digitalWrite (led1, HIGH); digitalWrite (led2, HIGH); digitalWrite (led3, HIGH); digitalWrite (led4, HIGH); delay(compas/8); digitalWrite (led1, LOW); digitalWrite (led2, LOW); digitalWrite (led3, LOW); digitalWrite (led4, LOW); delay(compas/8); digitalWrite (led1, HIGH); digitalWrite (led2, HIGH); digitalWrite (led3, HIGH); digitalWrite (led4, HIGH); delay(compas/16); digitalWrite (led1, LOW); digitalWrite (led2, LOW); digitalWrite (led3, LOW); digitalWrite (led4, LOW); delay(compas/16); digitalWrite (led1, HIGH); delay(compas/16); digitalWrite (led1, LOW); delay(compas/16); digitalWrite (led2, HIGH); delay(compas/4); digitalWrite (led2, LOW); delay(compas/4); digitalWrite (led2, HIGH); delay(compas/8); digitalWrite (led2, LOW); delay(compas/8); digitalWrite (led2, HIGH); delay(compas/16); digitalWrite (led2, LOW); delay(compas/16); digitalWrite (led1, HIGH); delay(compas/16); digitalWrite (led1, LOW); delay(compas/16); digitalWrite (led3, HIGH); delay(compas/4); digitalWrite (led3, LOW); delay(compas/4); digitalWrite (led3, HIGH); delay(compas/8); digitalWrite (led3, LOW); delay(compas/8); digitalWrite (led3, HIGH); delay(compas/16); digitalWrite (led3, LOW); delay(compas/16); digitalWrite (led4, HIGH); delay(compas/16); digitalWrite (led4, LOW); delay(compas/16); digitalWrite (led3, HIGH); delay(compas/8); digitalWrite (led3, LOW); delay(compas/8); digitalWrite (led3, HIGH); delay(compas/8); digitalWrite (led3, LOW); delay(compas/8); digitalWrite (led3, HIGH); delay(compas/16); digitalWrite (led3, LOW); delay(compas/16); digitalWrite (led4, HIGH); delay(compas/16); digitalWrite (led4, LOW); delay(compas/16); digitalWrite (led3, HIGH); delay(compas/16); digitalWrite (led3, LOW); delay(compas/16); digitalWrite (led4, HIGH); delay(compas/16); digitalWrite (led4, LOW); delay(compas/16); digitalWrite (led1, HIGH); digitalWrite (led2, HIGH); digitalWrite (led3, HIGH); digitalWrite (led4, HIGH); delay(compas/4); digitalWrite (led1, LOW); digitalWrite (led2, LOW); digitalWrite (led3, LOW); digitalWrite (led4, LOW); delay(compas/4); digitalWrite (led1, HIGH); digitalWrite (led2, HIGH); digitalWrite (led3, HIGH); digitalWrite (led4, HIGH); delay(compas/8); digitalWrite (led1, LOW); digitalWrite (led2, LOW); digitalWrite (led3, LOW); digitalWrite (led4, LOW); delay(compas/8); digitalWrite (led1, HIGH); digitalWrite (led2, HIGH); digitalWrite (led3, HIGH); digitalWrite (led4, HIGH); delay(compas/16); digitalWrite (led1, LOW); digitalWrite (led2, LOW); digitalWrite (led3, LOW); digitalWrite (led4, LOW); delay(compas/16); digitalWrite (led1, HIGH); delay(compas/16); digitalWrite (led1, LOW); delay(compas/16); digitalWrite (led2, HIGH); delay(compas/4); digitalWrite (led2, LOW); delay(compas/4); digitalWrite (led2, HIGH); delay(compas/8); digitalWrite (led2, LOW); delay(compas/8); digitalWrite (led2, HIGH); delay(compas/16); digitalWrite (led2, LOW); delay(compas/16); digitalWrite (led1, HIGH); delay(compas/16); digitalWrite (led1, LOW); delay(compas/16); digitalWrite (led3, HIGH); delay(compas/4); digitalWrite (led3, LOW); delay(compas/4); digitalWrite (led3, HIGH); delay(compas/8); digitalWrite (led3, LOW); delay(compas/8); digitalWrite (led3, HIGH); delay(compas/16); digitalWrite (led3, LOW); delay(compas/16); digitalWrite (led4, HIGH); delay(compas/16); digitalWrite (led4, LOW); delay(compas/16); digitalWrite (led3, HIGH); delay(compas/8); digitalWrite (led3, LOW); delay(compas/8); digitalWrite (led3, HIGH); delay(compas/16); digitalWrite (led3, LOW); delay(compas/16); digitalWrite (led4, HIGH); delay(compas/16); digitalWrite (led4, LOW); delay(compas/16); digitalWrite (led3, HIGH); delay(compas/16); digitalWrite (led3, LOW); delay(compas/16); digitalWrite (led4, HIGH); delay(compas/16); digitalWrite (led4, LOW); delay(compas/16); digitalWrite (led3, HIGH); delay(compas/16); digitalWrite (led3, LOW); delay(compas/16); digitalWrite (led4, HIGH); delay(compas/16); digitalWrite (led4, LOW); delay(compas/16); } digitalWrite (led1, HIGH); digitalWrite (led2, HIGH); digitalWrite (led3, HIGH); digitalWrite (led4, HIGH); delay(compas/4); digitalWrite (led1, LOW); digitalWrite (led2, LOW); digitalWrite (led3, LOW); digitalWrite (led4, LOW); delay(compas/4); } else { //if the LED is not on we can turn the LEDs off digitalWrite (led1, LOW); digitalWrite (led2, LOW); digitalWrite (led3, LOW); digitalWrite (led4, LOW); if (estadob2 == HIGH && estadob1 == LOW){ // If the right button is on and the left button is on //We do a siren roll and then two blinks digitalWrite (led1, HIGH); delay(500); digitalWrite (led1, LOW); digitalWrite (led2, HIGH); delay(500); digitalWrite (led2, LOW); digitalWrite (led3, HIGH); delay(500); digitalWrite (led3, LOW); digitalWrite (led4, HIGH); delay(500); digitalWrite (led1, HIGH); delay(500); digitalWrite (led1, LOW); digitalWrite (led2, HIGH); delay(500); digitalWrite (led2, LOW); digitalWrite (led3, HIGH); delay(500); digitalWrite (led1, HIGH); delay(500); digitalWrite (led1, LOW); digitalWrite (led2, HIGH); delay(500); digitalWrite (led1, HIGH); delay(500); digitalWrite (led1, HIGH); digitalWrite (led2, HIGH); digitalWrite (led3, HIGH); digitalWrite (led4, HIGH); delay(compas/4); digitalWrite (led1, LOW); digitalWrite (led2, LOW); digitalWrite (led3, LOW); digitalWrite (led4, LOW); delay(compas/4); digitalWrite (led1, HIGH); digitalWrite (led2, HIGH); digitalWrite (led3, HIGH); digitalWrite (led4, HIGH); delay(compas/4); digitalWrite (led1, LOW); digitalWrite (led2, LOW); digitalWrite (led3, LOW); digitalWrite (led4, LOW); delay(compas/4); digitalWrite (led1, HIGH); digitalWrite (led2, HIGH); digitalWrite (led3, HIGH); digitalWrite (led4, HIGH); delay(compas/4); digitalWrite (led1, LOW); digitalWrite (led2, LOW); digitalWrite (led3, LOW); digitalWrite (led4, LOW); delay(compas/4); digitalWrite (led1, HIGH); digitalWrite (led2, HIGH); digitalWrite (led3, HIGH); digitalWrite (led4, HIGH); delay(compas/4); digitalWrite (led1, LOW); digitalWrite (led2, LOW); digitalWrite (led3, LOW); digitalWrite (led4, LOW); delay(compas/4); } else { //if no buttons are on, we turn everything off digitalWrite (led1, LOW); digitalWrite (led2, LOW); digitalWrite (led3, LOW); digitalWrite (led4, LOW); if (estadob2 == HIGH && estadob1 == HIGH){ //If both of the buttons are on at the same time //We turn on pursuit siren mode! digitalWrite (led1, HIGH); digitalWrite (led2, HIGH); delay(50); digitalWrite (led3, HIGH); digitalWrite (led4, HIGH); delay(50); digitalWrite (led1, LOW); digitalWrite (led2, LOW); delay(50); digitalWrite (led3, LOW); digitalWrite (led4, LOW); delay(50); digitalWrite (led1, HIGH); digitalWrite (led2, HIGH); delay(50); digitalWrite (led3, HIGH); digitalWrite (led4, HIGH); delay(50); digitalWrite (led1, LOW); digitalWrite (led2, LOW); delay(50); digitalWrite (led3, LOW); digitalWrite (led4, LOW); delay(50); } else { //if no buttons are on, we turn everything off digitalWrite (led1, LOW); digitalWrite (led2, LOW); digitalWrite (led3, LOW); digitalWrite (led4, LOW); } } } }