I used your setup and wrote only the main loop. This should be the full code:
const int buttonUp = 9;
const int buttonDown = 8;
const int ledPin1 = 7;
const int ledPin2 = 6;
const int ledPin3 = 5;
const int ledPin4 = 4;
const int ledPin5 = 3;
const int ledPin6 = 2;
boolean changeLed = false;
unsigned int ledCounter = 0;
void setup() {
pinMode (ledPin1, OUTPUT);
pinMode (ledPin2, OUTPUT);
pinMode (ledPin3, OUTPUT);
pinMode (ledPin4, OUTPUT);
pinMode (ledPin5, OUTPUT);
pinMode (ledPin6, OUTPUT);
pinMode(buttonUp, INPUT);
pinMode(buttonDown,INPUT);
Serial.begin(9600);
}
void loop(){
if (button1Pressed ()==0 ){
if (ledCounter < 5) {
ledCounter++ ;
changeLed = true;
}
}
if (button2Pressed()==0){
if (ledCounter > 1) {
ledCounter-- ;
changeLed = true;
}
}
if (changeLed == true){
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, LOW);
digitalWrite(ledPin6, LOW);
}
switch (ledCounter){
case 0 : digitalWrite(ledPin1, HIGH);break;
case 1 : digitalWrite(ledPin2, HIGH);break;
case 2 : digitalWrite(ledPin3, HIGH);break;
case 3 : digitalWrite(ledPin4, HIGH);break;
case 4 : digitalWrite(ledPin5, HIGH);break;
case 5 : digitalWrite(ledPin6, HIGH);break;
default: digitalWrite(ledPin1, HIGH);break;
}
changeLed = false;
delay(20);
}
int button1Pressed (void) {
if (analogRead(buttonUp) == LOW){
delay(3); //
if (analogRead(buttonUp) == HIGH){
delay(3);
if (analogRead(buttonUp) == HIGH){
delay(3);
if (analogRead(buttonUp) == HIGH){
return 0;
}
}
}
}
return 1;
}
int button2Pressed (void) {
if (analogRead(buttonDown) == LOW){
delay(3); //
if (analogRead(buttonDown) == HIGH){
delay(3);
if (analogRead(buttonDown) == HIGH){
delay(3);
if (analogRead(buttonDown) == HIGH){
return 0;
}
}
}
}
return 1;
}
It's not tested. The debouncer (the multiple reads to see if he pin is in high; error protection) might be a little bit to "harsh". If the pressed of a pushbutton is not always seen you can start looking there (in the buttonxPressed() functions).
Good luck