a logica e a seguinte
2 leds
3 botoes
acionamdo botao 1 1 led aceso por pulso e permanece ate apertar outro botao
acionando botao 2 liga led 1 e led 2
acionando botao 3 desliga os 2 leds
so no pulso
alguem poderia me ajudar a encontrar uma solucao
ele nao esta atuando corretamente
int led=5; // led no pino 13
int botao=8; // botão no pino 12
int var=0; // valor instantaneo enviado pelo botão
int var2=0; // valor guardado
int estado=0; // guarda o valor 0 ou 1 (HIGH ou LOW)
int led1=6; // led no pino 13
int botao1=9;
int var22=0; // valor instantaneo enviado pelo botão
int var222=0; // valor guardado
int estado1=0; // guarda o valor 0 ou 1 (HIGH ou LOW)
int botao2=10;
int var3=0; // valor instantaneo enviado pelo botão
int var33=0; // valor guardado
int estado2=0; // guarda o valor 0 ou 1 (HIGH ou LOW)
void setup()
{
pinMode(led,OUTPUT);
pinMode(botao,INPUT);
pinMode(led1,OUTPUT);
pinMode(botao1,INPUT);
pinMode(botao2,INPUT);
}
void loop()
{
var=digitalRead(botao); // ler o valor enviado pelo botão: "HIGH" ou "LOW"
if ((var == HIGH) && (var2 == LOW)) {
estado = 1 - estado;
delay(30); // de-bouncing
}
var2=var;
if (estado == 1) {
digitalWrite(led, HIGH); // liga o led
}
{
var22=digitalRead(botao1); // ler o valor enviado pelo botão: "HIGH" ou "LOW"
if ((var22 == HIGH) && (var222 == LOW)) {
estado1 = 1 - estado1;
delay(30); // de-bouncing
}
var222=var22;
if (estado1 == 1) {
digitalWrite(led, HIGH); // liga o led
digitalWrite(led1, HIGH); // liga o led
}
}
{
var3=digitalRead(botao2); // ler o valor enviado pelo botão: "HIGH" ou "LOW"
if ((var3 == HIGH) && (var33 == LOW)) {
estado2 = 1 - estado2;
delay(30); // de-bouncing
}
var33=var3;
if (estado2 == 1) {
digitalWrite(led, LOW); // liga o led
digitalWrite(led1, LOW); // liga o led
}
}
}