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.

Exibições: 403

Responder esta

Respostas a este tópico

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. 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço