leds ficam piscando sem parar

int pinVermelho1 = 13; //sinal vermelho dos carros
int pinAmarelo1 = 12; //sinal amarelo dos carros
int pinVerde1 = 11; //sinal verde dos carros
int pinBotao = 7; //PINO DO BOTAO
int pinPedestreVermelho1 = 10;
int pinPedestreVerde1 = 9;

int pinVermelho2 = 2; //sinal vermelho dos carros
int pinAmarelo2 = 3; //sinal amarelo dos carros
int pinVerde2 = 4; //sinal verde dos carros
int pinPedestreVermelho2 = 5;
int pinPedestreVerde2 = 6;

int faseSemaforo;

int estadoBotao;
int estadoAnteriorBotao;

int tempoPisca;
int estadoPisca;
void setup() {
// put your setup code here, to run once:

pinMode(pinVerde1, OUTPUT);
pinMode(pinAmarelo1, OUTPUT);
pinMode(pinVermelho1, OUTPUT);
pinMode(pinBotao, INPUT);
pinMode(pinPedestreVerde1, OUTPUT);
pinMode(pinPedestreVermelho1, OUTPUT);

pinMode(pinVerde2, OUTPUT);
pinMode(pinAmarelo2, OUTPUT);
pinMode(pinVermelho2, OUTPUT);
pinMode(pinPedestreVerde2, OUTPUT);
pinMode(pinPedestreVermelho2, OUTPUT);

faseSemaforo = 1;
estadoAnteriorBotao = digitalRead(pinBotao);

tempoPisca = 0;
estadoPisca = HIGH;
}

void loop() {
// put your main code here, to run repeatedly:

estadoBotao = digitalRead(pinBotao);

if ((estadoBotao == LOW)&&(estadoAnteriorBotao == HIGH)) { //SE O ESTADO DO BOTAO FOR LIGADO E ELE ESTAVA “DES-APERTADO”
if (faseSemaforo < 4) { //E A FASESEMAFORO FOR MENOR QUE 3
faseSemaforo = faseSemaforo + 1; //ENTAO SERA AUMENTADA EM 1 A LUZ DO SEMAFORO (EX: VERDE PARA AMARELO)
} else { //SE NAO FORMENOR QUE 3
faseSemaforo = 1; //FASESEMAFORO VOLTARA A FASE INICIAL(1)
}
}

estadoAnteriorBotao = estadoBotao;

if (faseSemaforo == 1) { //SEMAFORO ABERTO (VERDE PARA OS CARROS)
digitalWrite(pinVerde1, HIGH);
digitalWrite(pinAmarelo1, LOW);
digitalWrite(pinVermelho1, LOW);

digitalWrite(pinPedestreVermelho1, HIGH); //
digitalWrite(pinPedestreVerde1, LOW);
}

if (faseSemaforo == 2) { //SEMAFORO NO AMARELO
digitalWrite(pinVerde1, LOW);
digitalWrite(pinAmarelo1, HIGH);
digitalWrite(pinVermelho1, LOW);

digitalWrite(pinPedestreVermelho1, HIGH);
digitalWrite(pinPedestreVerde1, LOW);
}

if (faseSemaforo == 3) { //SEMAFORO FECHADO (VERMELHO PARA OS CARROS)
digitalWrite(pinVerde1, LOW);
digitalWrite(pinAmarelo1, LOW);
digitalWrite(pinVermelho1, HIGH);

digitalWrite(pinPedestreVermelho1, LOW);
digitalWrite(pinPedestreVerde1, HIGH);
}
if (faseSemaforo == 4) { //SEMAFORO PEDESTRE PISCANDO
digitalWrite(pinVerde1, LOW);
digitalWrite(pinAmarelo1, LOW);
digitalWrite(pinVermelho1, HIGH);

tempoPisca = tempoPisca + 1;
if (tempoPisca == 400) {
estadoPisca = !estadoPisca;
tempoPisca = 0;
}

digitalWrite(pinPedestreVermelho1,estadoPisca);
digitalWrite(pinPedestreVerde1, LOW);

}

delay(1);
}

NOVO CODIGO

int pinVermelho1 = 13; //sinal vermelho dos carros
int pinAmarelo1 = 12; //sinal amarelo dos carros
int pinVerde1 = 11; //sinal verde dos carros
int pinBotao = 7; //PINO DO BOTAO
int pinPedestreVermelho1 = 10;
int pinPedestreVerde1 = 9;

int pinVermelho2 = 2; //sinal vermelho dos carros
int pinAmarelo2 = 3; //sinal amarelo dos carros
int pinVerde2 = 4; //sinal verde dos carros
int pinPedestreVermelho2 = 5;
int pinPedestreVerde2 = 6;

int faseSemaforo;

int estadoBotao;
int estadoAnteriorBotao;

int tempoPisca;
int estadoPisca;
void setup() {
// put your setup code here, to run once:

pinMode(pinVerde1, OUTPUT);
pinMode(pinAmarelo1, OUTPUT);
pinMode(pinVermelho1, OUTPUT);
pinMode(pinBotao, INPUT);
pinMode(pinPedestreVerde1, OUTPUT);
pinMode(pinPedestreVermelho1, OUTPUT);

pinMode(pinVerde2, OUTPUT);
pinMode(pinAmarelo2, OUTPUT);
pinMode(pinVermelho2, OUTPUT);
pinMode(pinPedestreVerde2, OUTPUT);
pinMode(pinPedestreVermelho2, OUTPUT);

faseSemaforo = 1;
estadoAnteriorBotao = digitalRead(pinBotao);

tempoPisca = 0;
estadoPisca = HIGH;
}

void loop() {
// put your main code here, to run repeatedly:

estadoBotao = digitalRead(pinBotao);

if ((estadoBotao == LOW) && (estadoAnteriorBotao == HIGH)) { //SE O ESTADO DO BOTAO FOR LIGADO E ELE ESTAVA “DES-APERTADO”
if (faseSemaforo < 4) { //E A FASESEMAFORO FOR MENOR QUE 3
faseSemaforo = faseSemaforo + 1; //ENTAO SERA AUMENTADA EM 1 A LUZ DO SEMAFORO (EX: VERDE PARA AMARELO)
} else { //SE NAO FORMENOR QUE 3
faseSemaforo = 1; //FASESEMAFORO VOLTARA A FASE INICIAL(1)
}
}

estadoAnteriorBotao = estadoBotao;

if (faseSemaforo == 1) { //SEMAFORO ABERTO (VERDE PARA OS CARROS)
digitalWrite(pinVerde1, HIGH);
digitalWrite(pinAmarelo1, LOW);
digitalWrite(pinVermelho1, LOW);

digitalWrite(pinPedestreVermelho1, HIGH);
digitalWrite(pinPedestreVerde1, LOW);

digitalWrite(pinVerde2, LOW);
digitalWrite(pinAmarelo2, LOW);
digitalWrite(pinVermelho2, HIGH);

digitalWrite(pinPedestreVermelho2, LOW);
digitalWrite(pinPedestreVerde2, HIGH);
}

if (faseSemaforo == 2) { //SEMAFORO NO AMARELO
digitalWrite(pinVerde1, LOW);
digitalWrite(pinAmarelo1, HIGH);
digitalWrite(pinVermelho1, LOW);

digitalWrite(pinPedestreVermelho1, HIGH);
digitalWrite(pinPedestreVerde1, LOW);

digitalWrite(pinVerde2, LOW);
digitalWrite(pinAmarelo2, LOW);
digitalWrite(pinVermelho2, HIGH);

tempoPisca = tempoPisca + 1;
if (tempoPisca == 400) {
estadoPisca = !estadoPisca;
tempoPisca = 0;

digitalWrite(pinPedestreVermelho2, estadoPisca);
digitalWrite(pinPedestreVerde2, LOW);
}
}
if (faseSemaforo == 3) { //SEMAFORO FECHADO (VERMELHO PARA OS CARROS)
digitalWrite(pinVerde1, LOW);
digitalWrite(pinAmarelo1, LOW);
digitalWrite(pinVermelho1, HIGH);

digitalWrite(pinPedestreVermelho1, LOW);
digitalWrite(pinPedestreVerde1, HIGH);

digitalWrite(pinVerde2, HIGH);
digitalWrite(pinAmarelo2, LOW);
digitalWrite(pinVermelho2, LOW);

digitalWrite(pinPedestreVermelho2, HIGH);
digitalWrite(pinPedestreVerde2, LOW);

}
if (faseSemaforo == 4) { //SEMAFORO PEDESTRE PISCANDO
digitalWrite(pinVerde1, LOW);
digitalWrite(pinAmarelo1, LOW);
digitalWrite(pinVermelho1, HIGH);

tempoPisca = tempoPisca + 1;
if (tempoPisca == 400) {
estadoPisca = !estadoPisca;
tempoPisca = 0;
}

digitalWrite(pinVerde2, LOW);
digitalWrite(pinAmarelo2,HIGH);
digitalWrite(pinVermelho2, LOW);

digitalWrite(pinPedestreVermelho2, HIGH);
digitalWrite(pinPedestreVerde2, LOW);

digitalWrite(pinPedestreVermelho1, estadoPisca);
digitalWrite(pinPedestreVerde1, LOW);

}

delay(1);

}

Você postou um novo código, mas não disse se o problemas estava resolvido

você este testando faseSemaforo == 4, mas no código faseSemaforo nunca será 4, esse é um erro que vi

Como ligaste o botão? Tens um pullup?