Estou precisando fazer um contador de pulsos e medidor de vazão para um hidrômetro que têm uma saída a reed switch, a cada litro ele dá um pulso, com isso terei a leitura remotamente, no arduino fazer o contador de pulsos foi fácil, porém quando dou um pulso ele conta três vezes, acredito que por não ter colocado capacitor no pino de entrada? E, o outro problema é que não consigo nenhuma instrução para que eu conte o tempo entre um pulso e outro, para que eu consiga dar a vazão do hidrometro. Necessito de ajudas, sou iniciante no uso do arduino, quero implementar este projeto em meu TCC da Faculdade.
não consigo nenhuma instrução para que eu conte o tempo entre um pulso e outro
Simples.Marcas o tempo quando esse evento ocorre lendo para dentro de uma variavel unsigned long o resultado da função millis() que te retorna em em milisegundos o valor desde que o teu avr está em funcionamento.Depois quando detectares outro evento voltas a ler o millis() e calculas a diferença entre a variavel anterior.Desta forma obtens o tempo entre cada pulso.
Muito obrigado Hugo, consegui resolver a parte da entrada usando o deboucing como vc me indicou, agora eu tentei saber o tempo entre os pulsos, porém não dá, pois a funcão milis não para, depois de iniciada, então eu não consigo achar o tempo de cada momento entre os pulsos, correto?
agora eu tentei saber o tempo entre os pulsos, porém não dá, pois a funcão milis não para, depois de iniciada
È de esperar que ele nao pare, nota se eu te perguntar quanto tempo passou desde o momento que estas a ler este post e a meia noite como obtens a resposta?
É esse algoritmo que tambem tens de implementar no teu codigo.O millis como constatas-te nunca para mas e normal ja que o teu relogio real tambem nunca para!
Muito obrigado pessoal, consegui implementar o intervalo, porém tem mais um problema como eu estou mostrando a vazão em um LCD, quando a vazão esta entre 100 e 999 tudo OK porém quando esta vazão cai para dois digitos 99 por exemplo ele não mostra 099 e sim 990, qual o comando que devo usar para corrigir este problema? Obrigado.
Ja consegui resolver os problemas dos digitos, apagando antes de inserir a informação, agora tentarei disponibilizar os dados de vazão e leitura do hidrômetro via Ethernet.