Përmbajtje:
- Hapi 1: Kërkesat 1/3 - Pajisje kompjuterike
- Hapi 2: Kërkesat 2/3 - Komponentët për qarkun tuaj
- Hapi 3: Kërkesat 3/3 - Softuer
- Hapi 4: Qarku i hyrjes
- Hapi 5: Qarku i daljes
- Hapi 6: [OPSIONALE] Krijimi i Komponentëve të Qarkut të Shtypur dhe Saldimit
- Hapi 7: Konfigurimi i SoC
- Hapi 8: Programimi i C HPS
- Hapi 9: Blerja dixhitale e ADC Nga Karta
- Hapi 10: Llogaritja e FFT
- Hapi 11: Shfaqja e FFT
- Hapi 12: Asambleja
- Hapi 13: Efektet zanore
- Hapi 14: [OPSIONALE] Bërja e përkrenares
Video: Helmeta Spartan Voice Changer: 14 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Përshëndetje! Ne jemi një ekip prej 4 studentësh nga shkolla Politeknike e Universitetit të Sorbonës:
- Louis Buchert
- Bilal Melehi
- Bao Tinh Piot
- Marco Longépé
Ky projekt është realizuar si pjesë e studimeve tona, dhe synon të marrë në dorë një sërë mjetesh, si dhe të demonstrojë arritjet tona teorike.
Objekti i famshëm merr pamjen e një përkrenareje që i ngjan asaj të heroit të një video loje të caktuar emri i së cilës do të humbet. Për anën e dizajnit gjithashtu kemi një ekran që shfaq transformimin Furier të sinjalit audio që del nga altoparlanti. Qëllimi i kësaj kufje është të ndryshojë zërin e transportuesit në kohë reale duke përdorur një numër efektesh të zgjedhshme.
Qëllimet arsimore:
- Regjistroni zërin nga një mikrofon
- Përforconi, filtroni, digjitalizoni sinjalin
- Realizoni FFT të një sinjali
- Trego këtë FFT në një ekran
- Sinteza e sinjalit
- Merrni një zë nga një altoparlant
- Realizoni efekte në tingullin audio (jehonë, jehonë, etj …)
Tani që kemi vënë sfondin dhe prezantuam projektin, është koha ta kapni në duar!
Hapi 1: Kërkesat 1/3 - Pajisje kompjuterike
Për të ndërtuar përkrenaren tuaj me sukses, do të na duhen disa pajisje për të drejtuar pajisjen.
- Bordi i Zhvillimit DE0-Nano-SoC nga Terasic + Adafruit TFT LCD Screen (Arduino)
- Qasja në një printer 3D për ta bërë përkrenaren (Nëse jeni student i universitetit afrohuni më pranë universitetit tuaj, disa kanë laboratorë të arritshëm për studentët)
- Një kompjuter me një lidhje interneti dhe një lidhje minimale (USB, Ethernet). Kompjuteri juaj gjithashtu duhet të ketë një procesor të fortë pasi përpilimi i programeve në Qsys kërkon shumë kohë.
- (Nuk kërkohet) Një printer që bën tabelat e qarkut të printuar (PCB) nga skedarët Gerber në mënyrë që të zvogëlojë madhësinë e qarkut + një hekur bashkues për të vendosur përbërësit në PCB.
- (Rekomanduar fort): Një kafe e mirë për të shijuar punën tuaj me Instructable tonë:)
Hapi 2: Kërkesat 2/3 - Komponentët për qarkun tuaj
Këtu janë përbërësit e nevojshëm për qarkun tuaj:
- Përforcues audio i klasës Texas Instrument LM386 AB
- Tabela e Bukës
- Set i kabllove Mashkull-Mashkull, Mashkull-Femër
- LM358P Konvertuesi dixhital në Analoh (DAC)
- Folës
- Mikrofon i vogël i përdorur në qark analogjik
- Një grup lojërash rezistencash nga 1kOhm në 220kOhm
- Kondensator 1.5nF
- Kondensator 50nF
- Kondensatori 100nF
- Kondensator 100uF
- Kondensator 220uF
- x4 Kondensatorët 10uF
Hapi 3: Kërkesat 3/3 - Softuer
E fundit por jo më pak e rëndësishme, do t'ju duhet softuer:
- Tremujori 15.1: Versioni i lehtë
- Një përpilues C (gcc për shembull)
- Altium për Projektimin e PCB
-
Kompleti i integruar i SoC i Altera për të komunikuar me hartën e SoC
- Stuko
Hapi 4: Qarku i hyrjes
Le të ndërtojmë qarkun. Përdorni foton e mësipërme të qarkut në mënyrë që ta mblidhni atë në tryezën tuaj të bukës. Ju gjithashtu do të shihni foton e BreadBoard dhe qarkun brenda për të parë se si janë lidhur kunjat. I gjithë qarku mundësohet me një rrymë direkte 5V (DC). Për këtë, mund të përdorni një bateri 5V me një konvertues USB-B ose një gjenerator funksionesh.
Disa kujtesa:
- Furnizimi me energji 5V dhe toka janë të lidhura në vija të veçanta horizontale të dërrasës së bukës
- Nëse doni të lidhni 2 komponentë paralelisht, vendosini ato në një vijë të përbashkët të tabelës së bukës
- Nëse dëshironi të lidhni 2 përbërës serik, përbërësit duhet të kenë vetëm një kunj në një linjë të përbashkët të tabelës së bukës.
Mos hezitoni të shikoni një mësim të dedikuar se si të përdorni një dërrasë buke dhe të zgjeroni një qark në të. Gjithashtu mos harroni të lexoni me kujdes pozicionin e kunjit të Përforcuesit të audios LM358P (shihni foton më lart)
Hapi 5: Qarku i daljes
Krejt të njëjtat udhëzime si Hapi 4. Katër inputet: SDI, jo CS, SCK, jo LDAC janë nga Bordi juaj DE0-Nano-Soc. Ne do të shohim më vonë se si t'i krijojmë ato.
Mos harroni të lexoni me kujdes pozicionet e kunjave të Përforcuesit të audios LM386 (shihni foton më lart)
Hapi 6: [OPSIONALE] Krijimi i Komponentëve të Qarkut të Shtypur dhe Saldimit
Nëse jeni me fat që zotëroni një Printer Circuit Board ose jeni në gjendje të përdorni një, ne do të krijojmë Bordin tonë të Qarkut të Shtypur (PCB). Vini re se ky hap është opsional. Ky hap konsiston vetëm në lëvizjen e qarkut tuaj nga një tabelë buke në një PCB.
Ju do të keni nevojë për këto 2 skedarë GERBER.
Këto skedarë janë bërë në Altium. Përdorni ato në softuerin tuaj të printerit PCB në mënyrë që të printoni PCB -në tuaj. Pasi të keni marrë PCB -në tuaj, sigurohuni që PCB -ja juaj të jetë e pastër dhe që gjurmët të jenë të shtypura saktë.
Tani këtu vjen marrëveshja e vërtetë: Saldimi. 2 fotografitë e mësipërme janë harta e qarkut në PCB. Çdo komponent ka emra (R6, C4, MK1 etj.). Fotografitë në Hapin 4 dhe 5 tregojnë parametrat e përbërësve (Rezistenca, përçueshmëria..). Vendosni secilin përbërës nga paneli juaj në PCB sipas emrave të tyre.
Pasi të keni bashkuar gjithçka me hekurin tuaj, provoni çdo përbërës me një voltmetër për të kontrolluar nëse ka ndonjë qark të shkurtër.
Hapi 7: Konfigurimi i SoC
Në lidhje me konfigurimin e SoC, do t'ju duhet të ekzekutoni disa komanda dhe skripte të përfshira në kompletin e ngulitur të SoC brenda një terminali. Për ta bërë këtë, do t'ju duhet të shtoni disa $ PATH. PATH përdoren brenda një terminali për të thënë për të kërkuar një skedar në drejtoritë e dhëna nga rruga kur jeni duke ekzekutuar një komandë. Për ta bërë këtë, shkruani rreshtin e mëposhtëm të komandës:
eksport PATH =/cygdrive/c/altera_lite/15.1/quartus/sopc_builder/bin: $ PATH
Pastaj shtypni vijën e komandës për të gjeneruar tituj nga një skedar sof. Ju merrni skedarin sof duke përpiluar projektin tuaj në Quartus. Për ta bërë këtë, shkruani:./generate_header.
Hapi 8: Programimi i C HPS
Ne duhet të realizojmë 2 gjëra në këtë pjesë, domethënë të lexojmë lexojmë vlerën e ADC dhe ta shkruajmë në SPI.
1. Lexoni vlerën e ADC
Adresa e kujtesës në të cilën gjendet ADC nuk është drejtpërdrejt e arritshme, në fakt sistemi linux i pranishëm në kartë krijon një abstraksion të kujtesës. Për të hyrë vërtet në adresën ADC ne do të përdorim funksionin mmap.
"h2p_lw_spi_addr = baza virtuale + ((pa shenjë e gjatë) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (e panënshkruar gjatë) (HW_REGS_MASK));"
Ky udhëzim lejon që një kompensim të shtohet në fillim të adresës bazë për të arritur adresën e kujtesës së alokuar për ADC, dhe për të kryer në adresën që rezulton një logjikë DHE për të marrë parasysh maskimin.
Pas kësaj, do të jetë e nevojshme vetëm të çreferoni treguesin në program për të marrë vlerën e tij.
2. Shkruani vlerën e ADC në SPI
Manipulimi është identik, këtë herë ne i japim mmap kompensimin për të zbritur në adresën e caktuar nga SPI. Ndërsa shkruani në SPI, dokumentacioni teknik specifikon që ju duhet të shkruani në adresën + 1 vlerën e adc.
"*(h2p_lw_spi_addr+1) = ((0x1 << 12) | *h2p_lw_adc_addr);"
Ky udhëzim ju lejon të shkruani në SPI. Në të vërtetë bit 4, pra 1 << 12, është bit që lejon aktivizimin e SPI. Me një OR logjike, ne i japim si bit aktivizimit ashtu edhe vlerën e ADC SPI.
Hapi 9: Blerja dixhitale e ADC Nga Karta
Para së gjithash, do të duhet të vendosni adresën IP Ethernet të kompjuterit tuaj përmes Panelit të Kontrollit -> Rrjeti -> Parmezelë Kartash. Zgjidhni ndërfaqen ethernet të kartës, pronës, adresës ipv4 dhe futni një IP fikse, një maskë etj…
Tjetra, lidhni kartën nga ana e prizës së energjisë me kabllon mikro USB. Hapni programuesin Quartus dhe filloni eksportin. Ky manipulim do të ribëhet pas çdo fikjeje të kartës.
Ndryshoni kabllon e prizës mikro USB, për t'u lidhur këtë herë pranë folesë Ethernet. Tani, me Putty do të jetë e nevojshme të lidheni me kartën me lidhje serike. Konfigurimi është i dukshëm në fotografi, ideja është të zëvendësoni COM5 me COM e ndjekur nga numri që mund të gjeni në menaxherin e pajisjes tuaj (klikoni me të djathtën në logon e dritareve për ta hapur atë).
Shtypni enter, jeni lidhur.
Informacion për rinisjen e projektit: - Fiksoni ethernet ip që korrespondon me kartën - Ndizni kartën, sa herë që ndizni energjinë, është e nevojshme të vendosni me "program" nën kuartus projektin e përpiluar në kartë. Kjo bëhet përmes portës mikro -USB - Për të qenë në gjendje të shfaqim rezultatin e programit ne përdorim më shumë mikro USB por UART - Me stuko të konfiguruar për serial COM5 (ose 6 orë periferi të gjinisë) Lidhu me kartën. - Vendosni një fjalëkalim (passwd) - Vendosni adresën IP ifconfig ethxx IPchoice (IP jo shumë larg asaj për etikën e kompjuterit) - Gjeneroni kokën sipas Qsys me terminalin e ngulitur (Rruga e eksportit) - bëni - scp l exec në hartë - ekzekuto nën stuko prog
Hapi 10: Llogaritja e FFT
Për të marrë Shndërrimin e Furierit të Shpejtë në programin tonë C, ne do të përdorim një bibliotekë të shkruar nga Mark Borgerding: Kiss FFT. Ju mund ta shkarkoni bibliotekën këtu: https://kissfft.sourceforge.net/. Aplikimi i një FFT në një sinjal është i nevojshëm për të modifikuar dhe aplikuar efektet e sinjalit. Mund të shërbejë gjithashtu për të shfaqur spektrin e një sinjali.
Hapi i parë në programin tuaj C konsiston në ndarjen e kujtesës në mënyrë që të ruani rezultatin FFT. Madhësia e kujtesës varet nga numri i pikave të përdorura për llogaritjen e FFT. Sa më shumë që keni pikë, aq më i saktë do të jetë FFT -ja. Sidoqoftë, programi do të funksionojë më ngadalë dhe do të përdorë më shumë memorie. Vini re se do të merrni dy vargje nga funksioni kiss_fft: hyrja dhe dalja e funksionit (cx_in dhe cx_out)
Pasi grupi ynë të jetë i mbushur me vlera të reja FFT, dmth kur r = Win - 1, ne po përpunojmë FFT. Sa i përket ekranit, ne po shfaqim vetëm pjesën pozitive të spektrit, pasi ekziston një simetri midis pjesës negative dhe asaj pozitive.
Lidhur me aksin horizontal, ne po zvogëlojmë vlerat e pikut me 100*lartësi/(lartësi²) në mënyrë që të dallojmë majat e frekuencave kryesore.
Ne po përdorim thirrjen e sistemit usleep për të përcaktuar një frekuencë leximi për vlerat ADC. Kjo frekuencë aktualisht është vendosur në 1, 5 Hz.
Hapi 11: Shfaqja e FFT
Bazuar në një shembull të dhënë në Adafruit TFT LCD Screen në dispozicion këtu: https://www.terasic.com/downloads/cd-rom/de0-nano-s… ne kemi programuar NIOS të Bordit tonë në mënyrë që ai të jetë në gjendje të lexojë vlera ADC.
Pra, regjistri ADC ndahet midis NIOS dhe HPS sepse vlerat ADC do të përdoren për të shfaqur FFT në ekranin NIOS, dhe ato vlera të njëjta do të shkruhen në SPI në mënyrë që të dalin në tabelë dhe më në fund të konvertohen nga DAC për të marrë një sinjal analog.
Hapi 12: Asambleja
Kemi mbaruar gati! Do t'ju duhet të montoni çdo pjesë të projetit (qarku i hyrjes, qarku i daljes dhe Bordi). Sigurohuni që të lidhni pjesët me kunjat e sakta sipas Projektit Quartus.
- Qarku i hyrjes do të dërgojë sinjalin audio të kapur nga mikrofoni, i përforcuar, i filtruar dhe i kompensuar.
- Programi C i pranishëm në kartë do të lexojë vlerat e ADC siç kemi parë më parë dhe do ta shkruajë atë në SPI në mënyrë që të mund të rikuperojmë vlerën në GPIO të kartës.
- Pastaj GPIO dalëse e SPI do të transmetojë informacionin që do të deshifrohet nga DAC -ja jonë dhe do të amplifikohet duke vrapuar për të arritur te altoparlanti.
Hapi 13: Efektet zanore
Hapi i vetëm që mbetet janë efektet e zërit.
Efektet në dispozicion janë:
- Filtri me frekuencë të lartë
- Filtri me frekuencë të ulët
- …
Mund të kaloni midis efekteve falë një butoni. Ky buton do të ndryshojë një ndryshore në programin tonë C, kështu që mund të aplikojë efektin e duhur.
Hapi 14: [OPSIONALE] Bërja e përkrenares
Këtu jemi në hapin më manual të projektit:
- Së pari ne ngjitëm pjesët e ndryshme të printuara 3D të përkrenares.
- Për të mbushur boshllëqet midis pjesëve të ngjitura ne shtuam një përfundim duke përdorur një stilolaps 3D.
- Ne i lëmuam hapësirat e mbushura me stilolaps dhe përkrenare në përgjithësi në mënyrë që piktura të mbahet mirë më pas.
- Ne e pikturuam përkrenaren me 2 shtresa: E para në ngjyrë të zezë antracite, nga afër, dhe një e dytë me ngjyrë jeshile parësore nga më tej për të dhënë nuanca të gjelbër të errët.
- Më në fund shtypëm logon e shkollës sonë në anën e Helmetës
Recommended:
Helmeta e Sigurisë Covid Pjesa 1: Një Hyrje në Qarqet Tinkercad !: 20 hapa (me fotografi)
Helmeta e Sigurisë Covid Pjesa 1: Një Hyrje në Qarqet Tinkercad !: Përshëndetje, mik! Në këtë seri me dy pjesë, ne do të mësojmë se si të përdorim Qarqet e Tinkercad - një mjet argëtues, i fuqishëm dhe edukativ për të mësuar se si funksionojnë qarqet! Një nga mënyrat më të mira për të mësuar, është të bësh. Pra, ne së pari do të hartojmë projektin tonë personal: th
Helmeta LED për biçikletë: 6 hapa (me fotografi)
Helmeta LED për biçikleta: Ja se si të shtoni LED të sigurisë në përkrenaren tuaj të biçikletës duke përdorur bojë përçuese. Unë gjithmonë po i humbja ato dritat që fiksit në biçikletën tuaj, dhe ato nuk janë të lira ose me cilësi të mirë. Materialet: bojë përçuese epoksi përçuese epoksi 5-minutëshe (zam i nxehtë për të rritur
Helmeta për biçikletë me ajër të kondicionuar (e bërë nga kompjuterë të ricikluar): 5 hapa (me fotografi)
Helmeta për biçikleta me ajër të kondicionuar (e bërë nga kompjutera të ricikluar): Kjo përkrenare me tifozët mbi vrimat thith ajrin nga koka juaj dhe ju mund ta ndjeni atë të dalë mbi fytyrën tuaj dhe në anët e kokës tuaj! Shumë mirë për biçikletë në ditët me diell kur është shumë nxehtë. LED -të gjithashtu ndihmojnë me biçikletën gjatë natës! Pjesët të gjitha
Helmeta e Saldimit Ironman Pjesa 1 .: 11 hapa (me fotografi)
Helmeta e Saldimit Ironman Pjesa 1 .: Më pëlqen të mësoj veten për të bërë gjëra. Nëse jeni si unë, gjetja e një teme interesante për një projekt që ndihmon në mprehjen e një aftësie është gjithmonë argëtuese. Kohët e fundit kam filluar të bëj porosi " me temë heroi " helmeta dhe elementë të tjerë të ngjashëm me cosplay që kanë më tepër p
Voice Changer Hack për DIY Synths: 9 hapa (me fotografi)
Voice Changer Hack për DIY Synths: Për ata që kanë ndjekur idetë e mia të fundit - do ta dini që unë kam qenë duke ndërtuar disa 555 sintet të kohëmatësit vonë. Kohët e fundit gjatë një udhëtimi në depon time lokale të riciklimit, gjeta një ndërrues zëri të fëmijëve. Theshtë lloji ku flisni me mikro