Ajuda com código

Olá.. Preciso de um código que ao pressionar um botão, o arduino ligue 8 leds em tempo programado e independentes um do outro, por exemplo, led 1 liga depois de 5 segundos e fica ligado por 20 segundos, led 2 liga depois de 10 segundos e fica ligado por 5 segundos, led 3 liga depois de 20 segundos e fica ligado por 10 segundos, e assim por diante. Alguém poderia me ajudar????
Obrigado

Aqui: http://arduino.cc/en/tutorial/button
e aqui: http://arduino.cc/en/tutorial/blink

olá favetinho,

Cara, eu não sou de entregar sketchs prontos, pois assim a pessoa não pesquisa e não aprende, mas como o bubulindo andou me ajudando, vou dar uma de bom samaritanho e fiz o codigo completo pra você.
Só uma coisa, quando aprender, compartilhe com quem precisa tambem ok.

// Sketch baseado no exemplo button do arduino
// coloque um botão com resistor de 10k de pulldown entre o botão o pino 10 e o GND. ligando o outro lado // do botao ao 5V do arduino.
// coloque 8 leds com resistores de 470r cada um entre os pinos do arduino que vão do 1 até o 8.

// para alterar o tempo em que cada led permanece ligado, é só alterar o valor dentro dos delay.

const int buttonPin = 10;
const int ledPin1 = 1;
const int ledPin2 = 2;
const int ledPin3 = 3;
const int ledPin4 = 4;
const int ledPin5 = 5;
const int ledPin6 = 6;
const int ledPin7 = 7;
const int ledPin8 = 8;

int buttonState = 0;

void setup() {

pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
pinMode(ledPin6, OUTPUT);
pinMode(ledPin7, OUTPUT);
pinMode(ledPin8, OUTPUT);

pinMode(buttonPin, INPUT);
}

void loop(){

buttonState = digitalRead(buttonPin);

if (buttonState == HIGH) {
digitalWrite(ledPin1, HIGH);
delay(5000);
digitalWrite(ledPin1, LOW);

digitalWrite(ledPin2, HIGH);
delay(10000);
digitalWrite(ledPin2, LOW);

digitalWrite(ledPin3, HIGH);
delay(20000);
digitalWrite(ledPin3, LOW);

digitalWrite(ledPin4, HIGH);
delay(10000);
digitalWrite(ledPin4, LOW);

digitalWrite(ledPin5, HIGH);
delay(5000);
digitalWrite(ledPin5, LOW);

digitalWrite(ledPin6, HIGH);
delay(10000);
digitalWrite(ledPin6, LOW);

digitalWrite(ledPin7, HIGH);
delay(20000);
digitalWrite(ledPin7, LOW);

digitalWrite(ledPin8, HIGH);
delay(10000);
digitalWrite(ledPin8, LOW);

}

}

Infelizmente toda a gente percebeu mal um requisito em especial:

favettinho:
e independentes um do outro,

O que tu deves ver e o exemplo blink without delay. Esse exemplo serve para um LED, mas e simples de multiplicar para mais do que um.

Eu concordo com o bubulindo. A única forma de fazer o que se pede de forma independente é usar a ideia do exemplo BlinkWithoutDelay. A menos que independente não signifique o que eu estou a pensar. O segundo LED pode ter que acender quando o primeiro LED ainda está ligado?

Olá.. Gostaria de Agradecer a todos que responderam meu post em especial ao WeiderAju. Muito obrigado pela sua ajuda e pode ter certeza, que quando eu aprender vou compartilhar meu conhecimento com os outro..

Valeu mesmo...