Com esse código eu consigo acender um led apagando o anterior a cada click no botão, agora preciso fazer o led retornar com um segundo botão de qualquer ponto, por exemplo: voltar do led 5 para o 4 e quando eu aperto o outro botão avançar pro 5 novamente. Enfim, um botão para avanar e outro para retornar.
Alguem pode me ajudar?
int l1 = 4;
int l2 = 5;
int l3 = 6;
int l4 = 7;
int l5 = 8;
int botao = 2;
int estadoBotao;
int fase;
void setup() {
pinMode (l1, OUTPUT);
pinMode (l2, OUTPUT);
pinMode (l3, OUTPUT);
pinMode (l4, OUTPUT);
pinMode (l5, OUTPUT);
pinMode (botao, OUTPUT);
estadoBotao = 1;
}
void loop() {
estadoBotao = digitalRead (botao);
if (estadoBotao == HIGH){
if (fase < 5){
fase = fase + 1;
}
else {
fase = 1;
}
}
if (fase == 1){
digitalWrite (l1, HIGH);
digitalWrite (l2, LOW);
digitalWrite (l3, LOW);
digitalWrite (l4, LOW);
digitalWrite (l5, LOW);
}
if (fase == 2){
digitalWrite (l1, LOW);
digitalWrite (l2, HIGH);
digitalWrite (l3, LOW);
digitalWrite (l4, LOW);
digitalWrite (l5, LOW);
}
if (fase == 3){
digitalWrite (l1, LOW);
digitalWrite (l2, LOW);
digitalWrite (l3, HIGH);
digitalWrite (l4, LOW);
digitalWrite (l5, LOW);
}
if (fase == 4){
digitalWrite (l1, LOW);
digitalWrite (l2, LOW);
digitalWrite (l3, LOW);
digitalWrite (l4, HIGH);
digitalWrite (l5, LOW);
}
if (fase == 5){
digitalWrite (l1, LOW);
digitalWrite (l2, LOW);
digitalWrite (l3, LOW);
digitalWrite (l4, LOW);
digitalWrite (l5, HIGH);
}
delay (150);
}