Съдържание:
- Стъпка 1: Списък с радиочасти на WW2 Time Machine
- Стъпка 2: Намиране на старо радио
- Стъпка 3: Премахване на старото радио и конструиране на ново шаси
- Стъпка 4: Обновяване на корпуса
- Стъпка 5: Raspberry Pi Zero и усилвател
- Стъпка 6: Осъществяване на нов циферблат
- Стъпка 7: Контроли за силата на звука и селектора
- Стъпка 8: Захранване и контрол
- Стъпка 9: Монтиране на калъфа
- Стъпка 10: Изтегляне на звуковите файлове
- Стъпка 11: Схема и софтуер за възпроизвеждане на файловете
- Стъпка 12: Автоматично стартиране на софтуера при зареждане
- Стъпка 13: Какво следва?
Видео: WW2 радио излъчване машина на времето: 13 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Идеята зад това беше да използвам някои части, които имах да лежа, и да конструирам аудио джубокс, създаден в старо радио. За да осигуря още някаква цел зад него, аз също реших да го запълня със стари радиопредавания от Втората световна война и след това да пренасоча честотното набиране, за да избера отделна година от войната и съответните предавания да се възпроизведат. Бях видял няколко колекции от MP3 записи, така че всичко беше готово.
По отношение на хардуера любимото ми е или arduino, или малиново пи нула, и за това ще използвам малиново пи нулево. Той обаче има своите недостатъци и в този случай това е липсата на лесен за използване аудио и липса на лесни аналогови входове. За да преодолея това, аз съм склонен да използвам Adapruit I2S 3W Class D усилвател Breakout - MAX98357A, който е истински лесен начин за добавяне на аудио към Pi и за аналоговия вход MCP 3002, който е двуканален към SPI конвертор. Обикновено хората са склонни да използват MCP 3008, който има 4 входа, но мислех, че това ще бъде твърде лесно, за щастие успях да намеря софтуер, който да работи с тях в крайна сметка.
Един от другите проблеми с използването на PI е, че той има тенденция да страда, ако просто го изключите, без да извършвате изключване, срещал съм това безброй пъти и винаги изглежда, че поврежда конфигурационния файл на мрежата. Тъй като това беше замислено като просто самостоятелно, което би било проблем, затова добавих и Pimoroni On/Off Shim, който изпълнява едновременно грациозно изключване с натискане на бутон, но също така позволява стартиране със същия бутон.
Стъпка 1: Списък с радиочасти на WW2 Time Machine
Необходимите части
- Старо радио
- Френски полски
- Пясъчна хартия
- Lexan за набиране
- Топлообменник
- Raspberry Pi Zero
- I2S усилвател
- ON/OFF Shim
- Говорителят
- Мощна тухла
- MCP3002
- LED
- Резистор 270R
- 2x 10k саксии
- Натиснете, за да превключите
- USB кабел
Стъпка 2: Намиране на старо радио
Разбира се, първата стъпка е да намеря подходящо старо радио и успях да намеря това в ebay за £ 15. В началото имаше изкушение да го пусна, но когато шасито излезе и целият набор от резистори и кондензатори бяха показани, които ще трябва да бъдат сменени, не се чувствах толкова зле да го разглобя. Въпреки че строго не е точно комплект от 1940 -те, има някои комплекти за домашно строителство от тази епоха, които със сигурност изглеждаха сходни.
Стъпка 3: Премахване на старото радио и конструиране на ново шаси
Доста е лесно да се отдели един от тях, като цяло изглежда, че шасито е монтирано към кутията и върху него е монтирано всичко. Така че след като се развие и копчетата се освободят, той просто се плъзга навън. Повечето са изградени изцяло на под шаси. Първоначалното ми намерение беше да използвам високоговорител от разкъсана кутия за Bluetooth високоговорители, но се чудех дали старият ще работи. Беше приятна изненада да открия, че не само че работи, но и звучи наистина страхотно. Така че следващата стъпка тук беше да продължите да измервате всичко и да изградите ново шаси в Tinkercad. Предефинирах зоната за честотно набиране и запазих високоговорителя на същото място. Освен това е добавена монтажна плоча за pi нула. Отпечатах го в PETG, който според мен е по -малко устойчив на деформация и пробното прилягане на всички части показа, че ще работи. Трябваше да си поиграя малко с монтирането на силата на звука, така че новите саксии да паснат добре и да продължат да се монтират през кутията.
Можете да изтеглите 3D шасито тук, ако искате да се справите с него
www.thingiverse.com/thing:3174818
Стъпка 4: Обновяване на корпуса
Сега първото нещо, което трябваше да се направи, когато делото беше отстранено, беше да се реши какво да се прави с финала. Въпреки че случаят не беше чак толкова лош, първоначално се замислих просто да го подредя добре, за да запази износената патина. Често избърсването с оцет ще освежи един стар калъф, но имаше няколко места, през които лакът се беше пропукал, затова реших да го съблека. Със стари дървени кутии те обикновено са покрити с тънък фурнир от дърво, но той не е толкова тънък, че не можете да получите добро шлайфане върху него. Първо беше отстранен платът на решетката на високоговорителя, което беше доста отвратително с около 50 години прах и мръсотия в него и беше поставено на една страна. След това няколко дебели слоя Nitromors, средство за отстраняване на бои и старият лак в крайна сметка се отделиха. Това трябваше да се направи два пъти, тъй като вероятно беше лакирано в някакъв момент върху първоначалното покритие. За да се изчистят някои от драскотините и да се придаде по -хубав завършек, той беше шлифован с около 100 песъчинка хартия и след това окончателно шлайфане със средна шлифовъчна гъба. Направете всичко това в съответствие със зърното и след това избършете с бял спирт, за да почистите праха. В същото време кутията също беше фиксирана с малко лепило за дърво, където фурнирът беше леко издърпан. Дървените решетки също са се разслоили малко, така че повече лепило за дърво и издърпайте парчетата, когато е възможно. След като изсъхна, просто използвах скалпел, за да почистя ръбовете на дървото и ги боядисах в кафяво с акрилна боя Tamiya.
Първата ми мисъл беше просто да подменя тъканта на високоговорителя, но цената на автентично изглеждащия материал е доста голяма, тъй като има тенденция да се продава на дълги разстояния. След малко проучване на винтидж радио форуми изглежда, че можете да върнете стара кърпа с накисване. Така че, използвайки студена вода и много течност за миене, я накиснах за една нощ и изненадващо, след като отново изсъхна, стана доста чиста.
Сега щях да се захвана с финала и първоначално реших да му дам чист лак, после се замислих дали да не използвам спрей лак и докато в островчето за лак/боя в местния магазин „Направи си сам“намерих бутилка френски лак. Мислейки, че това ще бъде добър автентичен завършек, реших да опитам. Така че сега трябва да знаете, че френското полиране е почти изкуство/умение, което изисква много практика, за да се оправи. Можете да търсите инструкции в YouTube и въпреки че изглежда доста проста, това е доста объркана операция. Умението сякаш получава лак в парцал, напоен с памучна вата, така че да можете да изстискате лак върху дървото, докато работите. Ако просто опитате с парцал, около 3/4 от начина, по който лакът започва да изсъхва, когато етанолът се изпарява и парцалът започва да се влачи. Така че в крайна сметка, вместо да получа покритието с висок гланц, успях да нанеса няколко слоя, да шлайфам леко с хартия 1500, след това да нанеса още няколко и в крайна сметка изглеждаше добре. все още имам петна от френски лак по ноктите си.
Почистването на останалите части беше много по -лесно, като целият хардуер влезе в ултразвуковия почистващ препарат, а циферблатът беше полиран с някакъв Silvo Polish. Brasso ще има избор, но Silvo и малко повече лакътна смазка бяха достатъчни, за да почистят индикатора за набиране.
В края на това имах доста добре изглеждаща дървена кутия, готова за самата машина на времето.
Стъпки в този раздел 1. Отстранете всички болтове/циферблати и плат.
2. Дървена лента на корпуса с нитромори
3. Шлифоване на фурнира
4. Поправяне на решетката
5. Почистване на кърпата на високоговорителя
6. Френско полиране на кутията
7. Ултразвуково почистване на винтовете и копчетата
8. Полиране на индикатора за набиране
Стъпка 5: Raspberry Pi Zero и усилвател
С нормален Raspberry PI аудио изходът е доста прост, тъй като има изход за аудио жак, но за Pi Zero няма реални местни опции. Има някои решения, които съм изпробвал, където можете да пренасочите GPIO пиновете и след това да използвате нискочестотен филтър, но никога не съм успявал да получа нещо, което да звучи прилично, и разбира се, че имате нужда и от усилвател, за да получите нещо използваемо. Има много DAC шапки, но те са за хора, които търсят наистина добро аудио и прекалено много за такива проекти. Има и някои хубави евтини аудио шапки с вградени високоговорители, но просто не достатъчно силни за това. Така че сега се спрях на i2S усилвателната платка от Adafruit, която решава всички проблеми наведнъж. Само имайте предвид, че това е i2S, а не i2C.
Нуждаете се само от няколко проводника, за да стартирате това и с достатъчно приличен високоговорител можете да получите страхотен, силен моно звук.
Стъпка 6: Осъществяване на нов циферблат
Идеята тук, разбира се, е да се замени съществуващия циферблат и стъкло с такъв, който показва годината вместо честотата. За щастие съществуващата беше само отпечатана вложка, затова я пуснах на скенера и я копирах в Paint Shop Pro, използвах инструмента за клониране и изтрих старите номера и след това просто въведох някои нови за всяка година. Със стъклото това в радиото беше надраскано и напукано и както се оказа, също е направено от пластмаса. Отпечатах само рамката на рамката, за да улесня тестовото монтиране и първоначално се опитах да направя такава от акрил. По принцип нямам достатъчно търпение с акрил и в крайна сметка го напуках, когато се опитах да пробия централната дупка. Затова прибягнах до 1,5 мм поликарбонат, който е много по -лесен за ножовка и пробиване. Можете да го намерите също така наречен Lexan или Macrolon в зависимост от това къде живеете, а също така отнема и файл, така че скоро имах рамка и циферблат, които пасват. Интересното е също, че оригиналната хартия имаше лек метален налеп по цялото тяло, мога само да предположа, че това е някой, засегнат от оригиналната месингова стрелка, може би някакъв процес на стареене?
Стъпка 7: Контроли за силата на звука и селектора
Един от недостатъците на Raspberry pi за калайджия е, че няма никакъв собствен аналогов вход. Всъщност не е твърде голям проблем, ако добавите обикновен ADC (аналогово -цифров преобразувател) и MPC3002 отговаря на сметката тук и преобразува аналогов вход в 10 -битова стойност, която може да се прочете на SPI шината.
Почти всички примери, които намирате, са за MPC3008, което е 4 -канално устройство и кодът за това със сигурност не работи с MPC3002. Изглежда също има много примери наоколо, които също не работят, но има един, който мога да потвърдя, че работи и неговият код може да бъде намерен тук.
github.com/CaptainStouf/Adafruit-raspi-pyt…
С този код можете лесно да прочетете два канала и да използвате резултатите. Моят пример ще използва един за тома, а другият за избор на дата. В един момент също имах инсталиран въртящ се енкодер, но обемът на един оборот е по -подходящ и с честотния селектор това означаваше също, че мога да сглобя всичко и след това просто да настроя местоположенията на годишните маркери с чудесен голям случай. Естествено pyhon не поддържа твърдението на случая толкова дълго, ако иначе ако изявлението ще свърши работа.
Снимката показва MCP3002, седнал на малка прототипна дъска и 10K гърне
Стъпка 8: Захранване и контрол
Pi просто изчерпва USB захранването, така че е много лесно да се стартира, но в крайна сметка ще повредите SD картата, ако просто дръпнете захранването. Има много начини да наблюдавате натискането на бутон и да инициирате изключване, но след това сте склонни да включите цикъла, за да го възстановите. За да заобиколя това и да направя лесен за използване проект, използвам подложката Pimoroni ON/OFF. Това ви позволява да натиснете веднъж и да се включи, а след това дълго натискане и ще стартира чисто изключване. За да го направя малко преносим, използвам стара банка за захранване, която се справя и с зареждането на батерията. Силовите банки са достатъчно евтини и могат да работят с Pi за известно време.
Поставих бутона за натискане, за да направя копчето подходящо на мястото, където старият захранващ кабел излезе отзад. Тъй като има забавяне, докато Pi се зарежда, усилено свързах LED в 3v3 шината, която се включва и веднага след като PI получи захранване и осигурява приятно автентично сияние на циферблата. Сложих 270R резистор на линия, а другия край само към земята. Можете също така да добавите друг към GPIO щифт, ако искате да дадете допълнителни ефекти, като трептене, но засега това прави достатъчно, за да покаже, че захранването е включено.
Стъпка 9: Монтиране на калъфа
Тъй като корпусът и шасито са готови и тествани, само няколко 4 -милиметрови болта и гайки от Nyloc го задържат. Самонарезните винтове с фланци държат гърба на място.
Бутонът за захранване също се вписва добре в стария отвор за захранване.
Исках също да използвам отново старите копчета и те първоначално бяха проектирани, изглежда сякаш отиват на месингови пръти и бяха малко прекалено големи за саксиите. Тъй като това няма да доведе до грубо боравене, просто плъзнах някакво термосвиване върху саксиите и след това залепих копчетата върху него. Хваща се добре и стегнато и все още можете да го разглобите, ако е необходимо.
Стъпка 10: Изтегляне на звуковите файлове
Използвам MP3 файлове и има фантастична селекция от Archive.org, можете да намерите групирани излъчвания на излъчване по време на война и има основно две възможности за избор.
Започнах с предимно избора на новини и след това те се копират в директории на PI. Можете също да намерите по -големия избор, наречен Големият, на следната връзка. Има няколкостотин излъчвания за всяка година и е невероятно количеството и обхватът на тези.
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
По -голяма колекция
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
Използвам Filezilla като лесен начин да ги прехвърля на Pi, тъй като той може да влезе и да прехвърли чрез SSH, така че няма нужда да настройвате SAMBA устройство или FTP сървър.
Стъпка 11: Схема и софтуер за възпроизвеждане на файловете
След като усилвателят работи и можете да следвате връзката за настройка по -долу, за това ще трябва да инсталирате и mpg123 плейър, доста право напред търсене в Google за този код на Python е по -долу. Просто се уверете, че имате активирани i2s и SPI във вашия Raspi Config. Поставих този файл в директорията/home/pi/том/, за да мога да го стартирам при стартиране по -късно.
#!/usr/bin/env python
# Радио WW2- софтуер за четене на MCP3002 ADC и преобразуване в регулация на силата на звука и годината. class-d-mono-amp/raspberry-pi-usage # MCP 3002 Python https://github.com/CaptainStouf/Adafruit-raspi-python/blob/master/Adafruit_MCP3002/MCP3002.py импортиране на RPi. GPIO като GPIO, време, os от os импортиране listdir импортиран подпроцес от време импортиране спящ импорт произволен GPIO.setmode (GPIO. BCM) # прочетете SPI данните от чипа MCP3002, 2 възможни ADC (0 и 1) def readadc (adcnum, clockpin, mosipin, misopin, cspin): if ((adcnum> 1) или (adcnum <0)): връщане -1 GPIO.output (cspin, True) GPIO.output (clockpin, False) # начален часовник нисък GPIO.output (cspin, False) # донесе CS ниска команда = adcnum << 1; commandout | = 0x0D # начален бит + единичен бит + MSBF бит commandout << = 4 # трябва само да изпратим 4 бита тук за i в обхват (4): if (commandout & 0x80): GPIO.output (mosipin, Вярно) иначе: GPIO.output (mosipin, False) commandout << = 1 GPIO.output (clockpin, True) GPIO.output (clockpin, False) adcout = 0 # четене в един нулев бит и 10 ADC бита за i в обхвата (11): GPIO.output (clockpin, True) GPIO.output (clockpin, False) adcout <0): отпечатайте "Няма намерени mp3 файлове!" връщане mp3_files печат "--WW2 радио ------------------------------------------ --------------------- "last_read = 0 # съхранява последната позиция на обемния пот last_year = 0 # съхранява последната позиция на толеранса на честотния пот = 5 # позволяват малък толеранс, така че лекото движение на саксиите не предизвиква промяна, докато True: trim_pot_changed = False year_pot_changed = False за adcnum в диапазон (2): ret = readadc (adcnum, SPICLK, SPIMOSI, SPIMISO, SPICS) if (adcnum == 0): # прочетете пота за селектора на годината, за да видите, че се е преместил year_adjust = abs (ret - last_year) if (year_adjust> tolerance+10): year_pot_changed = True if (year_pot_changed): # Стойностите за проверките if тогава могат да бъдат направено след изградения му подпроцес.call (['killall', 'mpg123']) # убива всеки работещ MP3 сън (0.1); ако ret 50 и ret = 150 и ret = 250 и ret = 350 и ret = 450 и ret = 550): war_year = "1945" # запазете стойността на пота за следващия път около цикъла last_year = ret 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) # произволно изберете един от файловете за възпроизвеждане war_mp3 = war_dir + play_list [play_file] подпроцес. Popen (['mpg123', war_mp3]) # Използвайте mpg123 като плейър за аудио съня (0,1); # осигурете лека пауза, преди да продължите, ако (adcnum == 1): # прочетете обема pot pot_adjust = abs (ret - last_read) if (pot_adjust> tolerance): trim_pot_changed = Истина, ако (trim_pot_changed): set_volume = ret / 10.24 # convert 10-битова adc0 (0-1024) стойност на пота в ниво на обем 0-100 set_volume = кръг (set_volume) # закръгляване на десетична стойност set_volume = int (set_volume) # излят обем като цяло число # Използвайте стойността от пота, за да изпратите ниво до amixer prog print 'Volume = {volume}%'.format (том = set_volume) set_vol_cmd = 'sudo amixer cset numid = 1 - {том}%> /dev /null'. (set_vol_cmd) # set volume # запазване на показанията на потенциометъра за следващия цикъл last_read = ret # Пауза след промяна на силата на звука, така че да не действаме на твърде много промени, ако потът се промени бързо. sleep (0.5)
Стъпка 12: Автоматично стартиране на софтуера при зареждане
Има много начини да стартирате команда на Pi при стартиране, но намирам това за най -лесния, отворете Crontab
sudo crontab -e
Сега просто добавете този ред
@reboot python /home/pi/volume/year.py &
и това би трябвало да свърши работа, следващия път, когато рестартирате, програмата за контрол на звука ще се изпълни и трябва да чуете първото си излъчване.
Стъпка 13: Какво следва?
В момента съм в процес на изграждане на малка печатна платка, която да седи върху малиновото пи, за да мога да имам къде да монтирам i2S усилвателя и ADC заедно с някои винтови клеми за саксиите. Това ще ми позволи да направя инсталацията малко по -изчистена и лесно да направя още няколко за приятели.
В момента събирам някои файлове за радио за космически състезания, започвайки от спутник и нататък до кацането на Луната.
Моля, уведомете ме, ако имате някакви идеи или искате някакви съвети или съвети за това как да ги съберете сами.
Отписване.
Втора награда в аудио конкурса 2018
Препоръчано:
Излъчване на времето TTS: 5 стъпки
TTS Weather Broadcast: Обикновено решавам дали да донеса чадър въз основа на метеорологичните условия преди да изляза. Вземах грешни решения, защото времето беше променливо през последните две седмици - беше слънчево, когато излязох, че не донесох чадър и
Радио машина на времето: 8 стъпки (със снимки)
Радио машина на времето: Намерих тук на Instrutables страхотен проект: Радио излъчваща машина на времето от Втората световна война. Бях изумен от идеята, но не съм човекът от Python и харесвам Steampunk. Затова реших да направя подобно нещо с различни материали. Тук ще намерите списък на
Превърнете ротационен телефон в радио и пътувайте във времето: 5 стъпки (със снимки)
Превърнете ротационен телефон в радио и пътувайте във времето: Хакнах ротационен телефон в радио! Вземете телефона, изберете държава и десетилетие и слушайте страхотна музика! Как работи Този ротационен телефон има вграден микрокомпютър (Raspberry Pi), който комуникира с radiooooo.com, уеб радио
RaspiWWV - Симулирано краткотрайно аудио излъчване на WWV: 10 стъпки (със снимки)
RaspiWWV - Симулирано краткотрайно аудио излъчване на WWV: Помнете дните, в които седяхте и слушате сигнали за времето на WWV на вашето късо вълново радио (отметка, отметка, отметка … По тона, времето ще бъде …)? (Чуйте го в YouTube по -горе) О! Пропуснахте ли това? Сега можете да преживеете отново тези моменти и да имате
Транзисторна радио машина на времето: 22 стъпки
Транзисторна радио машина на времето: Не изхвърляйте това старо транзисторно радио! Превърнете го в машина на времето със странни, носталгични излъчвания през оригиналния високоговорител. Пълна с избор от персонализирани часови дестинации и пърхаща кехлибарена светлина, напомняща за старата тръбна ра