O objetivo do meu circuito é medir a distancia usando um infravermelho. O infravermelho informa uma tensão ao arduino que lê pela funçao map, como essa tensao estava variando muito, resolvi tirar a media de algumas tensoes para estabilizar o valor, porem essa media quando vai mostrar no Serial Monitor não está correta. Ele dá valores tipo, 2120,2012,-309,-2010(em milivolts), quando esses valores deveriam estar o mais próximo possivel uns dos outros.
Alguém sabe explicar o problema ? (também não entendi o porque dos valores negativos)
Segue o programa abaixo(esse programa só mostra a media de tensões mesmo, não deve mostrar a distancia. )
Obrigado.
Tags:
Olhando o seu código, dá pra identificar 2 erros:
1) Deve zerar a variável valor antes do loop, senão ela vai crescendo absurdamente
2) Coloque a leitura analógica dentro do loop, senão não tem sentido, a média vai dar sempre o mesmo valor.
Mais ou menos assim:
valor = 0;
for ( int i=0; i < 10; i++){
int tensao = analogRead(A0);
tensao = map(tensao, 0, 1023, 0, 5000);
valorA= tensao;
valor= valor+valorA;
}
Espero que o Rui, velho ranzinza não veja isso, pois não se deve colocar código direto no post e ele vai ficar bravo. Kkkkk.
Esse valor 5000. Você obteve aonde?
Obs: a variável valorA poderia ser eliminada...
Boa noite EF.
Prestou bem atenção no comentário do grande amigo JAC?
Remova o sketch da área de texto e anexe como arquivos.
E sem reclamar.
RV
Valeeuuuu, agora ta funcionando legal
Foi mal pelo sketch, não sabia..
Olá Ewerton!
Altere o título do Post e acrescente a palavra [RESOLVIDO].
Assim facilita para os outros garagistas as pesquisas sobre o mesmo assunto
Abraço!
Bom dia ,
Interessante , você esta conseguindo medir distância com infravermelho?
Poderia nos informar qual o circuito e os componentes esta usando ?
Qual a faixa de distância esta conseguindo medir ?
Obrigado.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por