this is the basic sketch i started off with. customize how ever you like.
/*
STAIRS
The circuit:
* LED's light up the stairs when going up or down
* 10K resistor attached to pin 2 from ground
*/
const int irup = 2; // IR Beam at the bottom of the stairs
const int irdown = 4; // IR Beam at the top of the stairs
const int partybutton = 7; // Party button
int led1 = 0;
int led2 = 1;
int led3 = 3;
int led4 = 5;
int led5 = 6;
int led6 = A0;
int led7 = 8;
int led8 = 9;
int led9 = 10;
int led10 = 11;
int led11 = 12;
int led12 = 13;
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
pinMode(led1, OUTPUT); // sets the digital pin as output
pinMode(led2, OUTPUT); // sets the digital pin as output
pinMode(led3, OUTPUT); // sets the digital pin as output
pinMode(led4, OUTPUT); // sets the digital pin as output
pinMode(led5, OUTPUT); // sets the digital pin as output
pinMode(led6, OUTPUT); // sets the digital pin as output
pinMode(led7, OUTPUT); // sets the digital pin as output
pinMode(led8, OUTPUT); // sets the digital pin as output
pinMode(led9, OUTPUT); // sets the digital pin as output
pinMode(led10, OUTPUT); // sets the digital pin as output
pinMode(led11, OUTPUT); // sets the digital pin as output
pinMode(led12, OUTPUT); // sets the digital pin as output
pinMode(irup, INPUT);
pinMode(irdown, INPUT);
pinMode(partybutton, INPUT);
}
void loop(){
// read the state of the ir sensor value:
buttonState = digitalRead(irup);
if (buttonState == 1) {
// turn LED's on:
digitalWrite(led1, HIGH);
delay(300);
digitalWrite(led2, HIGH);
delay(300);
digitalWrite(led3, HIGH);
delay(300);
digitalWrite(led4, HIGH);
delay(300);
digitalWrite(led5, HIGH);
delay(300);
digitalWrite(led6, HIGH);
delay(300);
digitalWrite(led7, HIGH);
delay(300);
digitalWrite(led8, HIGH);
delay(300);
digitalWrite(led9, HIGH);
delay(300);
digitalWrite(led10, HIGH);
delay(300);
digitalWrite(led11, HIGH);
delay(300);
digitalWrite(led12, HIGH);
delay(5000);
digitalWrite(led1, LOW);
delay(1200);
digitalWrite(led2, LOW);
delay(1100);
digitalWrite(led3, LOW);
delay(1000);
digitalWrite(led4, LOW);
delay(900);
digitalWrite(led5, LOW);
delay(800);
digitalWrite(led6, LOW);
delay(700);
digitalWrite(led7, LOW);
delay(600);
digitalWrite(led8, LOW);
delay(500);
digitalWrite(led9, LOW);
delay(400);
digitalWrite(led10, LOW);
delay(300);
digitalWrite(led11, LOW);
delay(250);
digitalWrite(led12, LOW);
}
// read the state of the irdown value:
buttonState = digitalRead(irdown);
if (buttonState == 1) {
// turn LED on:
digitalWrite(led12, HIGH);
delay(300);
digitalWrite(led11, HIGH);
delay(300);
digitalWrite(led10, HIGH);
delay(300);
digitalWrite(led9, HIGH);
delay(300);
digitalWrite(led8, HIGH);
delay(300);
digitalWrite(led7, HIGH);
delay(300);
digitalWrite(led6, HIGH);
delay(300);
digitalWrite(led5, HIGH);
delay(300);
digitalWrite(led4, HIGH);
delay(300);
digitalWrite(led3, HIGH);
delay(300);
digitalWrite(led2, HIGH);
delay(300);
digitalWrite(led1, HIGH);
delay(5000);
digitalWrite(led12, LOW);
delay(1200);
digitalWrite(led11, LOW);
delay(1100);
digitalWrite(led10, LOW);
delay(1000);
digitalWrite(led9, LOW);
delay(900);
digitalWrite(led8, LOW);
delay(800);
digitalWrite(led7, LOW);
delay(700);
digitalWrite(led6, LOW);
delay(600);
digitalWrite(led5, LOW);
delay(500);
digitalWrite(led4, LOW);
delay(400);
digitalWrite(led3, LOW);
delay(300);
digitalWrite(led2, LOW);
delay(250);
digitalWrite(led1, LOW);
}
// read the state of the partybutton value:
buttonState = digitalRead(partybutton);
if (buttonState == 1) {
// turn LED on:
digitalWrite(led12, HIGH);
delay(100);
digitalWrite(led12, LOW);
delay(1);
digitalWrite(led11, HIGH);
delay(100);
digitalWrite(led11, LOW);
delay(1);
digitalWrite(led10, HIGH);
delay(100);
digitalWrite(led10, LOW);
delay(1);
digitalWrite(led9, HIGH);
delay(100);
digitalWrite(led9, LOW);
delay(1);
digitalWrite(led8, HIGH);
delay(100);
digitalWrite(led8, LOW);
delay(1);
digitalWrite(led7, HIGH);
delay(100);
digitalWrite(led7, LOW);
delay(1);
digitalWrite(led6, HIGH);
delay(100);
digitalWrite(led6, LOW);
delay(1);
digitalWrite(led5, HIGH);
delay(100);
digitalWrite(led5, LOW);
delay(1);
digitalWrite(led4, HIGH);
delay(100);
digitalWrite(led4, LOW);
delay(1);
digitalWrite(led3, HIGH);
delay(100);
digitalWrite(led3, LOW);
delay(1);
digitalWrite(led2, HIGH);
delay(100);
digitalWrite(led2, LOW);
delay(1);
digitalWrite(led1, HIGH);
delay(100);
digitalWrite(led1, LOW);
delay(1);
digitalWrite(led2, HIGH);
delay(100);
digitalWrite(led2, LOW);
delay(1);
digitalWrite(led3, HIGH);
delay(100);
digitalWrite(led3, LOW);
delay(1);
digitalWrite(led4, HIGH);
delay(100);
digitalWrite(led4, LOW);
delay(1);
digitalWrite(led5, HIGH);
delay(100);
digitalWrite(led5, LOW);
delay(1);
digitalWrite(led6, HIGH);
delay(100);
digitalWrite(led6, LOW);
delay(1);
digitalWrite(led7, HIGH);
delay(100);
digitalWrite(led7, LOW);
delay(1);
digitalWrite(led8, HIGH);
delay(100);
digitalWrite(led8, LOW);
delay(1);
digitalWrite(led9, HIGH);
delay(100);
digitalWrite(led9, LOW);
delay(1);
digitalWrite(led10, HIGH);
delay(100);
digitalWrite(led10, LOW);
delay(1);
digitalWrite(led11, HIGH);
delay(100);
digitalWrite(led11, LOW);
delay(400);
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led8, HIGH);
digitalWrite(led9, HIGH);
digitalWrite(led10, HIGH);
digitalWrite(led11, HIGH);
digitalWrite(led12, HIGH);
delay(1000);
digitalWrite(led1, LOW);
delay(500);
digitalWrite(led12, LOW);
delay(500);
digitalWrite(led3, LOW);
delay(500);
digitalWrite(led10, LOW);
delay(500);
digitalWrite(led5, LOW);
delay(500);
digitalWrite(led8, LOW);
delay(500);
digitalWrite(led7, LOW);
delay(500);
digitalWrite(led6, LOW);
delay(500);
digitalWrite(led9, LOW);
delay(500);
digitalWrite(led4, LOW);
delay(500);
digitalWrite(led11, LOW);
delay(500);
digitalWrite(led2, LOW);
}
// read the state of the irdown value:
buttonState = digitalRead(irdown);
if (buttonState == 0) {
// turn LED off:
digitalWrite(led12, LOW);
digitalWrite(led11, LOW);
digitalWrite(led10, LOW);
digitalWrite(led9, LOW);
digitalWrite(led8, LOW);
digitalWrite(led7, LOW);
digitalWrite(led6, LOW);
digitalWrite(led5, LOW);
digitalWrite(led4, LOW);
digitalWrite(led3, LOW);
digitalWrite(led2, LOW);
digitalWrite(led1, LOW);
}
// read the state of the partybutton value:
buttonState = digitalRead(partybutton);
if (buttonState == 0) {
// turn LED off:
digitalWrite(led12, LOW);
digitalWrite(led11, LOW);
digitalWrite(led10, LOW);
digitalWrite(led9, LOW);
digitalWrite(led8, LOW);
digitalWrite(led7, LOW);
digitalWrite(led6, LOW);
digitalWrite(led5, LOW);
digitalWrite(led4, LOW);
digitalWrite(led3, LOW);
digitalWrite(led2, LOW);
digitalWrite(led1, LOW);
}
// read the state of the pushbutton value:
buttonState = digitalRead(irup);
if (buttonState == 0) {
// turn LED off:
digitalWrite(led12, LOW);
digitalWrite(led11, LOW);
digitalWrite(led10, LOW);
digitalWrite(led9, LOW);
digitalWrite(led8, LOW);
digitalWrite(led7, LOW);
digitalWrite(led6, LOW);
digitalWrite(led5, LOW);
digitalWrite(led4, LOW);
digitalWrite(led3, LOW);
digitalWrite(led2, LOW);
digitalWrite(led1, LOW);
}
else {
// turn LED off:
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
digitalWrite(led10, LOW);
digitalWrite(led11, LOW);
digitalWrite(led12, LOW);
}
}