Përmbajtje:

Helmeta Spartan Voice Changer: 14 hapa (me fotografi)
Helmeta Spartan Voice Changer: 14 hapa (me fotografi)

Video: Helmeta Spartan Voice Changer: 14 hapa (me fotografi)

Video: Helmeta Spartan Voice Changer: 14 hapa (me fotografi)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Nëntor
Anonim
Përkrenare Spartan Voice Changer
Përkrenare Spartan Voice Changer
Përkrenare Spartan Voice Changer
Përkrenare Spartan Voice Changer

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

Kërkesat 1/3 - Hardware
Kërkesat 1/3 - Hardware

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ërkesat 2/3 - Komponentët për qarkun tuaj
Kërkesat 2/3 - Komponentët për qarkun tuaj
Kërkesat 2/3 - Komponentët për qarkun tuaj
Kërkesat 2/3 - Komponentët për qarkun tuaj
Kërkesat 2/3 - Komponentët për qarkun tuaj
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

Kërkesat 3/3 - Softuer
Kërkesat 3/3 - Softuer
Kërkesat 3/3 - Softuer
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

Qarku i hyrjes
Qarku i hyrjes
Qarku i hyrjes
Qarku i hyrjes
Qarku i hyrjes
Qarku i hyrjes
Qarku i hyrjes
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

Qarku i daljes
Qarku i daljes
Qarku i daljes
Qarku i daljes
Qarku i daljes
Qarku i daljes
Qarku i daljes
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

[OPSIONALE] Krijimi i Qarkut të Shtypur Borad dhe Komponentëve të Saldimit
[OPSIONALE] Krijimi i Qarkut të Shtypur Borad dhe Komponentëve të Saldimit
[OPSIONALE] Krijimi i Qarkut të Shtypur Borad dhe Komponentëve të Saldimit
[OPSIONALE] Krijimi i Qarkut të Shtypur Borad dhe Komponentëve të Saldimit
[OPSIONALE] Krijimi i Qarkut të Shtypur Borad dhe Komponentëve të Saldimit
[OPSIONALE] Krijimi i Qarkut të Shtypur Borad dhe Komponentëve të 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

Konfigurimi i SoC
Konfigurimi i SoC
Konfigurimi i SoC
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

Programimi C HPS
Programimi 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

Blerja dixhitale e ADC Nga Karta
Blerja dixhitale e ADC Nga Karta
Blerja dixhitale e ADC Nga Karta
Blerja dixhitale e ADC Nga Karta
Blerja dixhitale e ADC Nga Karta
Blerja dixhitale e ADC Nga Karta
Blerja dixhitale e ADC Nga Karta
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

Llogaritja FFT
Llogaritja 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

Shfaqja e FFT
Shfaqja e FFT
Shfaqja e FFT
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

Kuvendi
Kuvendi

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.

  1. Qarku i hyrjes do të dërgojë sinjalin audio të kapur nga mikrofoni, i përforcuar, i filtruar dhe i kompensuar.
  2. 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.
  3. 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

Efektet e zërit
Efektet e zërit
Efektet e zërit
Efektet e zërit

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

[OPSIONALE] Bërja e përkrenares
[OPSIONALE] Bërja e përkrenares
[OPSIONALE] Bërja e përkrenares
[OPSIONALE] Bërja e përkrenares
[OPSIONALE] Bërja e përkrenares
[OPSIONALE] Bërja e përkrenares

Këtu jemi në hapin më manual të projektit:

  1. Së pari ne ngjitëm pjesët e ndryshme të printuara 3D të përkrenares.
  2. Për të mbushur boshllëqet midis pjesëve të ngjitura ne shtuam një përfundim duke përdorur një stilolaps 3D.
  3. 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.
  4. 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.
  5. Më në fund shtypëm logon e shkollës sonë në anën e Helmetës

Recommended: