Wow thank you so much! I followed the link and read the info related and now i have it working! Almost..
When the loop starts it gets into the for loop and change the "var" variable, but when the loop restarts seems to not enter into the loop to reverify the dip switch states.
This is my code now:
// global variables
int dipPins[] = {2, 3, 4, 5}; //pines dip switch
int led[] = {6, 7, 8, 9, 10, 11, 12, 13}; //pines leds
int var = 0;
void setup() {
//dip switch pins
for(int i = 0; i < 4; i++){
pinMode(dipPins[i], INPUT);
}
//led pins
for(int i = 0; i < 8; i++){
pinMode(led[i], OUTPUT);
}
}
void loop() {
//here is the loop I'm using to verify the dip switch state
//but seems to run just the first time the void loop runs
for(int i = 0; i < 4; i++){
if(digitalRead(dipPins[i]) == 0){
var = i + 1;
}
}
//everything's fine from here
switch(var){
case 1:
digitalWrite(led[0], HIGH);
delay(1000);
digitalWrite(led[0], LOW);
delay(500);
break;
case 2:
for(int j = 0; j < 4; j++){
digitalWrite(led[j], HIGH);
delay(1000);
digitalWrite(led[j], LOW);
delay(500);
}
break;
case 3:
for(int j = 0; j < 4; j++){
digitalWrite(led[j], HIGH);
delay(1000);
digitalWrite(led[j], LOW);
delay(500);
}
for(int j = 3; j >= 0; j--){
digitalWrite(led[j], HIGH);
delay(1000);
digitalWrite(led[j], LOW);
delay(500);
}
break;
case 4:
for(int j = 0; j < 6; j++){
digitalWrite(led[j], HIGH);
digitalWrite(led[j + 2], HIGH);
delay(1000);
digitalWrite(led[j], LOW);
digitalWrite(led[j + 2], LOW);
delay(500);
}
break;
default:
break;
}
}