mi primer dia con arduino

bueno hoy he estado con arduino por primera vez y como no errores a la hora de verificar.
tampoco es que tenga mucha idea sobre el tema por lo que tendre que leer mas, pero mientras tanto haber si alguien me echa una mano.
programa
int ambar1Pin=1;// amabar plata 1
int ambar1_2Pin=2;// ambar planta 1
int ambar2Pin=3;//
int ambar2_2Pin=4;//
int semafredPin=5;//
int semafgreenPin=6;//
int inPin1=7;//pulsador planta 1
int inPin2=8;//pulsador planta 2
int val=0;
void setup(){
pinMode(ambar1Pin,OUTPUT);
pinMode(ambar1_2Pin,OUTPUT);
pinMode(ambar2Pin,OUTPUT);
pinMode(ambar2_2Pin,OUTPUT);
pinMode(semafredPin,OUTPUT);
pinMode(semafgreenPin,OUTPUT);
pinMode(inPin1,INPUT);
pinMode(inPin2,INPUT);
}
void loop(1){
val=digitalRead(inPin1);
if(val==HIGH){
digitalWrite(ambar1Pin,HIGH);
digitalWrite(ambar1Pin, LOW);// parpadea el LED
delay(200);
digitalWrite(ambar1Pin,HIGH);
delay(200);
digitalWrite(ambar1_2Pin,HIGH);
digitalWrite(ambar1_2Pin,LOW);// parpadea el LED
delay(400);
digitalWrite(ambar1_2Pin,HIGH);
delay(400);
digitalWrite(ambar2Pin,HIGH);
digitalWrite(ambar2Pin, LOW);// parpadea el LED
delay(200);
digitalWrite(ambar2Pin,HIGH);
delay(200);
digitalWrite(ambar2_2Pin,HIGH);
digitalWrite(ambar2_2Pin,LOW);// parpadea el LED
delay(400);
digitalWrite(ambar2_2Pin,HIGH);
delay(400);
digitalWrite(semafgreenPin,LOW);
digitalWrite(semafredPin,HIGH);
}else{
digitalWrite(ambar1Pin,LOW);
digitalWrite(ambar1_2Pin,LOW);
digitalWrite(ambar2Pin,LOW);
digitalWrite(ambar2_2Pin,LOW);
digitalWrite(semafgreenPin,HIGH);
digitalWrite(semafredPin,LOW);
}
}
void loop(2){
val=digitalRead(inPin2);
if(val==HIGH){
digitalWrite(ambar1Pin,HIGH);
digitalWrite(ambar1Pin, LOW);// parpadea el LED
delay(200);
digitalWrite(ambar1Pin,HIGH);
delay(200);
digitalWrite(ambar1_2Pin,HIGH);
digitalWrite(ambar1_2Pin,LOW);// parpadea el LED
delay(400);
digitalWrite(ambar1_2Pin,HIGH);
delay(400);
digitalWrite(ambar2Pin,HIGH);
digitalWrite(ambar2Pin, LOW);// parpadea el LED
delay(200);
digitalWrite(ambar2Pin,HIGH);
delay(200);
digitalWrite(ambar2_2Pin,HIGH);
digitalWrite(ambar2_2Pin,LOW);// parpadea el LED
delay(400);
digitalWrite(ambar2_2Pin,HIGH);
delay(400);
digitalWrite(semafgreenPin,LOW);
digitalWrite(semafredPin,HIGH);
}else{
digitalWrite(ambar1Pin,LOW);
digitalWrite(ambar1_2Pin,LOW);
digitalWrite(ambar2Pin,LOW);
digitalWrite(ambar2_2Pin,LOW);
digitalWrite(semafgreenPin,HIGH);
digitalWrite(semafredPin,LOW);
}
}
el funcionamiento de mi semáforo lo podre si se me pide gracias y un saludo
variable desierta

Saludos
Hay varias cosaa que no estan bien, por ejemplo loop(2). No es una forma correcta de llamar a una funcion.
Primero dime como quieres que funcione tu semaforo?

gracias por el interés te comento:

el funcionamiento es el siguiente, mientras ke no se pulse ningún interruptor = luz verde,
ahora al pulsar alguno de los dos interruptores quiero que haga una intermitencia entre dos lamparas (una prenda y la otra no y viceversa)durante dos minutos en ambas (tengo dos ) y ademas desconecte la verde y prenda la roja, pasado los dos min vuelva al ciclo inicial luz verde .
ya esta solo es exo

Buenas,
La primera optimizacion que se me ocurre es esta:
En lugar de usar tantas lineas, podes simplificar usando un bucle FOR

val=digitalRead(inPin2);
if(val==HIGH){
for(int a=0;a<=30;a++){//ejecuto 30 veces lo que esta dentro del bucle
delay(500);
digitalWrite(luzVerde, LOW);
digitalWrite(luzRoja,HIGH);
delay(500);
digitalWrite(luzRoja,LOW);
digitalWrite(luzVerde,HIGH);
}
}

Saludos!