Convertir Frecuencia en Voltaje

Hola,
necesito hacer un sketch que vaya leyendo la frecuencia de un micrófono (instrumento musical) y la convierta en voltaje de salida (analógica), utilizando 1 volt por octava (naturalmente, Arduino trabaja con 5 V por lo tanto tendré 5 octavas).
Ejemplo:
20,6 Hz -> 0,000 V
21,8 Hz -> 0,083 V
23,1 Hz -> 0,166 V
24,5 Hz -> 0,249 V
25,9 Hz -> 0,333 V
27,5 Hz -> 0,416 V
29,1 Hz -> 0,499 V
30,8 Hz -> 0,583 V
32,7 Hz -> 0,666 V
34,6 Hz -> 0,749 V
36,7 Hz -> 0,883 V
38,8 Hz -> 0,916 V
41,2 Hz -> 0,999 V
.
.
.
659,2 Hz -> 4,999 V

Me compré el módulo de micrófono KY-37 , pero luego leí que no me va a funcionar para esto. Probablemente tenga que comprar el Max9814.
Pero necesito ayuda para programar el sketch. Por ahí leí que debería usar la instrucción "timer". ¿Alguna idea o sugerencia?
Muchas gracias!

Te sugiero que busques proyectos sobre afinadores (hay varios) para tener ideas sobre el cálculo de las frecuencias y ver qué módulos utilizan.
En lo particular, creo que el KY-37 se adapta mejor porque la ganancia automática del 9814 te puede dar problemas amplificando ruidos circundantes.
Sobre la salida analógica recuerda que es PWM, verifica que sobre lo que vayas a actuar con esa salida sea apto para trabajar con PWM o ver si tienes adaptarlo, o directamente tienes que usar un convertidor digital a analógico externo.

Saludos

1 Like

Según con el arduino que trabajes el proyecto se te haré dificil a menos que manejes bien la electrónica.
Lo recomendable es usar alguno que disponga de salida DAC como el DUE, el ESP32 o el STM32F103C8 conocido como Bluee Pill.
Estos microprocesadores son mas adecuados que un Arduino standar con el que solo puedes tener una salida PWM y luego filtrarla para obtener una tensión.
La otra posibilidad es comprar un módulo DAC.

El DUE/ESP32/STM32 trabajan a 12 bits. lo cual es una mejora de la precisión.
El tema es que su salida es de 3.3V en los 3 casos.

1 Like

Gracias! ahora me compré el mcp4725, pero no puedo hacer que funcione. No sé si es problema de cómo lo conecto al arduino o de programación

Muchas gracias! ahora estoy tratando de hacer funcionar el mcp4725, cualquier ayuda será bien recibida. Saludos

Si pones en google: arduino mcp4725 ya te sale un tutorial de Luis Llamas.
Supongo que a esta altura eso ya puedes hacerlo.
Antes de preguntar busca!!

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.