Tabla de contenido:
- Paso 1: Lista de piezas de radio de la máquina del tiempo de la Segunda Guerra Mundial
- Paso 2: encontrar una radio vieja
- Paso 3: Extracción de la radio antigua y construcción de un nuevo chasis
- Paso 4: Renovación del caso
- Paso 5: Raspberry Pi Zero y amplificador
- Paso 6: hacer un nuevo dial
- Paso 7: controles de volumen y selector
- Paso 8: Fuente de alimentación y control
- Paso 9: Equipamiento de la carcasa
- Paso 10: descarga de archivos de sonido
- Paso 11: Circuito y software para reproducir los archivos
- Paso 12: Arranque automático del software al cargar
- Paso 13: ¿Qué sigue?
Video: Máquina del tiempo de transmisión de radio de la Segunda Guerra Mundial: 13 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
La idea detrás de esto era usar algunas partes que tenía por ahí y construir una máquina de discos de audio a la manera de una radio vieja. Para darle más propósito, también decidí llenarlo con transmisiones de radio antiguas de la Segunda Guerra Mundial y luego reutilizar el dial de frecuencia para seleccionar un año individual de la guerra y luego se reproducirían las transmisiones relevantes. Había visto algunas colecciones de grabaciones MP3, así que todo estaba listo para funcionar.
En términos de hardware, mi favorito es el arduino o el raspberry pi zero, y para esto usaré el raspberry pi zero. Sin embargo, tiene sus inconvenientes y en este caso es la falta de audio fácil de usar y no hay entradas analógicas fáciles. Para superar esto, tiendo a usar Adafruit I2S 3W Class D Amplifier Breakout - MAX98357A, que es una forma realmente fácil de agregar audio al Pi y para la entrada analógica un MCP 3002 que es un convertidor de dos canales a SPI. Generalmente la gente tiende a usar un MCP 3008 que tiene 4 entradas pero pensé que sería demasiado fácil, afortunadamente logré encontrar algún software que funcionó con estas al final.
Uno de los otros problemas con el uso de un PI es que tiende a sufrir si simplemente lo apaga sin realizar un apagado, me he encontrado con esto innumerables veces y siempre parece corromper el archivo de configuración de red. Con esto siendo visualizado como un simple independiente que hubiera sido un problema, también agregué un Pimoroni On / Off Shim que realiza un apagado elegante con solo presionar un botón, pero también permite un arranque con el mismo botón.
Paso 1: Lista de piezas de radio de la máquina del tiempo de la Segunda Guerra Mundial
Las partes necesarias
- Radio vieja
- Francés polaco
- Papel de lija
- Lexan para marcar
- Termorretráctil
- Raspberry Pi Zero
- Amplificador I2S
- ENCENDIDO / APAGADO Cuña
- Vocero
- Bloque de alimentación
- MCP3002
- DIRIGIÓ
- Resistencia 270R
- 2x macetas de 10k
- Empuje para hacer Switch
- Cable USB
Paso 2: encontrar una radio vieja
El primer paso, por supuesto, es encontrar una radio vieja adecuada y me las arreglé para encontrar esta en eBay por £ 15. Hubo la tentación de ponerlo en funcionamiento al principio, pero cuando salió el chasis y se mostró la gama completa de resistencias y condensadores que necesitarían ser reemplazados, no me sentí tan mal por desarmarlo. Aunque estrictamente no es un conjunto de la década de 1940, hay algunos kits de construcción de casas de esa época que ciertamente se parecían.
Paso 3: Extracción de la radio antigua y construcción de un nuevo chasis
Es bastante sencillo desmontar uno de estos, generalmente parece que el chasis está montado en la carcasa y en el que todo está montado. Entonces, una vez que se desenrosca y se sueltan las perillas, simplemente se desliza hacia afuera. La mayoría están construidos completamente sobre un subchasis. Mi intención original era usar un altavoz de una caja de altavoces bluetooth destrozada, pero me preguntaba si el anterior funcionaría. Fue una agradable sorpresa descubrir que no solo funcionaba, sino que también sonaba realmente genial. Entonces, el siguiente paso aquí fue seguir midiendo todo y construir un nuevo chasis en Tinkercad. Redefiní el área de marcado de frecuencia y mantuve el altavoz en el mismo lugar. Además, se agregó una placa de montaje para el pi cero. Lo imprimí en PETG, que me parece menos resistente a la deformación y un ajuste de prueba de todas las piezas pareció demostrar que funcionaría. Tuve que jugar un poco con el montaje de volumen para que las nuevas macetas encajaran bien y aún se montaran a través de la carcasa.
Puede descargar el chasis 3D aquí si quiere jugar con él
www.thingiverse.com/thing:3174818
Paso 4: Renovación del caso
Ahora, lo primero que debía hacer cuando se desmantelaba el caso era decidir qué hacer con el acabado. Aunque el caso no estaba tan mal, inicialmente pensé en darle una buena limpieza para mantener el aspecto de pátina gastada. A menudo, una pasada con vinagre refrescará una caja vieja, pero había algunos lugares en los que el barniz se había roto, así que decidí quitarlo. Con las cajas de madera viejas, normalmente se cubren con una fina chapa de madera, pero no es tan delgada que no se pueda lijar bien. Primero se quitó la tela de la rejilla del altavoz, que era bastante desagradable con aproximadamente 50 años de polvo y suciedad, y se dejó a un lado. Luego, un par de capas gruesas de Nitromors, un decapante y el barniz viejo finalmente se desprendieron. Esto tuvo que hacerse dos veces ya que probablemente se barnizó en algún momento sobre el acabado original. Para despejar algunos rayones y darle un mejor acabado se lijó con papel de lija de grano 100 y luego se lijó finalmente con una esponja de lijado mediana. Haga todo esto en línea con la veta y luego limpie con aguarrás para limpiar el polvo. Al mismo tiempo, la caja también se fijó con un poco de pegamento para madera donde la chapa se había desprendido ligeramente. Las barras de la rejilla de madera también se habían deslaminado un poco, por lo que más madera pega y empuja hacia atrás las piezas donde sea posible. Una vez que se secó, usé un bisturí para limpiar los bordes de la madera y los pinté de marrón con pintura acrílica de Tamiya.
Lo primero que pensé fue simplemente reemplazar la tela del altavoz, pero el costo del material de apariencia auténtica es bastante elevado, ya que tiende a venderse en longitudes largas. Después de explorar un poco los foros de radio antiguos, parece que puedes traer ropa vieja con un remojo. Entonces, usando agua fría y mucho detergente, lo empapé durante la noche y, sorprendentemente, una vez que se secó nuevamente, quedó bastante limpio.
Ahora iba a abordar el acabado e inicialmente decidí darle un barniz transparente, luego pensé en usar un barniz en aerosol y, mientras estaba en la isla de barniz / pintura de la tienda local de bricolaje, encontré una botella de esmalte francés. Pensando que sería un buen acabado auténtico, decidí intentarlo. Así que ahora necesitas saber que el pulido francés es prácticamente una forma de arte / habilidad que requiere mucha práctica para hacerlo bien. Puede buscar instrucciones en YouTube y, aunque parece bastante simple, es una operación bastante complicada. La habilidad parece ser poner el esmalte en un trapo empapado en algodón para que puedas exprimir el esmalte sobre la madera mientras trabajas. Si solo lo prueba con un trapo, aproximadamente 3/4 de la forma en que el esmalte comienza a secarse a medida que el etanol se evapora y el trapo comienza a arrastrarse. Entonces, al final, en lugar de obtener el acabado de alto brillo, logré aplicar un par de capas, lijar ligeramente con papel de grado 1500, luego aplicar algunas más y terminó luciendo bien. Sin embargo, todavía tengo manchas de esmalte francés en las uñas.
Limpiar las otras partes fue mucho más fácil con todo el hardware en el limpiador ultrasónico y el dial se pulió con un poco de Silvo Polish. Brasso tendría la opción, pero Silvo y un poco más de esfuerzo eran suficientes para limpiar el indicador de cuadrante.
Al final de esto, tenía una caja de madera bastante bonita lista para la máquina del tiempo.
Pasos en esta sección 1. Quite los pernos / diales y el paño.
2. Pele la caja con nitromors.
3. Lijar la chapa
4. Reparación de la rejilla
5. Limpieza de la tela del altavoz
6. French pulido de la caja
7. Limpieza ultrasónica de tornillos y pomos
8. Pulido del comparador
Paso 5: Raspberry Pi Zero y amplificador
Con una salida de audio normal de Raspberry PI es bastante simple ya que tiene una salida de audio jack, pero para el Pi Zero no hay opciones nativas reales. Hay algunas soluciones que probé en las que puede redirigir los pines GPIO y luego usar un filtro de paso bajo, pero nunca he podido obtener algo que suene decente y, por supuesto, también necesita un amplificador para obtener algo utilizable.. Hay muchos sombreros DAC, pero estos son para personas que buscan un audio realmente bueno y exagerado para este tipo de proyectos. También hay algunos sombreros de audio baratos y agradables con parlantes incorporados, pero no lo suficientemente ruidosos para esto. Así que ahora me quedo con la placa de ruptura del amplificador i2S de Adafruit, que resuelve todos los problemas de una sola vez. Solo tenga en cuenta que es i2S y no i2C.
Solo necesita unos pocos cables para que esto funcione y con un altavoz lo suficientemente decente puede obtener un audio mono excelente y fuerte.
Paso 6: hacer un nuevo dial
La idea aquí, por supuesto, es reemplazar el dial y el vidrio existentes por uno que muestre el año en lugar de la frecuencia. Afortunadamente, el existente era solo un inserto impreso, así que lo dejé caer en el escáner y lo copié en Paint Shop Pro, usé la herramienta de clonación y borré los números antiguos y luego escribí algunos nuevos para cada año. Con el vidrio, el de la radio estaba rayado y agrietado y resultó ser de plástico también. Imprimí solo el borde del bisel para facilitar la prueba de ajuste y originalmente intenté hacer uno con acrílico. Por lo general, no tengo suficiente paciencia con el acrílico y terminé agrietándolo al intentar perforar el orificio central. Así que recurrí al policarbonato de 1,5 mm, que es mucho más fácil de cortar y perforar. Puede encontrarlo también llamado Lexan o Macrolon dependiendo de dónde viva y también lleva un archivo, así que pronto tuve un bisel y un dial que encajaba. Curiosamente también fue que el papel original tenía un ligero depósito de metal por todas partes, solo puedo asumir que fue alguien afectado por el puntero de latón original, ¿quizás algún proceso de envejecimiento?
Paso 7: controles de volumen y selector
Uno de los inconvenientes de la Raspberry pi para los retoques es que no tiene ninguna entrada analógica nativa. Realmente no es un gran problema si agrega un ADC (convertidor analógico a digital) simple y el MPC3002 se ajusta aquí y convierte una entrada analógica en un valor de 10 bits que se puede leer en el bus SPI.
Casi todos los ejemplos que encuentra son para el MPC3008, que es un dispositivo de 4 canales y el código para eso ciertamente no funciona con el MPC3002. También parece haber muchos ejemplos que tampoco funcionan, pero hay uno que puedo confirmar que funciona y su código se puede encontrar aquí.
github.com/CaptainStouf/Adafruit-raspi-pyt…
Con este código, puede leer fácilmente dos canales y utilizar los resultados. Mi ejemplo va a usar uno para el Volumen y el otro para la selección de la fecha. En un momento también tuve un codificador rotatorio instalado, pero un volumen de una sola vuelta es más adecuado y con el selector de frecuencia también significaba que podía ensamblarlo todo y luego simplemente sintonizar las ubicaciones de los marcadores de año con una gran declaración de caso. Naturalmente, Pyhon no admite la declaración de caso, por lo que una declaración larga de if entonces else if hará el trabajo.
La imagen muestra el MCP3002 sentado en una pequeña placa prototipo y el bote de 10K
Paso 8: Fuente de alimentación y control
El Pi simplemente funciona con la alimentación del USB, por lo que es muy fácil de poner en marcha, sin embargo, terminará corrompiendo la tarjeta SD si simplemente desconecta la energía. Hay muchas formas de monitorear la pulsación de un botón e iniciar un apagado, pero luego tiende a tener que apagar y encender para volver a encenderlo. Para solucionar esto y hacer un proyecto fácil de usar, utilizo la cuña Pimoroni ON / OFF. Esto le permite presionar una vez y se enciende y luego una presión larga y se ejecutará un apagado limpio. Para hacerlo un poco portátil también, utilizo un banco de energía antiguo que también maneja la carga de la batería. Los powerbanks son lo suficientemente baratos y capaces de hacer funcionar el Pi durante un tiempo razonable.
Coloqué el pulsador para hacer el botón correctamente en el lugar donde el viejo cable de alimentación eléctrica salía por la parte posterior. Como hay un retraso mientras el Pi se inicia, conecté un LED al riel 3v3 que se enciende y tan pronto como el PI se enciende y proporciona un brillo auténtico y agradable en el dial. Puse una resistencia 270R en línea y el otro extremo solo a tierra. También puede agregar otro a un pin GPIO si desea dar efectos adicionales como parpadeo, pero por ahora esto es suficiente para mostrar que la energía está encendida.
Paso 9: Equipamiento de la carcasa
Con la caja y el chasis listos y probados, solo necesitaron unos pocos pernos de 4 mm y tuercas Nyloc para mantenerlo adentro. Los tornillos autorroscantes con brida mantienen la parte posterior en su lugar.
El botón de encendido también encajaba muy bien en el antiguo orificio del cable de alimentación.
También quería reutilizar las perillas viejas y fueron diseñadas originalmente, parece ir a varillas de latón y eran un poco demasiado grandes para las ollas. Como esto no va a recibir ningún manejo brusco, simplemente deslicé un poco de termorretráctil sobre las macetas y luego pegué las perillas en eso. Se agarra bien y apretado y aún puede desarmarlo si es necesario.
Paso 10: descarga de archivos de sonido
Estoy usando archivos MP3 y hay una selección fantástica de Archive.org, puede encontrar transmisiones agrupadas de transmisiones en tiempo de guerra y hay principalmente dos selecciones para elegir.
Comencé con la selección principalmente de noticias y luego se copian en directorios en el PI. También puede encontrar la selección más grande, llamada Big one, en el siguiente enlace. Hay varios cientos de transmisiones por año y es bastante sorprendente la cantidad y variedad de estas.
archive.org/details/1939RadioNews
archive.org/details/1940RadioNews
archive.org/details/1941RadioNews
archive.org/details/1942RadioNews
archive.org/details/1943RadioNews
archive.org/details/1944RadioNews
archive.org/details/1945RadioNews
Colección más grande
archive.org/details/WWII_News_1939
archive.org/details/WWII_News_1940
archive.org/details/WWII_News_1941
archive.org/details/WWII_News_1942
archive.org/details/WWII_News_1943
archive.org/details/WWII_News_1944
archive.org/details/WWII_News_1945
Utilizo Filezilla como una forma fácil de transferirlos al Pi, ya que puede iniciar sesión y transferir usando SSH, por lo que no es necesario configurar una unidad SAMBA o un servidor FTP.
Paso 11: Circuito y software para reproducir los archivos
Una vez que tenga el amplificador funcionando y pueda seguir el enlace de configuración a continuación, también deberá instalar el reproductor mpg123, una búsqueda bastante directa en Google para el código Python que se encuentra a continuación. Solo asegúrese de tener i2s y SPI habilitados en su configuración Raspi. He puesto este archivo en el directorio / home / pi / volume / para poder ejecutarlo en el arranque más tarde.
#! / usr / bin / env python
# WW2 Radio - software para leer MCP3002 ADC y convertir a ajuste de volumen y año # Salida a través del amplificador i2S 2018-10-20 - Ajax Jones # Fragmentos de código suministrados desde https://learn.adafruit.com/adafruit-max98357-i2s- class-d-mono-amp / raspberry-pi-use # MCP 3002 Python https://github.com/CaptainStouf/Adafruit-raspi-python/blob/master/Adafruit_MCP3002/MCP3002.py importar RPi. GPIO como GPIO, tiempo, os from os import listdir import subprocess from time import sleep import random GPIO.setmode (GPIO. BCM) # leer los datos SPI del chip MCP3002, 2 posibles adc (0 y 1) def readadc (adcnum, clockpin, mosipin, misopin, cspin): if ((adcnum> 1) o (adcnum <0)): return -1 GPIO.output (cspin, True) GPIO.output (clockpin, False) # start clock low GPIO.output (cspin, False) # traer CS bajo commandout = adcnum << 1; commandout | = 0x0D # bit de inicio + bit de un solo extremo + bit MSBF commandout << = 4 # solo necesitamos enviar 4 bits aquí para i en el rango (4): if (commandout & 0x80): GPIO.output (mosipin, True) else: GPIO.output (mosipin, False) commandout << = 1 GPIO.output (clockpin, True) GPIO.output (clockpin, False) adcout = 0 # lectura en un bit nulo y 10 bits ADC para i en el rango (11): GPIO.output (clockpin, True) GPIO.output (clockpin, False) adcout <0): print "¡No se encontraron archivos mp3!" return mp3_files print "--WW2 Radio ------------------------------------------ --------------------- "last_read = 0 # almacena la última posición del potenciómetro de volumen last_year = 0 # almacena la última posición del potenciómetro de frecuencia tolerancia = 5 # permitir una pequeña tolerancia para que un ligero movimiento de las macetas no cause un cambio mientras True: trim_pot_changed = False year_pot_changed = False para adcnum en el rango (2): ret = readadc (adcnum, SPICLK, SPIMOSI, SPIMISO, SPICS) if (adcnum == 0): # leer el bote para el selector de año para ver si se ha movido year_adjust = abs (ret - last_year) if (year_adjust> tolerancia + 10): year_pot_changed = True if (year_pot_changed): # Los valores para las verificaciones if then pueden ser hecho después de su subprocess.call (['killall', 'mpg123']) # mata cualquier MP3 que se ejecute en suspensión (0.1); si ret 50 y ret = 150 y ret = 250 y ret = 350 y ret = 450 y ret = 550): war_year = "1945" # guarde el valor del bote para la próxima vez alrededor del ciclo last_year = ret print (" Reproduciendo desde "), print (war_year), print (" número de archivos = "), war_dir = '/ home / pi / radio / WWII_News _' + war_year + '/' play_list = list_year (war_year) num_of_files = len (play_list) print num_of_files play_file = random.randint (1, num_of_files) # selecciona aleatoriamente uno de los archivos para reproducir war_mp3 = war_dir + play_list [play_file] subprocess. Popen (['mpg123', war_mp3]) # Usa mpg123 como reproductor para la suspensión de audio (0,1); # haga una pequeña pausa antes de continuar if (adcnum == 1): # lea el volumen pot_adjust = abs (ret - last_read) if (pot_adjust> tolerancia): trim_pot_changed = True if (trim_pot_changed): set_volume = ret / 10.24 # convert 10bit adc0 (0-1024) valor de la olla en un nivel de volumen 0-100 set_volume = round (set_volume) # redondear el valor decimal set_volume = int (set_volume) # emitir volumen como entero # Usar el valor de la olla para enviar un nivel a el prog de amixer imprime 'Volume = {volume}%'.format (volume = set_volume) set_vol_cmd = 'sudo amixer cset numid = 1 - {volume}%> / dev / null'.format (volume = set_volume) os.system (set_vol_cmd) # set volume # guarde la lectura del potenciómetro para el siguiente ciclo last_read = ret # Una pausa después de cambiar el volumen para que no actuemos sobre demasiados cambios si el potenciómetro cambia rápidamente.
Paso 12: Arranque automático del software al cargar
Hay muchas formas de ejecutar un comando en la Pi en el arranque, pero me parece que esta es la más fácil, abre Crontab
sudo crontab -e
Ahora solo agrega esta línea
@reboot python /home/pi/volume/year.py &
y eso debería funcionar, la próxima vez que reinicie el programa de control de audio se ejecutará y debería escuchar su primera transmisión.
Paso 13: ¿Qué sigue?
Actualmente estoy en el proceso de construir un pequeño PCB para colocarlo en la parte superior de la raspberry pi para poder tener un lugar donde montar el amplificador i2S y el ADC junto con algunos terminales de tornillo para las ollas. Esto me permitirá hacer la instalación un poco más ordenada y hacer algunas más para mis amigos.
Actualmente estoy recopilando algunos archivos para una radio de carrera espacial, comenzando con sputnik y en adelante hasta los alunizajes.
Por favor, avíseme si tiene alguna idea o desea algún consejo o sugerencia sobre cómo armar uno usted mismo.
Firmando.
Segundo premio en el concurso de audio 2018
Recomendado:
Estudiante de historia de la Segunda Guerra Mundial: 3 pasos
Estudiante de historia de la Segunda Guerra Mundial: ¡Hola chicos! Entonces, para mi clase de computación de este año, tuvimos la tarea de crear algún tipo de dispositivo electrónico para mostrar lo que hemos aprendido en la clase. Soy una de las personas que ama la historia de la Segunda Guerra Mundial, así que decidí hacer un dispositivo que pueda ayudar a la gente a leer
Restaurar un multímetro de la era de la Segunda Guerra Mundial para que funcione: 3 pasos
Restauración de un multímetro de la era de la Segunda Guerra Mundial para que funcione correctamente: hace varios años adquirí este primer multímetro Simpson Electric para mi colección. Venía en un estuche de cuero sintético negro que estaba en excelentes condiciones considerando su edad. La fecha de patente de la Oficina de Patentes de EE. UU. Para el movimiento del medidor es 1936 a
Una máquina del tiempo de radio: 8 pasos (con imágenes)
A Radio Time Machine: Encontré aquí en Instrutables un gran proyecto: WW2 Radio Broadcast Time Machine. Me sorprendió la idea, pero no soy el tipo Python y me gusta Steampunk. Así que decidí construir algo similar con diferentes materiales. Aquí encuentras una lista de
Hacer y editar un stop motion: la batalla de Caen de la Segunda Guerra Mundial: 6 pasos
Hacer y editar un stop motion: WW2 Battle of Caen: The Battle of Caen fue una batalla en la segunda guerra mundial y ahora estoy recreando eso con un stop motion de lego, y aquí un paso a paso sobre cómo hacer y editar un Movimiento de parada de la Segunda Guerra Mundial
Transmisión de audio y transmisión de video con Raspberry Pi 3: 6 pasos
Transmisión de audio y transmisión de video usando Raspberry Pi 3 .: La principal utilidad de este proyecto es transmitir audio a Raspberry Pi 3 desde cualquier dispositivo conectado a la red WiFi común y adquirir video de Raspberry Pi 3 a cualquier dispositivo conectado a una red WiFi común