Detectora de Rizado

Buenos días a todos, necesito ayuda con la programación de lo que quiero implementar vía arduino, explico mi proyecto y a ver si alguien puede guiarme con las funciones a usar o como debería ser el programa, muchas gracias por vuestro tiempo.

La idea es que al arduino le entre una señal de tensión alterna pequeña ( denominada rizado de la señal), que oscilara entre 0 y 5 voltios, por ejemplo, quiero que cuando esa señal sea mayor de 2V(por ejemplo) se encienda un LED, y a la vez por el monitor del ordenador nos de un aviso, "Alarma Rizado", y mientras el valor sea menor que los 2V el LED este apagado y por el monitor aparezca el aviso " Señal correcta". Y ya como extra comentarme si se podria registrar esos picos del valor cuando este sea mayor que el deseado, aunque luego vuelva por bajo de los 2V.

Estaré muy agradecido a quien decida ayudarme, gracias.

Un saludo, Enric.

Para medir señales alternas con el Arduino primero debes desplazarlas en 2.5V porque dudo que vengan con esta componente en continua.

Eso lo logras con un Amplificador operacion, con una entrada a 2.5 algo que consigues con dos resistores de 10k por ejemplo. Luego configuras al AO como seguidor o sea ganancia = 1 y la tensión de rizado que debería ser de ± 2.5V pico a pico sumada a los 2.5V estará perfecta para ser leida por el AD del arduino.

Ahora el tema es simple. Leer la entrada A0 (por ejemplo) y usar una variable para que se ponga a 0 en el arranque y que mire los valores leidos por el AD, que serán valores de la senoide.
Como le sumamos 2.5V a tus 2V de umbral ahora buscaremos 4.5V


Los 2.5V en este caso no pueden obtenerse de un divisor de tensión como te expliqué antes.

hola, no es necesario desplazar la señal, como es una señal alterna con bloquear la parte negativa es suficiente, después leemos en puerto analógico, buscamos el máximo, y sabemos que ese valor es la mitad, el umbral será 1 V en vez de dos

Todo esto suponiendo que estamos hablando de una señal de frecuencia baja

Para frecuencias altas, un comparador analógico

Hola, gracias por la información, en cuanto a la frecuencia estamos hablando de frecuencia baja, la señal vendría dada de otro dispositivo que filtra la tensión continua dejando solo la componente de alterna rectificada, aclarado esto, mi problema ya que soy novato en programación sigue siendo el siguiente:

Como debería ser mi código de programación? debería usar alguna libreria especifica para mi proyecto?

Gracias por vuestro tiempo

Hola.
Puedes enfocar tu código de dos formas diferentes:

  • Realizar analogread constantemente, y dependiendo de la lectura ejecutar las acciones convenientes (encender/apagar pin, registrar el rizado, etc.)
  • Inyectar voltaje de referencia (2V) y activar la interrupción interna, que saltará cuando se detecte que el voltaje recibido por el pin analógico traspase el valor de la referencia

Si el arduino sólo va a realizar esa tarea, la primera opción es la más sencilla.
Si deseas que ese monitoreo se realice en segundo plano a otras tareas del arduino, deberás utilizar la segunda opción.