Analizador-visualizador de espectro de audio basado en Arduino
¿Qué crees que hacen las chicas cuando se juntan? ¿Ir de compras, tomar fotos, ir a salones de belleza? Sí, lo es, pero no todos lo hacen. Este artículo discutirá cómo dos chicas decidieron armar un dispositivo electrónico con sus propias manos.¿Por qué exactamente un analizador-visualizador de espectro?
Después de todo, hay muchas soluciones de software para este problema, y también hay muchas opciones para la implementación de hardware. En primer lugar, realmente quería trabajar con una gran cantidad de LED (porque ya ensamblamos el cubo de led, cada uno para nosotros, pero en tamaños pequeños), y en segundo lugar, poner en práctica los conocimientos adquiridos en el procesamiento de señales digitales y, en En tercer lugar, una vez más para practicar trabajar con un soldador.Desarrollo de dispositivos
Porque tomar una solución preparada y hacerlo estrictamente de acuerdo con las instrucciones es aburrido y poco interesante, por lo que decidimos desarrollar el circuito nosotros mismos, confiando solo un poco en los dispositivos ya creados.Como pantalla, elegimos una matriz de LED de 8x32. Era posible utilizar matrices LED de 8x8 listas para usar y ensamblarlas, pero decidimos no negarnos el placer de sentarnos por la noche con un soldador y, por lo tanto, ensamblamos la pantalla nosotros mismos a partir de los LED.Para controlar la pantalla, no inventamos una bicicleta y usamos un circuito de control con indicación dinámica. Es decir seleccionamos una columna, la encendimos, las columnas restantes en ese momento se extinguieron, luego seleccionamos la siguiente, la encendimos, el resto se extinguió, etc. Debido al hecho de que el ojo humano no es perfecto, podemos observar una imagen estática en la pantalla.Siguiendo el camino de menor resistencia, se decidió que sería aconsejable transferir todos los cálculos al controlador Arduino.La inclusión de una fila en una columna se realiza abriendo la clave correspondiente. Para reducir el número de pines de salida del controlador, la columna se selecciona mediante decodificadores (por lo tanto, podemos reducir el número de líneas de control a 5).
Como una interfaz para conectarse a una computadora (u otro dispositivo capaz de transmitir una señal de audio), se seleccionó el conector TRS (mini-jack de 3,5 mm).Montaje del dispositivo
Comenzamos el ensamblaje del dispositivo haciendo un modelo del panel frontal del dispositivo.
El material para el panel frontal se seleccionó plástico negro de 5 mm de espesor (ya que el diámetro de la lente del diodo también es de 5 mm). Lo marcamos de acuerdo con el diseño desarrollado, recortamos el panel frontal al tamaño requerido y perforamos agujeros en el plástico para los LED.
Por lo tanto, obtenemos un panel frontal terminado en el que ya puede ensamblar la pantalla.
Como los LED para la matriz, se utilizaron dos colores (rojo-verde) con el cátodo común GNL-5019UEUGC. Antes de comenzar el ensamblaje de la matriz, guiado por la regla "el control adicional no dañará" todos los LED, es decir, 270 unidades. (tomado con un margen por si acaso), se probó la operabilidad (para esto se ensambló un dispositivo de prueba, que incluye un conector, una resistencia de 200 ohmios y una fuente de alimentación de 5V).
A continuación, ampliamos los LED de la siguiente manera. Los ánodos de los diodos rojo y verde están doblados hacia un lado (hacia la derecha), el cátodo está doblado hacia el otro lado, mientras se asegura de que el cátodo esté más bajo que los ánodos. Y luego a 90 ° doblamos el cátodo hacia abajo.
Comenzamos el ensamblaje de la matriz desde la esquina inferior derecha, el ensamblaje se realiza en columnas.
Recordando la regla "el control adicional no hará daño", después de una o dos columnas unidas, verificamos el rendimiento.
La matriz terminada es la siguiente.
Vista posterior: de
acuerdo con el esquema desarrollado, soldamos el esquema de gestión de filas y columnas, soldamos los cables y el lugar debajo del Arduino.
Se decidió derivar no solo la frecuencia de amplitud, sino también el espectro de frecuencia de fase, así como seleccionar el número de muestras a mostrar (32,16,8,4). Para esto, se agregaron 4 interruptores: uno para seleccionar el tipo de espectro, dos para seleccionar el número de muestras y uno para encender y apagar el dispositivo.Escribir un programa
Una vez más, nos guiamos por nuestra regla y nos aseguramos de que nuestra pantalla esté completamente operativa. Para hacer esto, escribimos un programa simple que ilumina completamente todos los LED en la pantalla. Naturalmente, de acuerdo con la ley de Murphy, varios LED carecían de corriente y debían ser reemplazados.
Después de asegurarnos de que todo funciona, comenzamos a escribir el código del programa principal. Consta de tres partes: inicializar las variables necesarias y leer los datos, obtener el espectro de la señal utilizando la transformada rápida de Fourier, emitiendo el espectro obtenido con el formato necesario a la pantalla.Conjunto de dispositivo final
Al final, tenemos un panel frontal, y debajo hay un montón de cables que deben cerrarse con algo, y los interruptores deben fijarse en algo. Antes de eso, había pensamientos para hacer un caso con los restos de plástico, pero no imaginábamos cómo se vería específicamente y cómo hacerlo. La solución al problema llegó de manera bastante inesperada. Caminando por la ferretería, encontramos una maceta de plástico que era sorprendentemente perfecta en tamaño.
El asunto permaneció pequeño, marque los agujeros para los conectores, cables e interruptores, y corte los dos paneles laterales de plástico.
Como resultado, después de reunir todo, conectar el dispositivo a la computadora, obtuvimos lo siguiente:Respuesta de frecuencia (32 muestras):
Respuesta de frecuencia (16 muestras):
Respuesta de frecuencia (8 muestras):
Respuesta de frecuencia (4 muestras):
Espectro de fase-frecuencia:
Vista posterior:
Video de operación del dispositivo
Para mayor claridad, el video fue filmado en la oscuridad. El dispositivo muestra el espectro de amplitud-frecuencia en el video, y luego a los 7 segundos lo cambiamos al modo de espectro de frecuencia de fase.Lista de artículos requeridos
- GNL-5019UEUGC LED - 256 piezas (Para mostrar)
- Transistores npn KT863A - 8 piezas (Para la gestión de cadenas)
- Transistores pnp 32740 - 32 piezas (Para gestionar columnas)
- Resistencias de 1kΩ - 32 piezas (Para limitar la corriente base de los transistores pnp)
- Decodificadores 3/8 IN74AC138 - 4 piezas (Para seleccionar una columna)
- Decodificadores 2/4 IN74AC139 - 1 ud. (Para decodificadores en cascada)
- Placa de montaje 5x10cm - 2 piezas
- Bucles
- Arduino Pro micro - 1 pieza
- Mini-jack 3.5mm - 1 pieza
- Interruptor - 4 piezas
- Plástico negro 720 * 490 * 5 mm - 1 hoja. (Para panel frontal)
- Maceta negra 550 * 200 * 150 mm - 1 pieza (Para vivienda)
Source: https://habr.com/ru/post/es395289/
All Articles