Tabla de contenido:
- Paso 1: Materiales
- Paso 2: herramientas
- Paso 3: Impresión 3D
- Paso 4: Construya el circuito
- Paso 5: cableado de la pantalla LCD
- Paso 6: Cableado de micrófono / amplificador
- Paso 7: cableado del interruptor momentáneo
- Paso 8: cableado del potenciómetro
- Paso 9: Cableado de la toma de auriculares
- Paso 10: Salida de micrófono / amplificador
- Paso 11: Continuación de la salida de micrófono / amplificador
- Paso 12: Componentes en el gabinete
- Paso 13: Soldadura en caja
- Paso 14: + 5V, cables extendidos GND
- Paso 15: Deslice los cables largos a través del orificio del gabinete
- Paso 16: encogimiento del calor
- Paso 17: Selle el recinto
- Paso 18: Conéctese a Arduino
- Paso 19: Arduino IDE / Bibliotecas
- Paso 20: Boceto de Arduino
- Paso 21: ¡Pruébelo
- Paso 22: Trabajo futuro
Video: Estetoscopio espectral de transformación rápida de Hartley: 22 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
En este instructivo, aprenderá cómo hacer un estetoscopio espectral usando la transformación rápida de Hartley. Esto se puede utilizar para visualizar los sonidos cardíacos y pulmonares.
Paso 1: Materiales
Pantalla LCD de 1.8 ($ 7.50 en Amazon)
Arduino Uno o equivalente ($ 7.00 en Gearbest)
Amplificador Electret ($ 6.95 en Adafruit)
Condensador de 100 µF ($ 0,79)
Alambres y puentes ($ 4.00)
Conector estéreo de 3,5 mm ($ 1,50)
Potenciómetro de 10kOhmios ($ 2.00)
Interruptor momentáneo ($ 1,50)
Paso 2: herramientas
Soldador
Pistola de silicona
Impresora 3D … o un amigo con una impresora 3D (también se puede hacer con cartón)
Cortador de cables
Tablero de circuitos
Paso 3: Impresión 3D
La primera es imprimir en 3D los archivos.stl adjuntos a este paso. Imprimí ambos archivos usando el siguiente material / configuraciones:
Material: PLA
Altura de la capa: 0,1 mm
Espesor de la pared / superior / inferior: 0,8 mm
Temperatura de impresión: 200 ° C
Temperatura de la cama: 60 ° C
Soporte habilitado @ 10%
Paso 4: Construya el circuito
Usando los componentes en la sección de materiales, construya el circuito. Siempre coloco el circuito en una placa de pruebas primero para asegurarme de que funciona correctamente antes de tocar el soldador.
Paso 5: cableado de la pantalla LCD
Utilizando la figura adjunta a este paso, suelde los cables a siete de los ocho pines de la pantalla LCD. Estos cables deberán tener aproximadamente 3 pies de largo, a excepción de los pines de tierra y + 5V (estos solo deben tener 2-3 pulgadas)
Paso 6: Cableado de micrófono / amplificador
Usando la figura adjunta a este paso, suelde tres cables a los pines + 5V, Tierra y Salida en el micrófono / amplificador Adafruit. Estos solo necesitan tener aproximadamente 2-3 pulgadas de largo.
Paso 7: cableado del interruptor momentáneo
Conecte un cable de 2-3 pulgadas a cada uno de los dos terminales del interruptor momentáneo.
Paso 8: cableado del potenciómetro
Usando la figura del paso 6, suelde tres cables de aproximadamente 2-3 pulgadas de largo a las tres lengüetas del potenciómetro.
Paso 9: Cableado de la toma de auriculares
Suelde tres cables al anillo, la punta y las lengüetas de la manga de la toma de auriculares. Usé un conector de un metrónomo que ya estaba cableado. Si no sabe qué son las orejetas del anillo, la punta y la manga, simplemente busque en Google. Hay muchas imágenes buenas sobre el cableado de las tomas estéreo.
Paso 10: Salida de micrófono / amplificador
Después de soldar los cables del micrófono / amplificador, el potenciómetro y el conector para auriculares, suelde un cable de aproximadamente tres pies de largo al cable "de salida" del amplificador del micrófono. Este cable se conectará más tarde al pin A0 del arduino.
Paso 11: Continuación de la salida de micrófono / amplificador
Suelde un segundo cable al cable de "salida" del micrófono / amplificador. Este cable debe soldarse a un capacitor de 100 microFaradios. Si está utilizando un condensador electrolítico, asegúrese de que el lado positivo esté conectado a este cable.
Paso 12: Componentes en el gabinete
Después de que todos los cables estén soldados en los componentes, coloque los componentes en sus respectivos lugares siguiendo las figuras adjuntas a este paso. Usé pegamento termofusible para asegurar el micrófono y la toma de auriculares en su lugar.
Paso 13: Soldadura en caja
Después de que todos los componentes estén asegurados en el gabinete, suelde todos los cables de tierra juntos. Debe haber uno de la pantalla LCD, uno del micrófono / amplificador y uno de la funda de la toma de auriculares. También suelde los cables de + 5V juntos y un cable del interruptor momentáneo. Una vez más, debería haber uno en la pantalla LCD, uno en el micrófono / amplificador y uno en el interruptor momentáneo.
Paso 14: + 5V, cables extendidos GND
Ahora corte dos trozos de alambre de aproximadamente 3 pies de largo. Suelde uno al grupo de cables de tierra y suelde el otro al cable abierto en el interruptor momentáneo.
Paso 15: Deslice los cables largos a través del orificio del gabinete
Ahora, debe tener un total de ocho cables de aproximadamente 3 pies de largo. Colóquelos a través del orificio sin rellenar del gabinete. Vea la figura adjunta a este paso.
Paso 16: encogimiento del calor
Una vez completada toda la soldadura, asegúrese de que los cables expuestos estén cubiertos. Usé tubos termorretráctiles, pero la cinta aislante también funciona bien.
Paso 17: Selle el recinto
Tome la mitad del gabinete que contiene la pantalla LCD y deslícela sobre la otra mitad del gabinete que contiene los otros componentes. Mientras empuja las dos piezas juntas, péguelas en caliente para asegurar el gabinete.
Paso 18: Conéctese a Arduino
Los ocho cables largos restantes están conectados directamente a sus respectivos pines Arduino descritos en los esquemas del circuito. ¡Asegúrese de que cada vez que suelde uno de esos cables largos de 3 pies en el circuito, coloque un trozo de cinta en el otro extremo que indique a qué pin de Arduino va!
Paso 19: Arduino IDE / Bibliotecas
Deberá descargar el IDE de Arduino. Para este boceto, utilicé tres bibliotecas diferentes: FHT.h, SPI.h y TFT.h. Si no sabe cómo descargar las bibliotecas de Arduino, consulte https://www.arduino.cc/en/Guide/Libraries. La biblioteca FHT.h se descargó de openmusiclabs.com. Los otros dos se descargaron en GitHub.
Paso 20: Boceto de Arduino
El código utiliza la Transformada Rápida de Hartley (FHT) para cambiar el dominio del tiempo a un dominio de frecuencia. Esto también se puede hacer usando la Transformada Rápida de Fourier (FFT), pero la FHT es mucho más rápida. FFT y FHT son ideas muy fundamentales en el procesamiento de señales y es muy divertido aprender sobre ellas. Le sugiero que lea un poco usted mismo, si está interesado, consulte. El código de ejemplo de FHT que copié del sitio web de Open Music Labs inicialmente mostraba la amplitud de cada intervalo de frecuencia como una salida logarítmica o en decibelios. Cambié esto para generar los contenedores de frecuencia en una escala lineal. Esto se debe a que la escala lineal es una mejor representación visual de cómo los humanos escuchan el sonido. El bucle for () al final es para dibujar la amplitud de cada intervalo de frecuencia en la pantalla LCD. El espectro completo de FHT abarcaría todos los intervalos de frecuencia desde i = 0 hasta i <128. Notará que mi bucle for () es de i = 5 a i <40, esto se debe a que las frecuencias importantes para diagnosticar afecciones pulmonares suelen estar entre 150Hz y 3.5khz, decidí subir a aproximadamente 4kHz. Eso se puede ajustar si desea mostrar el espectro de frecuencia completo.
[código]
// Código de estetoscopio digital
// Biblioteca Fast Hartley Transform descargada de openmusiclabs
#define LIN_OUT 1 // establece FHT para producir una salida lineal
#define LOG_OUT 0 // desactiva la salida logarítmica FHT
#define FHT_N 256 // Número de muestra FHT
#include // incluye la biblioteca FHT
#include // incluye la biblioteca TFT
#include // incluye biblioteca SPI
#define cs 10 // establece el pin lcd cs en el pin 10 de arduino
#define dc 9 // establece el pin lcd dc en el pin 9 de arduino
#define rst 8 // establece el pin de reinicio del lcd en el pin 8 de arduino
TFT myScreen = TFT (cs, dc, rst); // declarar el nombre de la pantalla TFT
configuración vacía () {
//Serial.begin(9600);//set frecuencia de muestreo
myScreen.begin (); // inicializar la pantalla TFT
myScreen.background (0, 0, 0); // establece el fondo en negro
ADCSRA = 0xe5; // establece adc en modo de ejecución libre
ADMUX = 0x40; // usa adc0
}
bucle vacío () {
while (1) {// reduce el jitter cli (); // La interrupción UDRE se ralentiza de esta manera en arduino1.0
for (int i = 0; i <FHT_N; i ++) {// guardar 256 muestras
mientras (! (ADCSRA & 0x10)); // espera a que adc esté listo
ADCSRA = 0xf5; // reiniciar el byte adc
m = ADCL; // recupera el byte de datos adc
j = ADCH; int k = (j << 8) | metro; // formar en un int
k - = 0x0200; // forma un int firmado
k << = 6; // forma en un int firmado 16b
fht_input = k; // poner datos reales en contenedores
}
fht_window (); // ventana de los datos para una mejor respuesta de frecuencia
fht_reorder (); // reordenar los datos antes de hacer el fht
fht_run (); // procesar los datos en el fht
fht_mag_lin (); // tomar la salida del fht
sei ();
para (int i = 5; i <40; i ++) {
myScreen.stroke (255, 255, 255);
myScreen.fill (255, 255, 255);
int drawHeight = map (fht_lin_out , 10, 255, 10, myScreen.height ());
int ypos = myScreen.height () - drawHeight-8; myScreen.rect ((4 * i) +8, ypos, 3, drawHeight);
}
myScreen.background (0, 0, 0);
}
}
[/código]
Paso 21: ¡Pruébelo
Usé un generador de tonos en línea (https://www.szynalski.com/tone-generator/) para confirmar que el código funcionaba correctamente. Después de confirmar que funciona, presione la campana del estetoscopio contra su pecho, respire profundamente y vea qué frecuencias están presentes.
Paso 22: Trabajo futuro
** Nota: soy químico, no ingeniero o informático **. Es probable que haya errores y mejoras en el diseño y el código. Dicho esto, creo que es un buen comienzo para algo que puede resultar muy útil y económico. Las siguientes viñetas son mejoras futuras que me gustaría hacer y espero que algunos de ustedes también intenten mejorarlas.
· Hacer que el dispositivo sea móvil. No tengo una amplia experiencia con CPU u otros microcontroladores, pero necesitaría tener suficiente memoria para almacenar toda la biblioteca FHT en, o posiblemente Bluetooth.
· Introducir algunos cálculos de análisis estadístico en el código. Por ejemplo, normalmente una sibilancia tiene una frecuencia fundamental igual o superior a 400 Hz y dura al menos 250 ms. Rhonchi se produce a una frecuencia fundamental de aproximadamente 200 Hz o menos y dura al menos 250 ms. Muchos otros sonidos pulmonares están definidos e indican condiciones de salud (https://commongiant.github.io/iSonea-Physicians/assets/publications/7_ISN-charbonneau-Euro-resp-Jour-1995-1942-full.pdf). Creo que es algo que se puede verificar en el código comparando la señal de los contenedores de frecuencia después de un cierto número de ciclos a través del FHT y luego ejecutando la función millis () para ver cuánto tiempo estuvo presente, luego comparándolo al piso de ruido del cálculo FHT. ¡Estoy seguro de que se pueden hacer estas cosas!
Espero que se hayan divertido con este proyecto y si tienen alguna pregunta, por favor comenten y les responderé lo antes posible. Espero ver comentarios.
Recomendado:
ThreadBoard (versión no impresa en 3D): Tablero de creación rápida de prototipos de textil electrónico: 4 pasos (con imágenes)
El ThreadBoard (versión no impresa en 3D): E-Textile Rapid Prototyping Board: El Instructable para la versión impresa en 3D del ThreadBoard V2 se puede encontrar aquí. La versión 1 del ThreadBoard se puede encontrar aquí. viajes, pandemias y otras barreras, es posible que no tenga acceso a una impresora 3D, pero quiere
The ThreadBoard: Tablero de creación rápida de prototipos de textiles electrónicos: 5 pasos (con imágenes)
ThreadBoard: E-Textile Rapid Prototyping Board: El Instructable para la versión no impresa en 3D del ThreadBoard V2 se puede encontrar aquí. La versión 1 del ThreadBoard se puede encontrar aquí. para la creación rápida de prototipos de textiles electrónicos
Arduino: Transformación de frecuencia (DFT): 6 pasos
Arduino: Transformada de frecuencia (DFT): este programa es para calcular la transformación de frecuencia en arduino con control de la batería sobre los parámetros. Se resuelve usando la transformada profanada fouriior. esto no es FFT. FFT es un algoritmo que se utiliza para resolver DFT en menos tiempo. El código para FFT se puede encontrar aquí
Manera rápida y fácil de cambiar la pantalla de bloqueo en 6 sencillos pasos (Windows 8-10): 7 pasos
Manera rápida y fácil de cambiar la pantalla de bloqueo en 6 sencillos pasos (Windows 8-10): ¿Desea cambiar las cosas en su computadora portátil o PC? ¿Quieres un cambio en tu atmósfera? Siga estos pasos rápidos y sencillos para personalizar con éxito la pantalla de bloqueo de su computadora
Iluminación LED para habitaciones rápida, rápida, económica y atractiva (para cualquier persona): 5 pasos (con imágenes)
Iluminación LED de habitación rápida, rápida, barata y atractiva (para todos): Bienvenidos todos :-) Este es mi primer instructivo, así que los comentarios son bienvenidos :-) Lo que espero mostrarles es cómo hacer una iluminación LED rápida en un PEQUEÑO buget. Lo que necesita: CableLEDsResistores (510Ohms para 12V) StapelsSolderCutters y otros basi