Tabla de contenido:
- Paso 1: Afinación estándar de Ukelele
- Paso 2: Creación de un modelo teórico puramente digital
- Paso 3: A continuación, el circuito analógico
- Paso 4: lectura de señales analógicas con DAQ Assistant
- Paso 5: Conclusión
Video: Sintonizador Ukelele usando LabView y NI USB-6008: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Como un proyecto de aprendizaje basado en problemas para mi curso de LabVIEW e Instrumentación en Humber College (Tecnología de Ingeniería Electrónica), creé un afinador de ukelele que tomaría una entrada analógica (tono de cuerda de ukelele), encontraría la frecuencia fundamental, decidiría qué nota estaba probando afinar, y decirle al usuario si la cuerda necesita afinarse hacia arriba o hacia abajo. El dispositivo que usé para traducir la entrada analógica en entrada digital fue el DAQ (dispositivo de adquisición de datos) USB-6008 de National Instruments, y la interfaz de usuario se implementó con LabVIEW.
Paso 1: Afinación estándar de Ukelele
El primer paso fue averiguar las frecuencias fundamentales de las notas musicales y en qué rango se afinan normalmente las cuerdas del ukelele. Usé estos dos gráficos y decidí que haría mi rango de tono entre 262 Hz (C) y 494 Hz (B alto). Cualquier valor inferior a 252 Hz se consideraría demasiado bajo para que el programa pueda descifrar qué nota se intenta reproducir, y cualquier valor superior a 500 Hz se considerará demasiado alto. Sin embargo, el programa todavía le dice al usuario cuántos Hz están lejos de la nota descifrable más cercana, y si la cuerda debe afinarse hacia arriba (nota demasiado baja) o hacia abajo (nota demasiado alta) para alcanzar una nota disponible.
Además, creé rangos para cada nota, en lugar de solo una frecuencia, para que fuera más fácil para el programa encontrar qué nota se estaba reproduciendo. Por ejemplo, el programa le diría al usuario que se está reproduciendo una C si la nota tuviera una frecuencia fundamental entre 252 Hz (a la mitad de B) y 269Hz (a la mitad de C #), pero para decidir si es necesario afinarla. o hacia abajo, aún compararía la nota que se toca con la frecuencia fundamental de C, que es 262Hz.
Paso 2: Creación de un modelo teórico puramente digital
Antes de sumergirme en el lado analógico del proyecto, quería ver si podía crear un programa de LabVIEW que al menos hiciera el procesamiento principal de una muestra de sonido, como leer una muestra de audio.wav, encontrar la frecuencia fundamental y hacer las comparaciones requeridas con la tabla de frecuencias para encontrar si el sonido debe sintonizarse hacia arriba o hacia abajo.
Usé SoundFileSimpleRead. VI disponible en LabVIEW para leer un archivo.wav desde una ruta que designé, puse la señal en una matriz indexada y envié esa señal al HarmonicDistortionAnalyzer. VI para encontrar la frecuencia fundamental. También tomé la señal de SoundFileSimpleRead. VI y la conecté directamente a un indicador de gráfico de forma de onda para que el usuario pueda ver la forma de onda del archivo en el panel frontal.
Creé 2 estructuras de casos: una para analizar qué nota se estaba reproduciendo y la otra para determinar si era necesario subir o bajar la cuerda. Para el primer caso, creé rangos para cada nota, y si la señal de frecuencia fundamental del HarmonicDistortionAnalyzer. VI estaba en ese rango, le diría al usuario qué nota se estaba reproduciendo. Una vez que se determinó la nota, el valor de la nota tocada se resta de la frecuencia fundamental real de la nota, y luego el resultado se traslada al segundo caso que determina lo siguiente: si el resultado es superior a cero, entonces la cuerda debe afinarse; si el resultado es falso (no superior a cero), entonces el caso verifica si el valor es igual a cero, y si es verdadero, entonces el programa notificaría al usuario que la nota está afinada; si el valor no es igual a cero, significa que debe ser menor que cero y que la cuerda debe afinarse. Tomé el valor absoluto del resultado para mostrarle al usuario cuántos Hz están lejos de la nota verdadera.
Decidí que un indicador de medidor sería lo mejor para mostrar visualmente al usuario lo que se debe hacer para afinar la nota.
Paso 3: A continuación, el circuito analógico
El micrófono que utilicé para este proyecto es el micrófono electret de condensador CMA-6542PF. La hoja de datos de este micrófono se encuentra a continuación. A diferencia de la mayoría de los micrófonos de condensador de este tipo, no tuve que preocuparme por la polaridad. La hoja de datos muestra que el voltaje de operación para este micrófono es de 4.5 - 10V, pero se recomienda 4.5 V, y su consumo de corriente es de 0.5mA como máximo, por lo que es algo con lo que se debe tener cuidado al diseñar un circuito de preamplificador para él. La frecuencia de funcionamiento es de 20 Hz a 20 kHz, lo que es perfecto para audio.
Implementé un diseño de circuito de preamplificador simple en la placa de pruebas y ajusté el voltaje de entrada, asegurándome de que no hubiera más de 0.5 mA en el micrófono. El condensador se usa para filtrar el ruido de CC que podría estar acoplado con las señales eléctricas (salida), y el condensador tiene polaridad, así que asegúrese de conectar el extremo positivo al pin de salida del micrófono.
Una vez que se completó el circuito, conecté la salida del circuito al primer pin de entrada analógica (AI0, pin 2) del USB-6008, y conecté la tierra del tablero al pin de tierra analógica (GND, pin 1). Conecté el USB-6008 a la PC con un USB y llegó el momento de hacer ajustes al programa LabVIEW para recibir una señal analógica real.
Paso 4: lectura de señales analógicas con DAQ Assistant
En lugar de usar SoundFileSimpleRead. VI y HarmonicDistortionAnalyzer. VI, usé DAQ Assistant. VI y ToneMeasurements. VI para manejar la entrada analógica. La configuración del DAQ Assistant es bastante sencilla y el VI en sí lo guía a través de los pasos. El ToneMeasurements. VI tiene muchas salidas para elegir (amplitud, frecuencia, fase), así que usé la salida de frecuencia que da la frecuencia fundamental del tono de entrada (del DAQ Assistant. VI). La salida de ToneMeasurements. VI tuvo que convertirse y colocarse en una matriz antes de que pudiera usarse en las estructuras de casos, pero el resto de la programación / indicadores de LabVIEW permaneció igual.
Paso 5: Conclusión
El proyecto fue un éxito, pero definitivamente hubo muchos defectos. Cuando estaba operando el sintonizador en un aula ruidosa, era muy difícil para el programa determinar qué era ruido y cuál era el tono que se estaba reproduciendo. Esto probablemente se deba a que el circuito de preamplificador es muy básico y el micrófono es muy económico. Sin embargo, cuando estaba en silencio, el programa funcionaba con buena fiabilidad para determinar la nota que se intentaba tocar. Debido a limitaciones de tiempo, no hice ningún cambio adicional, pero si tuviera que repetir el proyecto compraría un micrófono mejor y pasaría más tiempo en el circuito del preamplificador.
Recomendado:
¡Cómo construir un ukelele iluminado !: 21 pasos
¡Cómo construir un ukelele iluminado !: Yo toco el ukelele. Un poco mediocre (si esa es una palabra), así que pensé, "si realmente quieres impresionar a las chicas, necesitas un medio para distraerlas del desastre que está sucediendo en el escenario". De ahí el " Ukelele iluminado " nació
Hackear sintonizador de TV para leer fotos de la Tierra desde satélites: 7 pasos (con imágenes)
Hackear sintonizador de TV para leer fotos de la Tierra desde satélites: Hay muchos satélites sobre nuestras cabezas. ¿Sabías que usando solo tu computadora, sintonizador de TV y una simple antena de bricolaje podrías recibir las transmisiones de ellos? Por ejemplo, imágenes de la tierra en tiempo real. Te mostraré cómo. Necesitarás: - 2 w
Sintonizador: 9 pasos
Afinador: Este proyecto fue diseñado para hacer un sintonizador de guitarra usando Vivado y una pantalla de 7 segmentos. Una vez que el sintonizador encuentra la frecuencia del sonido ingresado, el sintonizador comparará ese valor con una lista de valores codificados para las frecuencias exactas que se conocen como
DIY ECG usando un Analog Discovery 2 y LabVIEW: 8 pasos
DIY ECG usando un Analog Discovery 2 y LabVIEW: En este Instructable, le mostraré cómo hacer un electrocardiógrafo casero (ECG). El objetivo de esta máquina es amplificar, medir y registrar el potencial eléctrico natural creado por el corazón. Un ECG puede revelar una gran cantidad de información sobre
Arregle una cadena de sintonizador de radio vintage: 11 pasos (con imágenes)
Arregle una cadena de sintonizador de radio vintage: ya hay algunos tutoriales muy buenos sobre radios antiguas, pero tuve un problema específico: la radio se enciende la radio hace ruido, y aumenta el volumen con la perilla de volumen, pero al girar la perilla de sintonización no se mueve la aguja ni el chan