Cuprins:
- Pasul 1: Lista pieselor radio ale mașinii de timp WW2
- Pasul 2: Găsirea unui radio vechi
- Pasul 3: Scoaterea vechiului radio și construirea unui nou șasiu
- Pasul 4: Renovarea cazului
- Pasul 5: Raspberry Pi Zero și amplificator
- Pasul 6: Crearea unui nou apel
- Pasul 7: controale de volum și selector
- Pasul 8: Alimentare și control
- Pasul 9: amenajarea carcasei
- Pasul 10: Descărcarea fișierelor audio
- Pasul 11: Circuit și software pentru redarea fișierelor
- Pasul 12: Pornirea automată a software-ului la încărcare
- Pasul 13: Ce urmează?
Video: WW2 Radio Broadcast Time Machine: 13 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Ideea din spatele acestui lucru a fost să folosesc câteva părți pe care le aveam în jur și să construiesc un tonomat audio format într-un vechi radio. Pentru a oferi mai multe scopuri în spatele ei, am decis, de asemenea, să-l completez cu emisiunile radio vechi din WW2 și apoi să refolosesc cadranul de frecvență pentru a selecta un an individual al războiului, iar difuzările relevante vor fi apoi redate. Văzusem câteva colecții de înregistrări MP3, așa că totul era pregătit.
În ceea ce privește hardware-ul meu preferat este fie arduino, fie raspberry pi zero, iar pentru asta voi folosi raspberry pi zero. Cu toate acestea, are dezavantajele sale și, în acest caz, este lipsa intrărilor audio ușor de utilizat și a intrărilor analogice ușoare. Pentru a depăși acest lucru, tind să folosesc amplificatorul Adafruit I2S 3W Class D Breakout - MAX98357A, care este o modalitate foarte ușoară de a adăuga audio la Pi și pentru intrarea analogică un MCP 3002 care este un convertor cu două canale la SPI. În general, oamenii au tendința de a utiliza un MCP 3008 care are 4 intrări, dar am crezut că ar fi prea ușor, din fericire am reușit să găsesc un software care a funcționat cu acestea în cele din urmă.
Una dintre celelalte probleme legate de utilizarea unui PI este că acesta tinde să sufere dacă îl opriți fără să efectuați o oprire, l-am întâlnit de nenumărate ori și pare întotdeauna să corupă fișierul de configurare a rețelei. Având în vedere acest lucru ca un simplu standalone care ar fi fost o problemă, așa că am adăugat și un Shim On / Off Pimoroni care efectuează atât o închidere grațioasă la apăsarea unui buton, dar permite și o pornire cu același buton.
Pasul 1: Lista pieselor radio ale mașinii de timp WW2
Piesele necesare
- Radio vechi
- Poloneză franceză
- SandPaper
- Lexan pentru cadran
- Termoretractare
- Raspberry Pi Zero
- I2S Amp
- PORNIT / OPRIT Shim
- Speaker
- Caramida electrică
- MCP3002
- LED
- Rezistor 270R
- 2x oale de 10k
- Apăsați pentru a face Switch
- Cablu USB
Pasul 2: Găsirea unui radio vechi
Primul pas, desigur, este să găsesc un radio vechi adecvat și am reușit să-l găsesc pe eBay pentru 15 GBP. A existat o tentație de a-l rula la început, dar când sasiul a ieșit și a fost prezentată întreaga gamă de rezistențe și condensatoare care ar trebui înlocuite, nu m-am simțit atât de rău să-l scot. Deși nu este strict un set din anii 1940, există unele seturi de construcții de case din acea epocă care cu siguranță arătau asemănătoare.
Pasul 3: Scoaterea vechiului radio și construirea unui nou șasiu
Este destul de simplu să separați una dintre acestea, în general se pare că șasiul este montat pe carcasă și pe acesta este montat totul. Deci, odată ce a fost deșurubat și butoanele eliberate, acesta glisează afară. Majoritatea sunt construite în întregime pe un șasiu secundar. Intenția mea inițială era să folosesc un difuzor dintr-o cutie de difuzoare bluetooth ruptă, dar m-am întrebat dacă cel vechi ar funcționa. A fost o surpriză plăcută să constatăm că nu numai că a funcționat, dar a sunat chiar foarte bine. Deci, următorul pas aici a fost să măsurăm în continuare totul și să construim un nou șasiu în Tinkercad. Am redefinit zona de apelare frecvență și am ținut difuzorul în același loc. În plus, a fost adăugată o placă de montare pentru pi zero. L-am tipărit în PETG, despre care consider că este mai puțin rezistent la deformare și o potrivire de probă a tuturor părților părea să arate că va funcționa. A trebuit să mă joc puțin cu volumul de montare, astfel încât noile oale să se potrivească frumos și să se monteze în continuare prin carcasă.
Puteți descărca șasiul 3D de aici dacă doriți să lucrați cu el
www.thingiverse.com/thing:3174818
Pasul 4: Renovarea cazului
Acum, primul lucru de făcut atunci când cazul a fost eliminat a fost să decidem ce să facem cu finisajul. Deși carcasa nu a fost prea rea, inițial m-am gândit doar să-i dau o curățare bună pentru a păstra aspectul de patină uzat. Adesea, o ștergere cu oțet va împrospăta o carcasă veche, dar au existat câteva locuri prin care lacul s-a crăpat, așa că am decis să-l dezbrac. Cu cutii vechi din lemn, acestea sunt în mod normal acoperite cu un furnir subțire de lemn, dar nu este atât de subțire încât nu puteți obține o șlefuire bună pe el. Mai întâi a fost îndepărtată pânza grilajului difuzorului, care a fost destul de dezgustător cu aproximativ 50 de ani de praf și murdărie și a fost pusă pe o parte. Apoi, câteva straturi groase de Nitromors, un decapant de vopsea și lacul vechi s-au desprins în cele din urmă. Acest lucru a trebuit făcut de două ori, deoarece probabil a fost lăcuit la un moment dat peste finisajul original. Pentru a curăța câteva zgârieturi și a-i oferi un finisaj mai frumos, a fost șlefuit cu aproximativ 100 de hârtie gresie și apoi o șlefuire finală cu un burete de șlefuire mediu. Faceți toate acestea în conformitate cu cerealele și apoi ștergeți-le cu spirit alb pentru a curăța orice praf. În același timp, cutia a fost, de asemenea, fixată cu un lipici pentru lemn, unde furnirul se îndepărtase ușor. Grilajele din lemn s-au dezlipit și ele, așa că mai mult lipici de lemn și aruncă piesele acolo unde este posibil. După ce s-a uscat, am folosit doar un bisturiu pentru a curăța marginile lemnului și le-am vopsit în maro cu vopsea acrilică Tamiya.
Primul meu gând a fost să înlocuiesc doar cârpa difuzorului, dar costul materialului cu aspect autentic este destul de abrupt, deoarece a avut tendința de a fi vândut pe lungimi lungi. După un pic de explorare a forumurilor radio de epocă, se pare că puteți aduce înapoi pânză veche cu o înmuiere. Așadar, folosind apă rece și mult lichid de spălat, l-am înmuiat peste noapte și surprinzător, odată ce s-a uscat din nou, a apărut destul de curat.
Acum aveam de gând să abordez finisajul și inițial am decis să-i dau un lac transparent, apoi m-am gândit să folosesc un lac spray și în timp ce în insula de lacuri / vopsele din magazinul local de bricolaj am găsit o sticlă de oțel francez. Gândindu-mă că ar fi un bun finisaj autentic, am decis să încerc. Deci, acum trebuie să știți că lustruirea franceză este destul de mult o formă de artă / abilitate care necesită multă practică pentru a fi corectă. Puteți căuta instrucțiuni pe YouTube și, deși pare destul de simplu, este o operație destul de dezordonată. Teza pare să obțină oja într-o cârpă înmuiată în vată, astfel încât să poți strânge oțelul pe lemn în timp ce lucrezi. Dacă o încercați doar cu o cârpă, aproximativ 3/4 din modul în care lustruirea începe să se usuce pe măsură ce etanolul se evaporă și cârpa începe să se târască. Deci, în cele din urmă, mai degrabă decât să obțin un finisaj cu luciu ridicat, am reușit să aplic câteva straturi, șlefuiți ușor cu hârtie de calitate 1500, apoi să mai aplicați câteva și a ajuns să pară OK. Totuși am pete de poloneză franceză totuși pe unghii.
Curățarea celorlalte părți a fost mult mai ușoară, cu toate componentele hardware care intra în dispozitivul de curățat cu ultrasunete, iar cadranul a fost lustruit cu unele Silvo Polish. Brasso ar avea de ales, dar Silvo și puțină grăsime pentru cot au fost suficiente pentru a curăța indicatorul cadranului.
La sfârșitul acestui lucru am avut o cutie de lemn destul de frumoasă pregătită pentru mașina timpului în sine.
Pașii din această secțiune Scoateți șuruburile / cadranele și cârpa.
2. Îndepărtați carcasa cu nitromori
3. Șlefuirea furnirului
4. Repararea grilei
5. Curățarea cârpei difuzorului
6. Lustruirea franceză a carcasei
7. Curățarea cu ultrasunete a șuruburilor și a butoanelor
8. Lustruirea indicatorului de apelare
Pasul 5: Raspberry Pi Zero și amplificator
Cu o ieșire audio normală Raspberry PI este destul de simplă, deoarece are o ieșire jack audio, dar pentru Pi Zero nu există opțiuni native native. Există câteva soluții pe care le-am încercat în care puteți redirecționa pinii GPIO și apoi folosiți un filtru low-pass, dar niciodată nu am reușit să obțin ceva care să sune decent și, bineînțeles, aveți nevoie și de un amplificator pentru a obține ceva utilizabil. Există o mulțime de pălării DAC, dar acestea sunt destinate persoanelor care caută un sunet foarte bun și excesiv pentru acest tip de proiecte. Există, de asemenea, niște pălării audio ieftine cu difuzoare încorporate, dar nu suficient de puternice pentru asta. Așa că mă stabilesc acum pe placa de ieșire a amplificatorului i2S de la Adafruit, care rezolvă toate problemele dintr-o singură dată. Rețineți doar că este i2S și nu i2C.
Aveți nevoie doar de câteva fire pentru a pune acest lucru în funcțiune și cu un difuzor suficient de decent puteți obține un sunet mono excelent și puternic.
Pasul 6: Crearea unui nou apel
Ideea aici, desigur, este de a înlocui cadranul și sticla existente cu unul care arată anul în loc de frecvență. Din fericire, cea existentă a fost doar o inserție tipărită, așa că am scăpat-o pe scaner și am copiat-o în Paint Shop Pro, am folosit instrumentul de clonare și am șters numerele vechi și apoi le-am introdus unele noi pentru fiecare an. Cu sticla, cel din radio a fost zgâriat și crăpat și, după cum se dovedește, este și din plastic. Am imprimat doar învelișul cadrului pentru a facilita montarea testului și am încercat inițial să realizez unul din acril. În general, nu am răbdare suficientă cu acrilul și am sfârșit prin a-l sparge când încerc să găuresc gaura centrală. Așa că am recurs la policarbonat de 1,5 mm, care este mult mai ușor de tăiat și de găurit. Îl puteți găsi, de asemenea, numit Lexan sau Macrolon, în funcție de locul în care locuiți și are, de asemenea, un fișier, așa că am avut în curând un cadru și un cadran care se potrivesc. De asemenea, este interesant că hârtia originală avea un depozit ușor de metal peste tot, pot presupune doar că a fost cineva afectat de indicatorul original de alamă, poate un proces de îmbătrânire?
Pasul 7: controale de volum și selector
Unul dintre dezavantajele Raspberry pi pentru tinkering este că nu are nicio intrare analogică nativă. Nu prea este o problemă dacă adăugați un ADC simplu (analogic la convertor digital) și MPC3002 se potrivește aici cu factura și convertește o intrare analogică într-o valoare de 10 biți care poate fi citită pe magistrala SPI.
Aproape toate exemplele pe care le găsiți sunt pentru MPC3008, care este un dispozitiv cu 4 canale, iar codul pentru acesta cu siguranță nu funcționează cu MPC3002. De asemenea, par să existe o mulțime de exemple în jurul cărora nu funcționează, dar există unul pe care îl pot confirma și funcționează, iar codul său poate fi găsit aici.
github.com/CaptainStouf/Adafruit-raspi-pyt…
Cu acest cod puteți citi cu ușurință două canale și puteți utiliza rezultatele. Exemplul meu va folosi unul pentru Volum, iar celălalt pentru selectarea datei. Am avut la un moment dat și un codificator rotativ instalat, dar un singur volum de rotație este mai potrivit și cu selectorul de frecvență a însemnat, de asemenea, că aș putea asambla totul și apoi doar să reglați locațiile marcatorilor de an cu o declarație de caz mare. Bineînțeles, pyhon nu acceptă declarația de caz, așa că mult dacă atunci altfel dacă declarația va face treaba.
Imaginea arată MCP3002 așezat pe o mică placă prototip și oala de 10K
Pasul 8: Alimentare și control
Pi tocmai se oprește din alimentarea USB, așa că este foarte ușor de pornit, totuși veți sfârși prin a deteriora cardul SD dacă pur și simplu veți extrage puterea. Există o mulțime de moduri de a monitoriza apăsarea unui buton și de a iniția o oprire, dar atunci trebuie să faceți un ciclu de alimentare pentru a-l recupera. Pentru a rezolva acest lucru și pentru a face un proiect ușor de utilizat, folosesc butonul Pimoroni ON / OFF. Acest lucru vă permite să apăsați o dată, se pornește și apoi o apăsare lungă și va rula o oprire curată. Pentru a-l face puțin portabil, folosesc și o bancă de putere veche care se ocupă și de încărcarea bateriei. Powerbanks este destul de ieftin și capabil să ruleze Pi pentru o perioadă echitabilă.
Am montat butonul pentru a face butonul să se potrivească în locul în care vechiul cablu de alimentare a ieșit în spate. Deoarece există o întârziere în timp ce Pi se pornește, am conectat un LED în șina 3v3, care se aprinde și imediat ce PI devine alimentat și oferă o strălucire autentică frumoasă pe cadran. Am pus un rezistor 270R în linie și celălalt capăt doar la sol. De asemenea, ați putea adăuga altul la un pin GPIO dacă doriți să dați efecte suplimentare, cum ar fi pâlpâirea, dar deocamdată acest lucru este suficient pentru a arăta că puterea este pornită.
Pasul 9: amenajarea carcasei
Cu carcasa și șasiul toate gata și testate, au fost doar câteva șuruburi de 4 mm și piulițe Nyloc pentru a le păstra. Șuruburile autofiletante cu flanșă mențin spatele în poziție.
Butonul de alimentare a fost, de asemenea, încorporat frumos în vechea orificiu de alimentare.
De asemenea, am vrut să refolosesc butoanele vechi și au fost proiectate inițial, se pare că merg pe tije de alamă și erau puțin prea mari pentru ghivece. Deoarece acest lucru nu va avea o manevrare dură, am strecurat doar niște termocontractori peste vase și apoi am lipit butoanele pe asta. Se prinde frumos și strâns și îl poți tot demonta dacă este necesar.
Pasul 10: Descărcarea fișierelor audio
Folosesc fișiere MP3 și există o selecție fantastică de la Archive.org, puteți găsi difuzări grupate de difuzare în timp de război și există în principal două selecții dintre care să alegeți.
Am început cu selecția de știri în principal și acestea sunt apoi copiate în directoare pe PI. De asemenea, puteți găsi selecția mai mare, numită cea mare, pe următorul link. Există câteva sute de emisiuni pentru fiecare an și este destul de uimitor cantitatea și gama acestora.
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
Colecție mai mare
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
Folosesc Filezilla ca o modalitate ușoară de a le transfera pe Pi deoarece se poate conecta și transfera folosind SSH, deci nu este nevoie să configurați o unitate SAMBA sau un server FTP.
Pasul 11: Circuit și software pentru redarea fișierelor
Odată ce ai amplificatorul funcțional și poți urmări linkul de configurare de mai jos pentru asta, va trebui să instalezi și playerul mpg123, căutare destul de simplă pe google pentru că codul Python este mai jos. Asigurați-vă că aveți i2 și SPI activate în Raspi Config. Am pus acest fișier în directorul / home / pi / volume /, astfel încât să îl pot rula mai târziu la boot.
#! / usr / bin / env python
# Radio WW2 - software pentru a citi MCP3002 ADC și a le converti la reglarea volumului și a anului # Ouput prin amplificator i2S 2018-10-20 - Ajax Jones # Fragmente de cod furnizate de la https://learn.adafruit.com/adafruit-max98357-i2s- class-d-mono-amp / raspberry-pi-usage # MCP 3002 Python https://github.com/CaptainStouf/Adafruit-raspi-python/blob/master/Adafruit_MCP3002/MCP3002.py import RPi. GPIO ca GPIO, timp, OS din lista de importuri OS Importați subprocesul din timp importați somnul import aleatoriu GPIO.setmode (GPIO. BCM) # citiți datele SPI de pe cipul MCP3002, 2 posibile adc's (0 și 1) def readadc (adcnum, clockpin, mosipin, misopin, cspin): if ((adcnum> 1) sau (adcnum <0)): return -1 GPIO.output (cspin, True) GPIO.output (clockpin, False) # start clock low GPIO.output (cspin, False) # aduce CS low commandout = adcnum << 1; commandout | = 0x0D # start bit + single-ended bit + MSBF bit commandout << = 4 # trebuie doar să trimitem aici 4 biți pentru i în intervalul (4): if (commandout & 0x80): GPIO.output (mosipin, Adevărat) altceva: GPIO.output (mosipin, False) commandout << = 1 GPIO.output (clockpin, True) GPIO.output (clockpin, False) adcout = 0 # citit într-un bit nul și 10 biți ADC pentru i în raza de acțiune (11): GPIO.output (clockpin, True) GPIO.output (clockpin, False) adcout <0): tipăriți "Nu s-au găsit fișiere mp3!" returnează fișiere mp3 tipărite "--WW2 Radio ------------------------------------------ --------------------- "last_read = 0 # stochează ultima poziție a potului de volum last_year = 0 # stochează ultima poziție a toleranței potului de frecvență = 5 # permite o toleranță mică, astfel încât o mișcare ușoară a vaselor nu provoacă o schimbare în timp ce este adevărat: trim_pot_changed = False year_pot_changed = False pentru adcnum în intervalul (2): ret = readadc (adcnum, SPICLK, SPIMOSI, SPIMISO, SPICS) if (adcnum == 0): # citiți potul pentru selectorul de an pentru a vedea că s-a mutat year_adjust = abs (ret - last_year) if (year_adjust> tolerance + 10): year_pot_changed = Adevărat if (year_pot_changed): # Valori pentru dacă apoi verificările pot fi realizat după subprocesul său construit.call (['killall', 'mpg123']) # kill orice MP3 care rulează somn (0,1); dacă ret 50 și ret = 150 și ret = 250 și ret = 350 și ret = 450 și ret = 550): war_year = "1945" # salvați valoarea potului pentru următoarea dată în jurul buclei last_year = ret print (" Redare din "), 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) # selectați aleatoriu unul dintre fișierele pentru a reda war_mp3 = war_dir + play_list [play_file] subprocess. Popen (['mpg123', war_mp3]) # Utilizați mpg123 ca player pentru somnul audio (0,1); # oferiți o ușoară pauză înainte de a continua dacă (adcnum == 1): # citiți volumul 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) valoare pot într-un nivel de volum 0-100 set_volume = round (set_volume) # round out value decimal set_volume = int (set_volume) # cast volume as integer # Utilizați valoarea din pot pentru a trimite un nivel către 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) # set volume # salvați citirea potențiometrului pentru următoarea buclă last_read = ret # O pauză după schimbarea volumului, astfel încât să nu acționăm asupra prea multor modificări dacă potul se schimbă rapid. sleep (0.5)
Pasul 12: Pornirea automată a software-ului la încărcare
Există mai multe moduri de a rula o comandă pe Pi la boot, dar mi se pare cel mai simplu, Deschide Crontab
sudo crontab -e
Acum trebuie doar să adăugați această linie
@reboot python /home/pi/volume/year.py &
și asta ar trebui să facă truc, data viitoare când reporniți programul de control audio va rula și ar trebui să auziți prima dvs. difuzare.
Pasul 13: Ce urmează?
În prezent, sunt în procesul de construire a unui mic PCB pentru a sta deasupra zmeii pi, astfel încât să pot avea undeva pentru a monta amplificatorul i2S și ADC, împreună cu niște terminale cu șurub pentru vase. Acest lucru mă va permite să fac instalarea un pic mai îngrijită și să fac cu ușurință câteva mai multe pentru prieteni.
În prezent colectez câteva fișiere pentru un radio de curse spațiale, începând cu sputnik și până la aterizările lunare.
Vă rugăm să-mi spuneți dacă aveți idei sau doriți sfaturi sau sugestii cu privire la realizarea unuia singur.
Delogare.
Premiul II la Concursul Audio 2018
Recomandat:
Cursant de istorie WW2: 3 pași
Învățător de istorie WW2: Bună băieți! Deci, pentru clasa mea de computer din acest an, am fost însărcinat să creăm un fel de dispozitiv electronic pentru a arăta ceea ce am învățat în clasă. Sunt unul dintre oamenii care iubesc istoria celui de-al doilea război mondial, așa că am decis să fac un dispozitiv care să îi ajute pe oameni să iasă
Restabilirea unui multimetru era WW2 la ordinea de lucru .: 3 pași
Restabilirea unui multimetru era WW2 la ordinea de funcționare .: Acum câțiva ani am achiziționat acest multimetru Simpson Electric timpuriu pentru colecția mea. A venit într-o husă din piele neagră, care era în stare excelentă, având în vedere vârsta sa. Data de brevetare a Oficiului de Brevete din SUA pentru mișcarea contorului este 1936
Antenă radio Radio Ham Rooftop: 8 pași (cu imagini)
Urban Rooftop Ham Radio Antenna: Am pus recent o antenă radio ham pe acoperiș, astfel încât să pot obține un semnal mai bun în interiorul apartamentului meu, care nu se află la un etaj superior. Fiind un ultra începător fără prea multe investiții în hobby, era perfect acceptabil să trebuiască să urci pe acoperiș pentru a
Ceas digital Time Network folosind ESP8266: 4 pași (cu imagini)
Ceas digital Time Network folosind ESP8266: Învățăm cum să construim un ceas digital drăguț care comunică cu serverele NTP și afișează ora rețelei sau a internetului. Folosim WeMos D1 mini pentru a ne conecta la o rețea WiFi, pentru a obține ora NTP și pentru a o afișa pe un modul OLED. Videoclipul de mai sus
Tie Time Keeper: 6 pași (cu imagini)
Tie Time Keeper: Este important să puteți spune ora, dar nu tuturor le place să poarte un ceas și să ne luăm smartphone-ul doar pentru a verifica ora pare un pic inutil. Îmi place să-mi păstrez mâinile libere de inele, brățări și ceasuri când lucrez într-un profesionist