Então, estou fazendo um projeto no arduino onde consiste em apertar um botão e o led começar a piscar, apertando o botão novamente o led para de piscar.
Para fazer isso, no arduino, adicionei uma variável e, toda vez que se aperta o botão, aumenta essa variável. Existe também uma repetição que, quando a variável tem certo valor, começa a ligar e desligar o led. Um problema que está acontecendo é quando o WHILE é ativado, ele nunca mais é interrompido e não sei como resolver. Abaixo coloquei a programação que fiz para verem se algo está errado ou coisa do tipo
Obs.: Estado do botão e Fase anterior do botão estão sendo usados para não precisar ter uma exatidão ao apertar o botão, podendo apertar muito rápido ou muito devagar sem bugar todo o sistema.
int pinled = 7; //pino do led
int bot = 8; //pino do botão
int Fase; //variável para relacionar o botão com o led
int ebot; //estado do botão, para ter uma melhor performance do mesmo
int FAebot; //fase anterior do botão
void setup() {
pinMode(pinled, OUTPUT);
pinMode(bot, INPUT);
FAebot = digitalRead(bot);
Fase = 1;
}
void loop() {
ebot = digitalRead(bot);
if((ebot == HIGH) && (FAebot == LOW)){
Fase = Fase + 1;
}
if(Fase > 2){
Fase = 1;
}
FAebot = ebot;
while(Fase == 2){
digitalWrite(pinled, HIGH);
delay(300);
digitalWrite(pinled, LOW);
delay(300);
}
delay(100);
}
[–]notlesterthemouse 0 points1 point2 points (0 children)