Paso 81: Software: modo de medidor VU
Te darás cuenta que hay tres potenciómetros dentro del circuito amplificador. Cada uno de sus propósitos se enumeran a continuación, así como en la foto #1.
VR1
Este potenciómetro ajusta la ganancia del amplificador. Si tenemos una resistencia más alta en el potenciómetro, tendremos menos ganancia en el amplificador y viceversa. Si tenemos demasiada ganancia vamos a recoger ruido en el circuito pero si tenemos muy poca ganancia no recogemos mucho audio alrededor de la mesa. Puede tomar un poco de ensayo y error para averiguar qué resistencia funciona mejor pero no debería ser demasiado crítico. Nos podemos también filtrar algunos del ruido en el software también por compensación el valor recibido de la ADC. Una resistencia de 1kΩ trabaja bien aquí.
VR2
Esto ajusta la sensibilidad del micrófono. Encontré que esto no hace mucho de una diferencia, si pones en un 10kΩ fijo de resistencia en lugar de un potenciómetro que funciona muy bien.
URP
Esto ajusta la amortiguación de la señal. Si fijamos la resistencia real baja, recibimos un montón de valores ADC nerviosos. Mediante el establecimiento de esto a una resistencia más alta, la señal de audio DC convertida en el PIC será mucho más estable. Me parece que esto impide 5kΩ a 10kΩ funciona mejor.
Operación
Hay tres VU meter funciones principales incluidas en el código fuente y todos siguen el mismo formato de codificación. Leemos en el valor de ADC audio analógico canal AN2 con la función Read_VU(void), casquillo el valor del ADC en un valor máximo de 31 que nos da 32 diferentes intensidades audio para trabajar con (0 - 31). Entonces podemos programar la tabla de pong de la cerveza para modificar cualquier función de la tabla en cualquiera de los 32 niveles de intensidad. También podemos aumentar o disminuir la cantidad de niveles de intensidad del valor ADC si necesitamos. Antes de empezar a calibrar el medidor VU, tomar un multímetro y ajustar los potenciómetros cerca de los valores que indiqué arriba. Si VR3 siempre se establece en 0Ω, usted seguro no estar viendo una señal de audio desde el amplificador como va ser cortocircuito a tierra!
Calibrar el medidor VU
Para obtener el funcionamiento deseado del VU-metro, tenemos que filtrar apagado cualquier ruido no deseado que está en la línea de ADC. Que sea completamente tranquilo en la habitación o muy alto, siempre habrá un poco de tensión en la línea de señal que alimenta el módulo ADC. No queremos que la mesa de pong de la cerveza interpretar este voltaje como ruido audible por lo que hay que compensar el valor de ADC.
Si vas al archivo LED_Graphics.h que contiene los prototipos de función para las funciones del medidor VU, verá dos constantes llamados VU_SENSITIVITY y VU_OFFSET. Siga los pasos siguientes para calibrar el medidor VU:
1) puesta en marcha el MPLAB IDE y carga el código fuente. En la función principal y comentar todo el código actual.
2) agregar a la función VU_Meter_Bar() en el bucle principal (este debe ser el único código que se ejecuta en el bucle principal). Construir el código y programar el PIC en la placa principal.
3) que la habitación esté completamente en silencio y mirar la tabla de pong de la cerveza. Si cualquiera de las filas de LED están en es porque el VU-metro está captando ruido del circuito.
4) si todas las filas de LED estaban mientras que la sala estaba completamente en silencio, aumentar la constante VU_SENSITIVITY por 1. Reconstruir el código y vuelva a programar el PIC. Continúe haciendo esto hasta que hay menos de 32 filas de LED iluminado cuando es silencioso en la sala.
5) ahora que hay menos de 32 filas encendidas para arriba en la rejilla de LED, consigue un áspero contar de cuántas de las filas todavía se encienden para arriba. Ir a la constante VU_OFFSET y establezca su valor igual a la cantidad de filas que se encienden para arriba. Reconstruir y reprogramar el código.
6) debe calibrarse ahora y si se enciende alguna música o hacer ruido veremos el VU-metro responden muy bien al bajo y bajas frecuencias. Si usted todavía tiene unas filas que se iluminan cuando la sala está silenciosa, sólo aumentar el valor de VU_OFFSET hasta que la red es completamente silencioso y estarás listo!
Si no puede obtener cualquier respuesta del medidor de VU, asegúrese de comprobar la resistencia a través de VR1, VR2 y VR3 en el PCB principal y situado cerca de los valores que he publicado anteriormente. Si usted poner en marcha la función de VU_Meter_Bar() y no hay filas de LED se encienden para arriba cuando es silencioso, usted puede mantener disminuyendo los valores VU_SENSITIVITY y VU_OFFSET hasta que vea algo de ruido, luego retroceder un paso hasta que no hay ningún ruido más. Esto asegurará que el VU-metro está en su nivel óptimo de sensibilidad. Continuación se enumeran las tres animaciones de metro principal de VU.
VU_Meter_Bar(void)
Esta función se enciende en cada fila de la rejilla LED (32 filas) independientemente según la intensidad del sonido de la música. Si el nivel de audio está dentro de los valores 0 y 26, el color de las vainas RGB será verde. Si el nivel de audio está por encima de 26 y por debajo de 31, el color de las vainas RGB será amarillo. Cuando el nivel de audio maximiza hacia fuera en el 31 el color de la RGB vainas será rojo y los anillos de LED en la mesa también se encenderá.
VU_Meter_Circle_Out(void)
Esta función dibujará un círculo en el centro de la rejilla LED y el radio del círculo se determina por el nivel de audio del módulo ADC. El radio del círculo se expande como los aumentos del nivel de audio y se calcula como (nivel de audio / 2). Si el nivel sonoro está dentro de los valores 0 y 26, el color de las vainas RGB será verde. Si la intensidad del sonido está por encima de 26 y por debajo de 31, el color de las vainas RGB será amarillo. Cuando el nivel de audio maximiza hacia fuera en el 31 el color de la RGB vainas será rojo y los anillos de LED en la mesa también se encenderá.
VU_Meter_Pod_Color(void)
Esta función ajusta el color de las vainas RGB en relación con la intensidad del audio. Si no hay sonido, las vainas del RGB se enciende tenuemente azul. A medida que aumenta la intensidad de audio, el canal rojo haz más brillante y superar el canal azul tenue en las vainas, produciendo un color rosado rojizo. Cuando el nivel de audio maximiza a 31 los anillos LED sobre la mesa también se encenderá.
Quitar todos del código de main() mientras lazo, escribe en una de estas animaciones y programarlo para probarlo! Los tres de estas funciones pueden verse en el siguiente vídeo.