arduino, eletrônica, robotica...
Amigos, Fiz um contador de voltas com Arduíno. O contador está instavel. Depois que passa de 12 ela para de contar ou conta saltando umas voltas;
Segue o código
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);int sensor = 50; int estadoBot = 0; int cont=0;
void setup() {
lcd.begin(16, 2); pinMode(sensor, INPUT);}
void loop() {
estadoBot = digitalRead(sensor);
if (estadoBot == HIGH) { cont=cont +1; delay(200); lcd.setCursor(5, 1); lcd.print(cont); }
}
Tags:
MySpace Tweet Facebook Facebook
Exibições: 326
▶ Responder esta
Darley,
Um dos problemas é devido ao delay de 200ms, enquanto o mcu estiver contando o tempo, ele perde qualquer acionamento.
Procure por debounce na net.
Outra coisa, se o botão ficar acionado por mais de 200ms, irá contar mais de uma vez.
Para resolver tente isso:
int trava=0;
if (estadoBot == HIGH && trava == LOW ) { cont=cont +1; delay(2); lcd.setCursor(5, 1); lcd.print(cont);
trava = 1;
if (estadoBot == LOW && trava == HIGH ) {
trava = 0;
Abraço.
▶ Responder
RSS
Bem-vindo aLaboratorio de Garagem (arduino, eletrônica, robotica, hacking)
Registre-seou acesse
Or sign in with:
© 2024 Criado por Marcelo Rodrigues. Ativado por
Badges | Relatar um incidente | Termos de serviço
Verifique as configurações do seu navegador ou contate o administrador do sistema.