[Sensores] Ultrassom - UnbDroid/SEK GitHub Wiki

Configurando o Sensor

Os Sensores Ultrassônicos (US) são usados para medir distância. Nos sensores utilizados no Kit da Lego podemos realizas sua leitura em centímetros ou em polegadas. Para usá-los é necessário especificar a porta que ele será ligado e configurar o modo de operação dele como Lowspeed utilizando a função SetSensorLowspeed(). Para fazer uma leitura basta usar a função SensorUS(), essa função inclui um atraso de 15 milisegundos, pois o sensor não suporta leituras mais frequentes.

Como o sensor ultrassônico utiliza o protocolo de comunicação I2C seu valor não pode ser lido pela função Sensor(n).

Filtros

Nem sempre as leituras dos sensores são boa, as vezes ela é imprecisa ou muito sensível a pequenas variações. Por exemplo ele pode fazer uma leitura que não faz sentido, esta leitura erronea é denominada de ruído. Nesses casos é necessário fazer filtros para que as leituras possam ser usadas sem que seja lido ruídos. Existem diversos tipos de filtros que podemos fazer para resolvermos o problema do ruído, entre eles o filtro de mediana, e o filtro de média móvel, sendo que o melhor a ser usado depende do problema enfrentado.

Filtro de Mediana

Esse filtro pega mais de uma leitura por iteração do código, ordena as leituras em um vetor e utiliza o valor mediano para ser considerado. Esse filtro serve para casos do sensor conseguir ler o valor real, porém eventualmente lendo algum ruído. Pode-se usar com mais que 5 leituras, porém isso pode deixar o programa lento.

Filtro de Média Móvel

Esse filtro pega apenas uma leitura por iteração, substitui a leitura mais antiga pela nova e calcula a média aritmética do número total de leituras consideradas novas, ou seja ele guarda em uma quantidade determinada de leituras e calcula a média dessas leituras ao invés de considerar apenas a leitura atual. Esse filtro é útil para que o sistema não fique muito sensível a pequenas variações, pois ele considera um histórico de leituras. Ele também melhora a sensibilidade ao ruído.