Tabla de contenido:

Música de osciloscopio: 7 pasos
Música de osciloscopio: 7 pasos

Video: Música de osciloscopio: 7 pasos

Video: Música de osciloscopio: 7 pasos
Video: Uso del Osciloscopio 1: Controles Básicos y Calibración de Puntas 2024, Noviembre
Anonim
Image
Image
Fondo
Fondo

Introducción: Este Instructable es para cumplir con un requisito para la parte de documentación del proyecto de interfaz de microcomputadoras en la Universidad Estatal de Utah.

Paso 1: antecedentes

Fondo:

Se utiliza un osciloscopio para mostrar y medir una señal de voltaje que se traza en función del tiempo. Un osciloscopio en modo XY traza una señal contra otra señal como una ecuación paramétrica. Este proyecto utiliza un osciloscopio en modo XY para mostrar imágenes producidas por un archivo de sonido.

Paso 2: Idea original

Idea original
Idea original
Idea original
Idea original

La idea original del proyecto era convertir un viejo televisor de tubo de rayos catódicos (CRT) en un osciloscopio XY y usarlo para mostrar las imágenes. Esto se puede hacer desconectando las bobinas de deflexión. Cuando desconecta las bobinas horizontales aparece una línea vertical, y cuando desconecta la bobina vertical, aparece una línea horizontal. Todo lo que tenía que hacer era conectar la fuente de audio a las bobinas de deflexión y tendría un osciloscopio XY. Desafortunadamente, tuve varios problemas.

Paso 3: Problemas encontrados

Problemas encontrados
Problemas encontrados
Problemas encontrados
Problemas encontrados
Problemas encontrados
Problemas encontrados

Uno de los problemas que encontré fueron las características de seguridad. El televisor pudo detectar que las bobinas de desviación se habían desconectado y no se encendían. Esto es para evitar que el haz de electrones queme un agujero en el fósforo de la pantalla. Medí la resistencia de las bobinas y coloqué una resistencia a través de ella. La resistencia se quemó inmediatamente por la mitad debido a los altos voltajes. Intenté de nuevo con una resistencia de mayor potencia, pero tampoco funcionó. Leí algunos foros en línea sobre cómo se podría conectar otro conjunto de bobinas de desviación al televisor original, así que encontré otro televisor y conecté su bobina de desviación a la mía. La impedancia no era la misma, por lo que no se encendió. Después de investigar un poco más, descubrí que los televisores más antiguos no tenían la función de seguridad y no les importaba si las bobinas de desviación estaban desconectadas. Pude encontrar un televisor producido en 2000 que parecía funcionar. Pude obtener algunas formas simples en la pantalla, pero cualquier cosa más complicada que un círculo estaría muy distorsionada. Finalmente, este televisor dejó de funcionar y siguió quemando fusibles.

Pude encontrar un televisor pequeño que se fabricó en 1994. Este televisor funcionó bastante bien, pero no pude obtener la orientación correcta de la imagen, incluso cuando cambié las señales en todas las combinaciones. También tenía los mismos problemas que el otro televisor y no producía imágenes complicadas. Después de mucha investigación, descubrí que el problema era que estaba tratando de producir una imagen vectorial en una pantalla rasterizada. Una visualización de trama es una pantalla que escanea horizontalmente muy rápidamente y luego verticalmente a un ritmo más lento. Una pantalla vectorial usa líneas para producir imágenes. Encontré tutoriales sobre cómo convertir una pantalla ráster en una pantalla vectorial, pero el proceso era peligroso y llevaría mucho tiempo.

Paso 4: solución

Solución
Solución

Después de todos estos problemas, pude encontrar una solución bastante simple; un programa emulador de osciloscopio XY que tomó audio como entrada. Una vez que encontré este programa, pasé de centrarme en la creación de un osciloscopio a crear una forma de producir un archivo de audio a partir de una imagen para mostrar en un osciloscopio.

Emulador de osciloscopio

Paso 5: Detección de bordes y programa Matlab

Programa de detección de bordes y Matlab
Programa de detección de bordes y Matlab

Aquí hay un diagrama de flujo básico de mi programa. Comienza con una imagen que se carga en el programa EdgeDetect.m MATLAB. Este programa lo convierte en una imagen en escala de grises y luego detecta los bordes de la imagen. Las coordenadas XY de los bordes detectados se colocan en dos matrices que se convierten en un archivo de sonido.

Paso 6: Ejemplo: Robot Instructables

Aquí hay un ejemplo del proceso con el robot instructables. Primero descargue una imagen del robot instructables y guárdela como "image.png" en su carpeta de trabajo de MATLAB (en el mismo lugar que "EdgeDetect.m"). Asegúrese de que la imagen no tenga nada que desee que se detecte o podría agregar un montón de coordenadas innecesarias a su archivo de sonido. Ejecute el programa EdgeDetect y la imagen se convertirá a escala de grises, y sus bordes se detectarán y almacenarán como un archivo de sonido llamado "vector.wav". A continuación, abra el archivo de sonido en Audacity u otro programa de edición de sonido. Abra su programa emulador de osciloscopio (enlace en el paso anterior), configure la frecuencia de muestreo en 192000 Hz, presione inicio, haga clic en el botón del micrófono y seleccione la opción de entrada de línea. En Audacity, presione "shift + barra espaciadora" para reproducir el archivo de sonido en un bucle. La imagen debería aparecer en el emulador de osciloscopio.

Paso 7: Solución de problemas / Archivos de ejemplo

Mientras desarrollaba este programa, tuve que ajustar algunas configuraciones en el programa. Aquí hay algunas cosas para verificar si no está funcionando:

-Asegúrese de que su salida de audio se esté alimentando a su línea en su computadora y que tenga 2 canales de audio separados (izquierdo y derecho)

-Si el programa MATLAB no lee la imagen, es posible que deba editarla en paint y guardarla en un formato diferente.

-En la línea 61 del código, asegúrese de incluir los números de la pantalla de detección de bordes. El programa generalmente coloca un rectángulo alrededor de todo el objeto que puede recortar cambiándolo de "i = 1: longitud (B)" a "i = 2: longitud (B)". Además, si tiene números específicos que desea incluir, pero no desea incluirlos todos, puede usar corchetes para obtener números específicos: "[1 3 6 10 15 17]"

-Si la imagen se ve temblorosa y las partes están por todos lados, es posible que deba reducir el número de muestras ajustando "N" en la línea 76. Cuanto más simple sea la imagen, menor N puede ser, pero debería ser mayor si la imagen es complejo. Para el robot utilicé N = 5.

-También puede ajustar "Fs" en la línea 86. Cuanto mayor sea la frecuencia de muestreo, mejor se verá la imagen, pero algunas tarjetas de sonido no podrán manejar frecuencias de muestreo más altas. Las canciones modernas tienen una frecuencia de muestreo de alrededor de 320000 Hz.

Recomendado: