Hola a todos, soy nuevo por aquí. Quisiera pedir su ayuda para un proyecto académico. Estoy captando la señal de un sensor por medio de una de las entradas analógicas de un Arduino nano 33iot, dicha señal es una señal oscilatoria a 3Hz de frecuencia, la cual varia su amplitud dependiendo de la respuesta del sensor. Lo que necesito hacer es tomar el valor pico de cada oscilación e irlo registrando por medio del monitor serial. De antemano muchas gracias.
¿Y cuál es tu duda o problema?
Quisiera saber si existe alguna librería para poder hacerlo, o es necesario construir el código desde cero?
Por lo visto has investigado poco sobre arduino.
Te daré una pista : El adc del arduino tarda 100us en tomar datos?
Si tu señal es de 3 Hz su período es de ? T= 1/3Hz = 333ms o sea que podrás tomar suficientes muestras como para atrapar el valor pico sin problemas no?
Ahora la única salvedad es que si en el proceso quieres mostrarlo, el uso del puerto serie SI te consume muchos mseg de modo que captura y muestra, captura y muestra.
Librerías hay de todo lo que gustes.
Te recomiendo TimerOne para justamente fijar una tasa de sampleo, leer la muestra y luego quedarte con el valor pico comparando.
Específicamente una librería que te de valor pico, no recuerdo ninguna.
La verdad es que si, apenas y sé muy poco sobre arduino en el momento , pero con tu respuesta me das una idea de lo que debo hacer. Muchas gracias.
Mas simple : un simple analogRead(A0) leyendo a lo loco y tomando el mayor valor o sea sacando el máximo es suficiente.
El único tema no es esta parte, sino la señál de la que nada has dicho pero si es muy importante establecer de qué señal hablas.
Si se trata de una señal senoidal por decir algo resulta que los picos negativos no puedes medirlos con el arduino, sin desplazarlos mediante un offset a 2.5V.
Tu señal no se de que amplitud es, pero supongamos que fuera +-2.5Vpp entonces si la desplazas en 2.5V DC o sea a Vcc/2 podras leer todo.
Otro modo es que la pases por un rectificador de ondacompleta ideal usando operacionales que compensen la caida del diodo con alguna leve amplificación.
Entonces de nuevo, tendras siempre una semisinusoide de amplitud 0 a 5V y ahi si lees debidamente y luego compensas de acuerdo a si hay un factor de amplificación o no.
Son diferentes enfoques para lograr lo mismo.
Una ventaja es que la señal que me entrega el sensor ya está centrada en Vcc/2 (2.5V), entonces me ahorro ese paso. Nuevamente muchas gracias por tu amable colaboración.
Entonces simple, busca máximo y ya esta resuelto.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.