Innholdsfortegnelse:
- Trinn 1: WW2 Time Machine Radio Parts List
- Trinn 2: Finne en gammel radio
- Trinn 3: Fjerne den gamle radioen og bygge et nytt chassis
- Trinn 4: Renovering av saken
- Trinn 5: Raspberry Pi Zero og forsterker
- Trinn 6: Lag en ny oppringning
- Trinn 7: Volum- og velgerkontroller
- Trinn 8: Strømforsyning og kontroll
- Trinn 9: Montering av saken
- Trinn 10: Last ned lydfilene
- Trinn 11: Krets og programvare for å spille filene
- Trinn 12: Start datamaskinen automatisk ved innlasting
- Trinn 13: Hva neste?
Video: WW2 Radio Broadcast Time Machine: 13 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Tanken bak dette var å bruke noen deler jeg hadde liggende og å konstruere en lydjukeboks utformet i en gammel radio. For å gi en mer hensikt bak den bestemte jeg meg også for å fylle den med gamle radiosendinger fra 2. verdenskrig og deretter bruke frekvenshjulet til å velge et enkelt krigsår, og de aktuelle sendingene skulle spilles av. Jeg hadde sett noen få samlinger av MP3 -innspillinger, så alt var i gang.
Når det gjelder maskinvare, er min favoritt enten arduino eller bringebær pi null, og for dette skal jeg bruke bringebær pi null. Det har imidlertid sine ulemper, og i dette tilfellet er det mangel på brukervennlig lyd og ingen enkle analoge innganger. For å overvinne dette pleier jeg å bruke Adafruit I2S 3W Class D Amplifier Breakout - MAX98357A som er en veldig enkel måte å legge til lyd til Pi og for den analoge inngangen en MCP 3002 som er en tokanals til SPI -omformer. Vanligvis pleier folk å bruke en MCP 3008 som har 4 innganger, men jeg trodde det ville bli for enkelt, heldigvis klarte jeg å finne programvare som fungerte med disse til slutt.
Et av de andre problemene med å bruke en PI er at den har en tendens til å lide hvis du bare slår den av uten å slå av, jeg har støtt på dette utallige ganger, og det ser alltid ut til å ødelegge konfigurasjonsfilen for nettverket. Siden dette ble sett på som en enkel frittstående som ville ha vært et problem, så jeg la også til en Pimoroni On/Off Shim som utfører både en grasiøs nedstengning ved å trykke på en knapp, men også lar deg starte opp med den samme knappen.
Trinn 1: WW2 Time Machine Radio Parts List
Delene som trengs
- Gammel radio
- Fransk polsk
- SandPapir
- Lexan for urskive
- Varmekrymping
- Raspberry Pi Zero
- I2S Amp
- PÅ/AV mellomlegg
- Høyttaler
- Kraftstein
- MCP3002
- LED
- Motstand 270R
- 2x 10k potter
- Trykk for å gjøre Switch
- USB -ledning
Trinn 2: Finne en gammel radio
Det første trinnet er selvfølgelig å finne en passende gammel radio, og jeg klarte å finne denne på eBay for £ 15. Det var en fristelse å få det til å kjøre i begynnelsen, men da chassiset kom ut og hele mengden motstander og kondensatorer var på visning som måtte byttes, følte jeg meg ikke så ille om å ta den fra hverandre. Selv om det strengt tatt ikke er et sett fra 1940 -tallet, er det noen hjemmebyggesett fra den tiden som absolutt lignet på.
Trinn 3: Fjerne den gamle radioen og bygge et nytt chassis
Det er ganske enkelt å ta en av disse fra hverandre, generelt ser det ut til at chassiset er montert på saken og at alt er montert. Så når den er skrudd av og knappene slippes, glir den bare ut. De fleste er bygget helt på et understell. Min opprinnelige intensjon var å bruke en høyttaler fra en revet fra hverandre høyttalerboks, men jeg lurte på om den gamle ville fungere. Det var en hyggelig overraskelse å finne at det ikke bare fungerte, men det hørtes veldig bra ut også. Så det neste trinnet her var å fortsette å måle alt og bygge et nytt chassis i Tinkercad. Jeg redefinerte frekvensoppringingsområdet og holdt høyttaleren på samme sted. I tillegg ble det montert en monteringsplate for pi zero. Jeg skrev den ut i PETG, som jeg synes er mindre motstandsdyktig mot vridning, og en prøveversjon av alle delene syntes å vise at den ville fungere. Jeg måtte leke litt med volummonteringen slik at de nye grytene ville passe godt og fortsatt montere gjennom saken.
Du kan laste ned 3D -chassiset her hvis du vil pusle med det
www.thingiverse.com/thing:3174818
Trinn 4: Renovering av saken
Nå var det første du skulle gjøre når saken ble fjernet, å bestemme hva du skulle gjøre med finishen. Selv om saken ikke var så ille tenkte jeg i utgangspunktet på å bare rengjøre den godt for å beholde den slitne patinaen. Ofte vil en tørking med eddik friske opp en gammel eske, men det var noen steder som lakken hadde sprukket gjennom, så jeg bestemte meg for å fjerne den. Med gamle trekasser er de vanligvis dekket av et tynt finér av tre, men det er ikke så tynt at du ikke får en god sliping på det. Først ble høyttalergitterkluten fjernet, noe som var ganske ekkelt med omtrent 50 år med støv og skitt i den og lagt til side. Så ble det et par tykke strøk Nitromors, en malingsstripper og den gamle lakken av. Dette måtte gjøres to ganger da det sannsynligvis ble lakkert på et tidspunkt over den opprinnelige finishen. For å fjerne noen av riper og gi den en finere finish, ble den slipt med rundt 100 kornpapir og deretter en siste sliping med en middels slipesvamp. Gjør alt dette i tråd med kornet og tørk deretter av med hvitsprit for å rense støv. Samtidig ble boksen også fikset med litt trelim der fineren hadde dratt litt bort. Tregitterstengene hadde også delaminert litt, så mer trelim og stikk bitene tilbake der det var mulig. Når dette hadde tørket, brukte jeg bare en skalpell til å rydde opp i trekantene og malte dem brune med litt Tamiya akrylmaling.
Min første tanke var å bare bytte høyttalerduken, men kostnaden for autentisk utseende er ganske bratt da den pleier å bli solgt i lange lengder. Etter litt utforsking av vintage radiofora ser det ut som om du kan ta med deg en gammel klut med en bløt. Så med kaldt vann og mye oppvaskmiddel ble jeg fuktet det over natten, og overraskende ble det ganske rent når det tørket ut igjen.
Nå skulle jeg takle finishen og bestemte meg i utgangspunktet for å gi den en klar lakk, så tenkte jeg på å bruke en spraylakk og mens jeg fant en flaske fransk polsk på lakken/maling -øya i den lokale byggemarkedet. Da jeg trodde det ville være en god autentisk finish, bestemte jeg meg for å prøve det. Så nå må du vite at fransk polering stort sett er en kunstform/ferdighet som krever mye øvelse for å få det riktig. Du kan søke etter instruksjoner på YouTube, og selv om det ser ganske enkelt ut, er det en ganske rotete operasjon. Kunsten ser ut til å få polskemiddelet i en fille fuktet i bomullsull, slik at du kan presse ut polish på treverket mens du jobber. Hvis du bare prøver det med en fille, begynner omtrent 3/4 av måten polsken å tørke ut etanol fordamper og fille begynner å trekke. Så til slutt klarte jeg å påføre et par strøk, slipe lett med papir av 1500 grader, deretter påføre noen flere, og det så bra ut. Jeg har imidlertid fortsatt franske polske flekker på neglene.
Å rydde opp i de andre delene var mye lettere med all maskinvare som gikk inn i ultralydrenseren og skiven ble polert opp med litt Silvo Polish. Brasso ville ha valget, men Silvo og litt mer albuefett var nok til å rengjøre skiveindikatoren.
På slutten av dette hadde jeg en ganske pen treboks klar for selve tidsmaskinen.
Trinn i denne delen 1. Fjern eventuelle bolter/urskiver og klut.
2. Tre stripe saken med nitromorer
3. Sliping av finer
4. Reparasjon av grillen
5. Rengjøring av høyttalerduken
6. fransk polering av saken
7. Utrasonisk rengjøring av skruer og knotter
8. Polering av skiveindikatoren
Trinn 5: Raspberry Pi Zero og forsterker
Med en vanlig Raspberry PI -lydutgang er ganske enkel, da den har en lydkontaktutgang, men for Pi Zero er det ingen reelle innfødte alternativer. Det er noen løsninger jeg har prøvd der du kan omdirigere GPIO-pinner og deretter bruke et lavpassfilter, men jeg har egentlig aldri klart å få noe som høres anstendig ut, og selvfølgelig trenger du også en forsterker for å få noe brukbart. Det er mange DAC -hatter, men disse er for folk som leter etter virkelig god lyd og overkill for slike prosjekter. Det er også noen fine billige lydhatter med innebygde høyttalere, men bare ikke høyt nok til dette. Så jeg bosetter meg nå på i2S -forsterkerens breakout -bord fra Adafruit som løser alle problemene på en gang. Bare vær oppmerksom på at det er i2S og ikke i2C.
Du trenger bare noen få ledninger for å komme i gang, og med en anstendig nok høyttaler kan du få god, høy monolyd.
Trinn 6: Lag en ny oppringning
Ideen her er selvfølgelig å erstatte den eksisterende skiven og glasset med en som viser året i stedet for frekvensen. Heldigvis var det eksisterende bare et trykt innlegg, så jeg droppet det på skanneren og kopierte det til Paint Shop Pro, brukte klonverktøyet og tørket ut de gamle tallene og skrev deretter inn noen nye for hvert år. Med glasset var den i radioen skrapt og sprukket og som det viser seg å være laget av plast også. Jeg skrev ut bare rammen for å gjøre testmontering enkel og prøvde opprinnelig å lage en av akryl. Jeg har generelt ikke fått nok tålmodighet med akryl og endte opp med å sprekke den når jeg prøvde å bore senterhullet. Så jeg tyr til 1,5 mm polykarbonat som er så mye lettere å bore og bore. Du finner den også kalt Lexan eller Macrolon, avhengig av hvor du bor, og den tar også en fil, så jeg fikk snart en ramme og skive som passet. Interessant var også at originalpapiret hadde en liten metallavsetning over det. Jeg kan bare anta at det var noen som var påvirket av den originale messingpekeren, kanskje en aldringsprosess?
Trinn 7: Volum- og velgerkontroller
En av ulempene med Raspberry pi for tinkering er at den ikke har noen innfødt analog inngang. Egentlig ikke for mye av et problem hvis du legger til en enkel ADC (Analog to Digital Converter) og MPC3002 passer regningen her, og den konverterer en analog inngang til en 10bit verdi som kan leses på SPI -bussen.
Nesten alle eksemplene du finner er for MPC3008, som er en 4 -kanals enhet, og koden for det fungerer absolutt ikke med MPC3002. Det ser også ut til å være mange eksempler rundt som ikke fungerer, men det er et som jeg kan bekrefte fungerer og koden finner du her.
github.com/CaptainStouf/Adafruit-raspi-pyt…
Med denne koden kan du enkelt lese to kanaler inn og bruke resultatene. Mitt eksempel kommer til å bruke den ene for volumet og den andre datovalget. På et tidspunkt hadde jeg også en roterende encoder installert, men et enkelt svingvolum er mer passende, og med frekvensvelgeren betydde det også at jeg kunne sette sammen alt og deretter justere plasseringene til årsmarkørene med en stor stor saksuttalelse. Naturligvis støtter pyhon ikke saksuttalelsen, så lenge hvis ellers uttalelsen vil gjøre jobben.
Bildet viser MCP3002 som sitter på et lite prototypebrett og 10K -gryten
Trinn 8: Strømforsyning og kontroll
Pi går bare ut av USB -strøm, så veldig enkelt å komme i gang, men du vil ende opp med å ødelegge SD -kortet hvis du bare tar ut strømmen. Det er mange måter å overvåke et knappetrykk og starte en nedleggelse, men da må du gjerne slå av strømmen for å få den tilbake. For å komme rundt dette og lage et brukervennlig prosjekt bruker jeg Pimoroni ON/OFF shim. Dette lar deg trykke en gang og den slår seg på og deretter et langt trykk og den kjører en ren avstengning. For å gjøre det også litt bærbart, bruker jeg en gammel strømbank som også håndterer batterilading. Powerbanks er mange billige nok og i stand til å kjøre Pi en god stund.
Jeg monterte knappen for å gjøre knappen passende på stedet der den gamle strømledningen kom ut på baksiden. Siden det er en forsinkelse mens Pi starter opp, koblet jeg hardt en LED til 3v3 -skinnen som tennes, og så snart PI får strøm og gir en fin autentisk glød på skiven. Jeg satte en 270R -motstand på linje og den andre enden bare til bakken. Du kan også legge til en annen til en GPIO -pin hvis du vil gi ekstra effekter som flimring, men foreløpig gjør dette nok til å vise at strømmen er på.
Trinn 9: Montering av saken
Med etuiet og kabinettet klart og testet var det bare noen få 4 mm bolter og Nyloc -muttere for å holde den inne. Selvskruende skruer med flens holder ryggen på plass.
Strømknappen passet også fint inn i det gamle strømhullet.
Jeg ønsket også å bruke de gamle knottene på nytt, og de ble opprinnelig designet slik at det ser ut til å gå på messingstenger og var litt for store for grytene. Siden dette ikke kommer til å få noen grov håndtering, skled jeg bare en varmekrymping over grytene og limte deretter knappene på den. Den griper godt og godt, og du kan fortsatt ta den fra hverandre om nødvendig.
Trinn 10: Last ned lydfilene
Jeg bruker MP3 -filer, og det er et fantastisk utvalg fra Archive.org, du kan finne gruppert sendinger av krigssendinger, og det er hovedsakelig to valg å velge mellom.
Jeg begynte med hovedsakelig nyhetsutvalget, og disse blir deretter kopiert til kataloger på PI. Du kan også finne det større utvalget, kalt det store på følgende lenke. Det er flere hundre sendinger for hvert år, og det er ganske utrolig hvor mye og rekkevidde disse har.
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 bruker Filezilla som en enkel måte å overføre disse til Pi, da den kan logge inn og overføre med SSH, så det er ikke nødvendig å sette opp en SAMBA -stasjon eller en FTP -server.
Trinn 11: Krets og programvare for å spille filene
Når du har fått forsterkeren til å fungere og du kan følge oppsettskoblingen nedenfor, må du også installere mpg123 -spilleren, ganske enkelt Google -søk for at Python -koden er nedenfor. Bare sørg for at i2s og SPI er aktivert i Raspi Config. Jeg har lagt denne filen i katalogen/home/pi/volume/slik at jeg kan kjøre den ved oppstart senere.
#!/usr/bin/env python
# WW2 Radio- programvare for å lese MCP3002 ADC og konvertere til volum og årsjustering # Utgang via i2S-forsterker 2018-10-20- Ajax Jones # Kodefragmenter levert fra https://learn.adafruit.com/adafruit-max98357-i2s- class-d-mono-amp/bringebær-pi-bruk # 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 import listdir import delprosess fra tid importer søvnimport tilfeldig GPIO.setmode (GPIO. BCM) # les SPI -dataene fra MCP3002 -brikken, 2 mulige adc (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 # startbit + single-ended bit + MSBF bit commandout << = 4 # vi trenger bare å 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 # lest i en nullbit og 10 ADC -bits for i i området (11): GPIO.output (clockpin, True) GPIO.output (clockpin, False) adcout <0): print "Ingen mp3 -filer funnet!" return mp3_files print "--WW2 Radio ------------------------------------------ --------------------- "last_read = 0 # lagre den siste posisjonen til volumpotten last_year = 0 # lagre den siste plasseringen av frekvenspottoleransen = 5 # tillat en liten toleranse, så liten bevegelse av grytene forårsaker ikke en endring mens True: trim_pot_changed = False year_pot_changed = False for adcnum i område (2): ret = readadc (adcnum, SPICLK, SPIMOSI, SPIMISO, SPICS) hvis (adcnum == 0): # les potten for årsvelgeren for å se at den har flyttet year_adjust = abs (ret - last_year) if (year_adjust> tolerance+10): year_pot_changed = True if (year_pot_changed): # Verdier for if if -sjekkene kan gjøres laget etter den innebygde delprosessen.kall (['killall', 'mpg123']) # drep MP3 -løpende 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" # lagre verdien av potten for neste gang rundt løkken last_year = ret print (" Spiller 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) # velg en av filene tilfeldig for å spille war_mp3 = war_dir + play_list [play_file] delprosess. Popen (['mpg123', war_mp3]) # Bruk mpg123 som spilleren for lydsøvnen (0,1); # gi en liten pause før du fortsetter hvis (adcnum == 1): # les volumet pot_adjust = abs (ret - last_read) if (pot_adjust> toleranse): trim_pot_changed = True if (trim_pot_changed): set_volume = ret / 10.24 # convert 10bit adc0 (0-1024) pot-verdi inn i et 0-100 volumnivå set_volume = round (set_volume) # runde out desimal value set_volume = int (set_volume) # cast volume as integer # Bruk verdien fra potten til å sende et nivå til amixer prog -utskriften '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) # sett volum # lagre potensiometeravlesningen for neste sløyfe last_read = ret # En pause etter endring av volumet, slik at vi ikke handler for mange endringer hvis potten endres raskt. sover (0,5)
Trinn 12: Start datamaskinen automatisk ved innlasting
Det er mange måter å kjøre en kommando på Pi ved oppstart, men jeg synes dette er den enkleste, åpne Crontab
sudo crontab -e
Bare legg til denne linjen
@reboot python /home/pi/volume/year.py &
og det burde gjøre susen, neste gang du starter på nytt, vil lydkontrollprogrammet kjøre, og du bør høre din første sending.
Trinn 13: Hva neste?
Jeg er for tiden i ferd med å bygge ut et lite kretskort for å sitte på toppen av bringebær -pi, slik at jeg kan ha et sted å montere i2S -forsterkeren og ADC sammen med noen skrueterminaler for grytene. Dette vil la meg gjøre installasjonen litt penere og enkelt lage noen flere for venner.
Jeg samler for øyeblikket noen filer for en romløpsradio, som starter med sputnik og videre til månelandingen.
Gi meg beskjed hvis du har noen ideer eller ønsker tips eller tips om hvordan du setter sammen en selv.
Logger av.
Andre pris i lydkonkurransen 2018
Anbefalt:
Time Cube - Arduino Time Tracking Gadget: 6 trinn
Time Cube - Arduino Time Tracking Gadget: Jeg vil foreslå deg et enkelt, men veldig nyttig arduino -prosjekt for å spore tidshendelser ved å snu en smart kube -gadget. Vend den til " Arbeid " > " Lær " > " Husarbeid " > " Hvile " siden, og det vil telle
RaspiWWV - Simulert WWV Shortwave Audio Time Broadcast: 10 trinn (med bilder)
RaspiWWV - Simulert WWV Shortwave Audio Time Broadcast: Husk dagene da du ville sitte å lytte til WWV -tidssignaler på Shortwave -radioen (kryss, tikk, tikk … Ved tonen vil tiden være …)? (Hør den på YouTube ovenfor) Åh! Gikk du glipp av det? Nå kan du (re-) oppleve disse øyeblikkene og få
Medium Wave AM Broadcast Band Resonant Loop Antenna .: 31 trinn
Medium Wave AM Broadcast Band Resonant Loop Antenna .: Medium Wave (MW) AM broadcast band loop loop antenne. Bygget ved hjelp av billig 4 -par (8 -leder) telefon 'bånd' kabel, og amp; (valgfritt) plassert i billig hage 13mm (~ halv tomme) vanningsslange av plast. Den mer stive selvbærende versjonen passer bedre
Kamera for Time Lapse -bilder enkelt: 22 trinn (med bilder)
Camera for Time Lapse Pictures Made Easy .: Jeg sjekket ut en av de andre instruksjonene om å lage time -lapse -filmer. Han dekket ganske godt filmdelen. Han fortalte om gratis programvare som du kan laste ned for å lage filmene. Jeg sa til meg selv, jeg tror at jeg får se om jeg kan
Transistor Radio Time Machine: 22 trinn
Transistor Radio Time Machine: Ikke kast den gamle transistorradioen! Omform den til en tidsmaskin med merkelige, nostalgiske sendinger gjennom den originale høyttaleren. Komplett med et utvalg av egendefinerte tidsdestinasjoner og flagrende gult lys som minner om gammelt rør