Buenas tardes.
Quizás me equivoque o no lo estoy haciendo bien.
Voy poco a poco con este asunto, que después se complicara cada vez más. Mi problema por ahora es el sensor ultrasónico.
Veo que me hace lecturas muy dispares. Puede ser ruido o puede ser un mal sensor.
No se diferenciar los buenos de los malos. Todos se parecen todos son copias unos de otros. Soy consciente de la importancia de buenos componentes para tener buenos resultados. No podemos obtener buenos resultados con componentes malos.
Por ejemplo, pongo el sensor en la mesa apuntando al suelo y me da lecturas de 45/50 cm aunque hay veces que sin variar nada me da 60 cm y otras sin motivo me da menos. La lectura real son 67 cm medidos con metro.
El sensor tiene un conversor analógico digital, por lo que el IDE lo alimenta con +5 v y GND y 2 señales digitales son las entradas y salidas con las que se comunica.
sobre el modo de medir por una parte he creado una función que he llamado ultrasonico() que ese encarga mediante una condición if de hacer una medida cada 5 segundos, incluso estoy pensando en poner las tiempo No necesito hacer tantas medidas. Se trata de un deposito que tarda mucho en llenarse y vaciarse de 5 o 6 m de altura.
El valor obtenido es cierto que la mayor parte de las veces es estable y solo unas pocas veces da medidas raras.
He empleado la fórmula de valor móvil pero no me funciona, me da un valor 4 veces más bajo.
También he empleado la librería de Luis Llamas promedio móvil para estabilizar el valor, pero creo que solo se puede emplear para entradas analógicas no digitales.
Solo amortiguo el resultado si sumo unos cuantos valores y lo divido por el numero de muestras, es decir un valor medio puro y duro pero el ruido afecta al valor medio.
El caso es que no me funciona o no quizás no lo hago bien la formula del valor movil.
Tampoco hay delay. Estoy empleando millis () y condición if para tomar menos lecturas.
por eso quería preguntar por una parte si sabéis si se puede calibrar el Angulo de apertura del sensor o tendría que hacer algún tipo de pieza cónica impresa en 3d para ajustar el angulo de apertura.
Respecto a la sensibilidad, el sensor tiene una resistencia variable en la parte trasera que no se si se debería trastear o menor dejarla asi.
Respecto al algoritmo de medición, respecto al software se supone que emitimos un ultrasonido durante un periodo de 10 microsegundos y después escuchamos el tiempo que tarda en regresar y en función del tiempo se calcula la distancia.
La cosa es que en el software hay 2 parámetros de tiempo de escritura y lectura que al menos yo lo tengo en 10 Microsegundos y no se si hay que tocar.
Pero el primer paso es saber si saber si estoy empleado un buen sensor y o no y no como se puede saber eso.
Este es el sensor que he empleado.
https://www.amazon.es/gp/product/B07J2R2B92/ref=ppx_yo_dt_b_asin_title_o07_s00?ie=UTF8&psc=1ARCELI DC 5V Módulo de Sensor transductor de medición de Distancia por ultrasonidos ImpermeablePor último decir que tendré que alargar el cable, creo que no debe suponer problemas el alargarlo 5 o 6 metros ya que se trata de señales digitales y bajo consumo.
Un saludo.