Indholdsfortegnelse:

WW2 Radio Broadcast Time Machine: 13 trin (med billeder)
WW2 Radio Broadcast Time Machine: 13 trin (med billeder)

Video: WW2 Radio Broadcast Time Machine: 13 trin (med billeder)

Video: WW2 Radio Broadcast Time Machine: 13 trin (med billeder)
Video: seeing wife face for first time #shorts 2024, Juli
Anonim
Image
Image
WW2 Radio Broadcast Time Machine
WW2 Radio Broadcast Time Machine

Ideen bag dette var at bruge nogle dele, jeg havde liggende, og at konstruere en lydjukebox, der var fremstillet i en gammel radio. For at give et mere formål bag det besluttede jeg også at fylde det med gamle radioudsendelser fra 2. verdenskrig og derefter genanvende frekvensskiven for at vælge et individuelt krigsår, og de relevante udsendelser ville derefter afspilles. Jeg havde set et par samlinger af MP3 -optagelser, så alt var klar til at gå.

Med hensyn til hardware er min favorit enten arduino eller hindbær pi zero, og til dette vil jeg bruge hindbær pi zero. Det har dog sine ulemper, og i dette tilfælde er det manglen på brugervenlig lyd og ingen lette analoge indgange. For at overvinde dette har jeg en tendens til at bruge Adafruit I2S 3W Class D Amplifier Breakout - MAX98357A, som er en virkelig nem måde at tilføje lyd til Pi og for den analoge indgang en MCP 3002, som er en tokanals til SPI -konverter. Generelt har folk en tendens til at bruge en MCP 3008, der har 4 input, men jeg tænkte, at det ville være for let, heldigvis lykkedes det mig at finde noget software, der i sidste ende fungerede med disse.

Et af de andre problemer med at bruge et PI er, at det har en tendens til at lide, hvis du bare slukker det uden at udføre en nedlukning, jeg er stødt på dette utallige gange, og det ser altid ud til at ødelægge netværksindstillingsfilen. Da dette blev forestillet som en enkel selvstændig, der ville have været et problem, så jeg tilføjede også en Pimoroni On/Off Shim, der udfører både en yndefuld nedlukning ved et tryk på en knap, men også tillader en opstart med den samme knap.

Trin 1: WW2 Time Machine Radio Parts List

De nødvendige dele

  1. Gammel radio
  2. Fransk polsk
  3. Sandpapir
  4. Lexan til urskive
  5. Varme krympe
  6. Hindbær Pi Zero
  7. I2S forstærker
  8. ON/OFF Shim
  9. Højttaler
  10. Power mursten
  11. MCP3002
  12. LED
  13. Modstand 270R
  14. 2x 10k krukker
  15. Tryk for at skifte
  16. USB -ledning

Trin 2: Find en gammel radio

Find en gammel radio
Find en gammel radio
Find en gammel radio
Find en gammel radio
Find en gammel radio
Find en gammel radio

Første trin er selvfølgelig at finde en passende gammel radio, og det lykkedes mig at finde denne på ebay til £ 15. Der var en fristelse til at få det til at køre i starten, men da chassiset kom ud og hele rækken af modstande og kondensatorer var på show, der skulle udskiftes, havde jeg det ikke så dårligt med at skille det ad. Selvom det strengt taget ikke er et sæt fra 1940'erne, er der nogle hjemmebyggesæt fra den æra, der helt sikkert lignede hinanden.

Trin 3: Fjernelse af den gamle radio og konstruktion af et nyt chassis

Fjernelse af den gamle radio og konstruktion af et nyt chassis
Fjernelse af den gamle radio og konstruktion af et nyt chassis
Fjernelse af den gamle radio og konstruktion af et nyt chassis
Fjernelse af den gamle radio og konstruktion af et nyt chassis
Fjernelse af den gamle radio og konstruktion af et nyt chassis
Fjernelse af den gamle radio og konstruktion af et nyt chassis

Det er ret enkelt at skille en af disse fra hinanden, generelt ser det ud til, at chassiset er monteret på sagen, og at alt er monteret. Så når den først er skruet af og knapperne slipper, glider den bare ud. De fleste er bygget helt på et understel. Min oprindelige hensigt var at bruge en højttaler fra en flået Bluetooth -højttalerboks, men jeg spekulerede på, om den gamle ville fungere. Det var en behagelig overraskelse at opdage, at det ikke kun fungerede, men det lød også rigtig godt. Så det næste trin her var at blive ved med at måle alt og bygge et nyt chassis i Tinkercad. Jeg omdefinerede frekvensskiveområdet og holdt højttaleren på samme sted. Desuden blev der monteret en monteringsplade til pi zero. Jeg printede den ud i PETG, som jeg synes er mindre modstandsdygtig over for vridning, og en prøveversion af alle delene syntes at vise, at den ville fungere. Jeg var nødt til at lege lidt med volumenmonteringen, så de nye potter ville passe godt og stadig montere gennem sagen.

Du kan downloade 3D -chassiset her, hvis du vil pille ved det

www.thingiverse.com/thing:3174818

Trin 4: Renovering af sagen

Renovering af sagen
Renovering af sagen
Renovering af sagen
Renovering af sagen
Renovering af sagen
Renovering af sagen

Nu var den første ting at gøre, når sagen blev fjernet, at beslutte, hvad de skulle gøre med finishen. Selvom sagen ikke var så dårlig, tænkte jeg først på at give den en god rengøring for at beholde det slidte patina -look. Ofte vil en aftørring med eddike friske en gammel kasse op, men der var et par steder, som lakken var revnet igennem, så jeg besluttede at fjerne den. Med gamle trækasser er de normalt dækket af et tyndt finér af træ, men det er ikke så tyndt, at du ikke kan få en god slibning på det. Først blev højttalergitterkluden fjernet, hvilket var temmelig modbydeligt med omkring 50 års støv og snavs i den og sat til side. Så kom et par tykke lag Nitromors, en malingsstripper og den gamle lak til sidst af. Dette skulle gøres to gange, da det sandsynligvis var lakeret på et tidspunkt over den originale finish. For at rydde nogle af ridserne og give den en pænere finish blev den slebet med omkring 100 gruspapir og derefter en afsluttende slibning med en medium slibesvamp. Gør alt dette i overensstemmelse med kornet og tør derefter af med hvid sprit for at rense støv. Samtidig blev kassen også fikset med noget trælim, hvor fineren var lidt trukket væk. Trægitterstængerne havde også delamineret en smule, så mere trælim og stikk stykkerne tilbage, hvor det var muligt. Når dette var tørret, brugte jeg bare en skalpel til at rydde op i træets kanter og malede dem brune med noget Tamiya akrylmaling.

Min første tanke var bare at udskifte højttalerkluden, men prisen på autentisk udseende materiale er temmelig stejl, da den plejer at blive solgt i lange længder. Efter lidt at have udforsket vintage radiofora ser det ud som om du kan bringe gammel klud tilbage med et blød. Så ved hjælp af koldt vand og masser af opvaskemiddel gennemblødte jeg det natten over, og overraskende når det tørrede ud igen, kom det temmelig rent.

Nu skulle jeg tackle finishen og besluttede i første omgang at give den en klar lak, så tænkte jeg på at bruge en spraylak og mens jeg i lakken/maling -øen i den lokale byggemarked fandt en flaske fransk polsk. Da jeg tænkte på, at det ville være en god autentisk finish, besluttede jeg at prøve det. Så nu skal du vide, at fransk polering stort set er en kunstform/færdighed, der kræver meget øvelse for at få det rigtigt. Du kan søge efter instruktioner på YouTube, og selvom det ser temmelig simpelt ud, er det en ret rodet operation. Kunsten ser ud til at være at få polishen i en klud gennemblødt i vat, så du kan presse poleringen ud på træet, mens du arbejder. Hvis du bare prøver det med en klud, begynder ca. 3/4 af måden poleringen at tørre ud, når ethanolen fordamper, og kluden begynder at trække. Så i sidste ende, i stedet for at få den højglansfinish, lykkedes det mig at påføre et par lag, slibe let med 1500 -papir, derefter påføre et par mere, og det endte med at se OK ud. Jeg har dog stadig franske polske pletter på mine negle.

Oprydning af de andre dele var meget lettere, da al hardware gik ind i ultralydsrenseren, og urskiven blev poleret op med noget Silvo Polish. Brasso ville have valget, men Silvo og lidt mere albue fedt var nok til at rense skiveindikatoren.

I slutningen af dette havde jeg en temmelig flot trækasse klar til selve tidsmaskinen.

Trin i dette afsnit 1. Fjern alle bolte/skiver og klud.

2. Træstrimler kassen med nitromorer

3. Slibning af finer

4. Reparation af gitteret

5. Rengøring af højttalerkluden

6. fransk polering af sagen

7. Ultrasonisk rengøring af skruer og knapper

8. Polering af skiveindikatoren

Trin 5: Raspberry Pi Zero og forstærker

Raspberry Pi Zero og forstærker
Raspberry Pi Zero og forstærker
Raspberry Pi Zero og forstærker
Raspberry Pi Zero og forstærker
Raspberry Pi Zero og forstærker
Raspberry Pi Zero og forstærker

Med en normal Raspberry PI -lydudgang er ganske enkel, da den har en lydstikudgang, men for Pi Zero er der ingen reelle indfødte muligheder. Der er nogle løsninger, jeg har prøvet, hvor du kan omlægge GPIO-ben og derefter bruge et lavpasfilter, men jeg har aldrig rigtig kunnet få noget til at lyde anstændigt, og selvfølgelig har du også brug for en forstærker for at få noget brugbart. Der er masser af DAC -hatte, men disse er til folk, der leder efter rigtig god lyd og overkill til den slags projekter. Der er også nogle fine billige Audio -hatte med indbyggede højttalere, men bare ikke højt nok til dette. Så jeg bosætter mig nu på i2S -forstærkerens breakout -bord fra Adafruit, som løser alle problemerne på én gang. Bemærk bare, at det er i2S og ikke i2C.

Du behøver kun et par ledninger for at få dette til at fungere, og med en anstændig nok højttaler kan du få nogle fantastiske, høje monolyd.

Trin 6: Foretag en ny urskive

Lav en ny urskive
Lav en ny urskive
Lav en ny urskive
Lav en ny urskive
Lav en ny urskive
Lav en ny urskive

Ideen her er naturligvis at udskifte den eksisterende urskive og glas med en, der viser året i stedet for frekvensen. Heldigvis var den eksisterende bare en trykt indsats, så jeg tabte den på scanneren og kopierede den til Paint Shop Pro, brugte klonværktøjet og slettede de gamle numre og indtastede derefter nogle nye for hvert år. Med glasset var den i radioen ridset og revnet, og det viser sig også at være lavet af plastik. Jeg udprintede kun rammen for at gøre testmontering let og forsøgte oprindeligt at lave en af akryl. Jeg har generelt ikke fået nok tålmodighed med akryl og endte med at revne det, da jeg forsøgte at bore det midterste hul. Så jeg tyede til 1,5 mm polycarbonat, som er så meget lettere at hacksav og bore. Du kan finde den også kaldet Lexan eller Macrolon afhængigt af hvor du bor, og den tager også en fil, så jeg fik snart en ramme og skive, der var monteret. Interessant var det også, at det originale papir havde en lille metalaflejring over det hele, jeg kan kun antage, at det var en, der var påvirket af den originale messingmarkør, måske en aldringsproces?

Trin 7: Kontrol af lydstyrke og vælger

Lydstyrke og vælgerkontrol
Lydstyrke og vælgerkontrol

En af ulemperne ved Raspberry pi til tinkering er, at den ikke har nogen indbygget analog indgang. Egentlig ikke for meget et problem, hvis du tilføjer en simpel ADC (analog til digital konverter), og MPC3002 passer til regningen her, og den konverterer en analog indgang til en 10bit værdi, der kan læses på SPI -bussen.

Næsten alle eksempler, du finder, er for MPC3008, som er en 4 -kanals enhed, og koden til det fungerer bestemt ikke med MPC3002. Der ser også ud til at være masser af eksempler, der heller ikke virker, men der er et, som jeg kan bekræfte fungerer, og koden kan findes her.

github.com/CaptainStouf/Adafruit-raspi-pyt…

Med denne kode kan du let læse to kanaler ind og bruge resultaterne. Mit eksempel vil bruge den ene til lydstyrken og den anden datovalg. Jeg havde på et tidspunkt også installeret en roterende encoder, men en enkelt drejevolumen er mere passende, og med frekvensvælgeren betød det også, at jeg kunne samle det hele og derefter justere placeringen af årsmarkørerne med en stor stor sagsfremstilling. Naturligvis understøtter pyhon ikke sagserklæringen, så længe hvis ellers erklæringen vil gøre jobbet.

Billedet viser MCP3002 siddende på et lille prototypebræt og 10K -gryden

Trin 8: Strømforsyning og kontrol

Strømforsyning og kontrol
Strømforsyning og kontrol
Strømforsyning og kontrol
Strømforsyning og kontrol
Strømforsyning og kontrol
Strømforsyning og kontrol

Pi kører bare fra USB -strøm, så meget let at komme i gang, men du vil ende med at ødelægge SD -kortet, hvis du bare tager strømmen. Der er mange måder at overvåge et tryk på en knap og starte en nedlukning, men så har du en tendens til at skulle slukke for strømmen for at få den tilbage. For at komme uden om dette og lave et brugervenligt projekt bruger jeg Pimoroni ON/OFF shim. Dette lader dig trykke en gang, og den tændes og derefter et langt tryk, og den kører en ren nedlukning. For at gøre det også en smule bærbart, bruger jeg en gammel powerbank, der også håndterer batteriopladningen. Powerbanks er masser billige nok og i stand til at køre Pi et rimeligt stykke tid.

Jeg monterede skubbet for at gøre knappen passende på det sted, hvor den gamle netledning kom ud på bagsiden. Da der er en forsinkelse, mens Pi starter op, har jeg hårdt forbundet en LED til 3v3 -skinnen, som tændes, og så snart PI'en får strøm og giver en dejlig autentisk glød på skiven. Jeg satte en 270R modstand på linje og den anden ende bare til jorden. Du kan også tilføje en anden til en GPIO -pin, hvis du vil give ekstra effekter som f.eks. Flimring, men for nu gør dette nok til at vise, at strømmen er tændt.

Trin 9: Montering af sagen

Montering af sagen
Montering af sagen
Montering af sagen
Montering af sagen
Montering af sagen
Montering af sagen

Med etuiet og chassiset klar og testet, var det bare et par 4 mm bolte og Nyloc møtrikker til at holde det i. Selvskærende skruer med flange holder bagsiden på plads.

Tænd / sluk -knappen passede også fint ind i det gamle netledningshul.

Jeg ville også genbruge de gamle knapper, og de var oprindeligt designet, det ser ud til at gå på messingstænger og var lidt for store til gryderne. Da dette ikke kommer til at få nogen hård håndtering, smed jeg bare noget varmekrympning over gryderne og limede derefter knapperne på det. Den griber godt og stramt, og du kan stadig skille den ad, hvis det er nødvendigt.

Trin 10: Downloadning af lydfilerne

Image
Image

Jeg bruger MP3 -filer, og der er et fantastisk udvalg fra Archive.org, du kan finde grupperede udsendelser af krigsudsendelser, og der er hovedsageligt to valg at vælge imellem.

Jeg startede med hovedsageligt nyhedsudvalget, og disse kopieres derefter til mapper på PI. Du kan også finde det større udvalg, kaldet det store på følgende link. Der er flere hundrede udsendelser for hvert år, og det er ganske fantastisk mængden og rækkevidden af disse.

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

Større samling

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

Jeg bruger Filezilla som en nem måde at overføre disse til Pi, da den kan logge ind og overføre ved hjælp af SSH, så det er ikke nødvendigt at opsætte et SAMBA -drev eller en FTP -server.

Trin 11: Kredsløb og software til afspilning af filerne

Hvad er det næste?
Hvad er det næste?

Når først forstærkeren fungerer, og du kan følge installationslinket herunder, skal du også installere mpg123 -afspilleren, ret ligetil google -søgning efter, at Python -koden er nedenfor. Bare sørg for at have i2'er og SPI aktiveret i din Raspi Config. Jeg har lagt denne fil i biblioteket/home/pi/volume/, så jeg kan køre den ved opstart senere.

#!/usr/bin/env python

# WW2 Radio- software til at læse MCP3002 ADC og konvertere til volumen og årsjustering # Outut via i2S-forstærker 2018-10-20- Ajax Jones # Kodefragmenter leveret fra https://learn.adafruit.com/adafruit-max98357-i2s- class-d-mono-amp/hindbær-pi-brug # MCP 3002 Python https://github.com/CaptainStouf/Adafruit-raspi-python/blob/master/Adafruit_MCP3002/MCP3002.py import RPi. GPIO som GPIO, tid, os fra os importlisteimport delproces fra tid import søvnimport tilfældig GPIO.setmode (GPIO. BCM) # læs SPI -data fra MCP3002 -chippen, 2 mulige adc'er (0 og 1) def readadc (adcnum, clockpin, mosipin, misopin, cspin): if ((adcnum> 1) or (adcnum <0)): return -1 GPIO.output (cspin, True) GPIO.output (clockpin, False) # start clock low GPIO.output (cspin, False) # bring CS low commandout = adcnum << 1; commandout | = 0x0D # start bit + single-ended bit + MSBF bit commandout << = 4 # vi behøver kun at sende 4 bits her for i i område (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 # læses i en nulbit og 10 ADC -bits for i inden for rækkevidde (11): GPIO.output (clockpin, True) GPIO.output (clockpin, False) adcout <0): print "Ingen mp3 -filer fundet!" return mp3_files print "--WW2 Radio ------------------------------------------ --------------------- "last_read = 0 # gem den sidste position af volumenpotten last_year = 0 # gem den sidste position af frekvenspottolerancen = 5 # tillade en lille tolerance, så en lille bevægelse af gryderne forårsager ikke en ændring, mens True: trim_pot_changed = Falsk year_pot_changed = Falsk for adcnum i område (2): ret = readadc (adcnum, SPICLK, SPIMOSI, SPIMISO, SPICS) hvis (adcnum == 0): # læs puljen til årsvælgeren for at se, at den har flyttet year_adjust = abs (ret - last_year) if (year_adjust> tolerance+10): year_pot_changed = True if (year_pot_changed): # Values for if if checks kan være lavet efter dens indbyggede subprocess.call (['killall', 'mpg123']) # dræb enhver MP3 -kørende søvn (0.1); hvis ret 50 og ret = 150 og ret = 250 og ret = 350 og ret = 450 og ret = 550): war_year = "1945" # gem værdien af puljen til næste gang omkring sløjfen sidste_år = ret print (" Afspiller fra "), print (war_year), print (" number of files = "), 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) # vælg tilfældigt en af filerne for at afspille war_mp3 = war_dir + play_list [play_file] subprocess. Popen (['mpg123', war_mp3]) # Brug mpg123 som afspiller til lydsøvnen (0,1); # giv en lille pause, før du fortsætter hvis (adcnum == 1): # læs volumen pot pot_adjust = abs (ret - last_read) if (pot_adjust> tolerance): trim_pot_changed = True if (trim_pot_changed): set_volume = ret / 10.24 # convert 10bit adc0 (0-1024) potværdi til et 0-100 volumeniveau set_volume = runde (sæt_volumen) # afrund decimalværdi set_volume = int (sæt_volumen) # kastevolumen som heltal # Brug værdien fra puljen til at sende et niveau til amixer prog print '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) # indstillet lydstyrke # gem potentiometeraflæsning til den næste sløjfe last_read = ret # En pause efter ændring af lydstyrken, så vi ikke reagerer på for mange ændringer, hvis gryden skifter hurtigt. sove (0,5)

Trin 12: Start softwaren automatisk ved indlæsning

Der er mange måder at køre en kommando på Pi ved opstart, men jeg synes, at dette er den nemmeste, Åbn Crontab

sudo crontab -e

Tilføj nu bare denne linje

@reboot python /home/pi/volume/year.py &

og det burde gøre tricket, næste gang du genstarter, vil lydkontrolprog'en køre, og du skal høre din første udsendelse.

Trin 13: Hvad så?

Hvad er det næste?
Hvad er det næste?

Jeg er i øjeblikket i gang med at bygge en lille print til at sidde oven på hindbær pi, så jeg kan have et sted at montere i2S forstærkeren og ADC sammen med nogle skrueterminaler til gryderne. Dette vil lade mig gøre installationen lidt pænere og nemt lave et par mere til venner.

Jeg samler i øjeblikket nogle filer i øjeblikket til en rumløbsradio, der starter med sputnik og frem til månelandingen.

Lad mig vide, hvis du har ideer eller ønsker tips eller tip om at sammensætte en selv.

Logger af.

Lydkonkurrence 2018
Lydkonkurrence 2018
Lydkonkurrence 2018
Lydkonkurrence 2018

Anden pris i lydkonkurrencen 2018

Anbefalede: