Obsah:

Prilba Spartan Voice Changer: 14 krokov (s obrázkami)
Prilba Spartan Voice Changer: 14 krokov (s obrázkami)

Video: Prilba Spartan Voice Changer: 14 krokov (s obrázkami)

Video: Prilba Spartan Voice Changer: 14 krokov (s obrázkami)
Video: ТАКОВ МОЙ ПУТЬ В L4D2 2024, November
Anonim
Prilba Spartan Voice Changer
Prilba Spartan Voice Changer
Prilba Spartan Voice Changer
Prilba Spartan Voice Changer

Ahoj! Sme tím 4 študentov z polytechnickej školy Sorbonnskej univerzity:

  • Louis Buchert
  • Bilal Melehi
  • Bao Tinh Piot
  • Marco Longépé

Tento projekt je realizovaný ako súčasť našich štúdií a jeho cieľom je vziať do ruky množstvo nástrojov a demonštrovať naše teoretické úspechy.

Slávny predmet má podobu prilby, ktorá pripomína hrdinu určitej videohry, ktorej meno sa stratí. Čo sa týka dizajnu, máme tiež obrazovku, ktorá zobrazuje Fourierovu transformáciu zvukového signálu vychádzajúceho z reproduktora. Účelom tejto náhlavnej súpravy je zmeniť hlas operátora v reálnom čase pomocou niekoľkých voliteľných efektov.

Vzdelávacie ciele:

  • Zachyťte zvuk z mikrofónu
  • Zosilnenie, filtrovanie, digitalizácia signálu
  • Realizujte FFT signálu
  • Ukážte tento FFT na obrazovke
  • Syntéza signálu
  • Vytlačte zvuk z reproduktora
  • Realizujte efekty na zvukový zvuk (dozvuk, ozvena atď.)

Teraz, keď sme dali pozadie a predstavili projekt, je čas ho dostať do rúk!

Krok 1: Požiadavky 1/3 - Hardvér

Požiadavky 1/3 - Hardvér
Požiadavky 1/3 - Hardvér

Na úspešné zostavenie vašej prilby budeme potrebovať určitý hardvér na spustenie zariadenia.

  • Vývojová doska DE0-Nano-SoC od spoločnosti Terasic + Adafruit TFT LCD obrazovka (Arduino)
  • Prístup k 3D tlačiarni, aby bola helma (Ak ste študentom univerzity, presuňte sa bližšie k svojej univerzite, v niektorých je pre študentov k dispozícii laboratórium)
  • Počítač s internetovým pripojením a minimálnym pripojením (USB, Ethernet). Váš počítač tiež musí mať silný procesor, pretože kompilácia programov na serveri Qsys trvá veľa času.
  • (Nevyžaduje sa) Tlačiareň, ktorá vyrába dosky plošných spojov (PCB) zo súborov Gerber s cieľom zmenšiť veľkosť obvodu + spájkovačku, aby sa komponenty dali na dosku plošných spojov.
  • (Dôrazne odporúčané): Dobrá káva, aby ste si mohli vychutnať prácu s naším návodom:)

Krok 2: Požiadavky 2/3 - Komponenty pre váš obvod

Požiadavky 2/3 - Komponenty pre váš obvod
Požiadavky 2/3 - Komponenty pre váš obvod
Požiadavky 2/3 - Komponenty pre váš obvod
Požiadavky 2/3 - Komponenty pre váš obvod
Požiadavky 2/3 - Komponenty pre váš obvod
Požiadavky 2/3 - Komponenty pre váš obvod

Tu sú komponenty potrebné pre váš obvod:

  • Zvukový zosilňovač triedy Texas Instrument LM386 AB
  • BreadBoard
  • Sada káblov samec-samec, samec-samica
  • LM358P prevodník digitálneho signálu na Analoh (DAC)
  • Rečník
  • Malý mikrofón používaný v analogickom obvode
  • Herná sada rezistorov od 1 kOhm do 220 kOhm
  • Kondenzátor 1,5nF
  • Kondenzátor 50nF
  • Kondenzátor 100nF
  • Kondenzátor 100uF
  • Kondenzátor 220uF
  • x4 kondenzátory 10uF

Krok 3: Požiadavky 3/3 - Software

Požiadavky 3/3 - Software
Požiadavky 3/3 - Software
Požiadavky 3/3 - Software
Požiadavky 3/3 - Software

V neposlednom rade budete potrebovať softvér:

  • Quartus 15.1: Lite verzia
  • Kompilátor C (napríklad gcc)
  • Altium pre návrh DPS
  • Altera vstavaná sada SoC na komunikáciu s mapou SoC

  • Tmel

Krok 4: Vstupný obvod

Vstupný obvod
Vstupný obvod
Vstupný obvod
Vstupný obvod
Vstupný obvod
Vstupný obvod
Vstupný obvod
Vstupný obvod

Postavme obvod. Pomocou vyššie uvedeného obrázku obvodu ho zostavte na doske. Uvidíte tiež obrázok BreadBoard a obvod vo vnútri, aby ste videli, ako sú piny prepojené. Celý obvod je napájaný 5 V jednosmerným prúdom (DC). Na to môžete použiť 5V batériu s prevodníkom USB-B alebo generátorom funkcií.

Niektoré pripomienky:

  • Napájanie 5V a uzemnenie sú spojené na oddelených horizontálnych líniách nepájivej dosky
  • Ak chcete paralelne pripojiť 2 komponenty, vložte ich do spoločného radu nepájivého poľa
  • Ak chcete pripojiť 2 sériové komponenty, komponenty musia mať iba jeden kolík v spoločnom rade nepájivého poľa.

Neváhajte si pozrieť špecializovaný návod, ako používať nepájivú dosku a postaviť na ňu obvod. Nezabudnite si tiež pozorne prečítať polohu pinov zvukového zosilňovača LM358P (pozri obrázok vyššie)

Krok 5: Výstupný obvod

Výstupný obvod
Výstupný obvod
Výstupný obvod
Výstupný obvod
Výstupný obvod
Výstupný obvod
Výstupný obvod
Výstupný obvod

Úplne rovnaké pokyny ako v kroku 4. Štyri vstupy: SDI, nie CS, SCK, nie LDAC, pochádzajú z vašej dosky DE0-Nano-Soc. Neskôr uvidíme, ako ich vygenerovať.

Nezabudnite si pozorne prečítať polohy pinov zvukového zosilňovača LM386 (pozri obrázok vyššie)

Krok 6: [VOLITEĽNÉ] Vytvorenie plošných spojov a spájkovacích súčiastok

[VOLITEĽNÉ] Vytvorenie plošných spojov a spájkovacích súčiastok
[VOLITEĽNÉ] Vytvorenie plošných spojov a spájkovacích súčiastok
[VOLITEĽNÉ] Vytvorenie plošných spojov a spájkovacích súčiastok
[VOLITEĽNÉ] Vytvorenie plošných spojov a spájkovacích súčiastok
[VOLITEĽNÉ] Vytvorenie plošných spojov a spájkovacích súčiastok
[VOLITEĽNÉ] Vytvorenie plošných spojov a spájkovacích súčiastok

Ak máte to šťastie, že vlastníte tlačiareň s plošnými spojmi alebo ju môžete používať, vytvoríme si vlastnú dosku s plošnými spojmi (PCB). Tento krok je voliteľný. Tento krok pozostáva iba z presunu vášho obvodu z dosky na dosky plošných spojov.

Budete potrebovať tieto 2 súbory GERBER.

Tieto súbory boli vytvorené na serveri Altium. Použite ich v softvéri tlačiarne PCB na vytlačenie dosky plošných spojov. Akonáhle získate dosku s plošnými spojmi, uistite sa, že je čistá a že sú stopy správne vytlačené.

Teraz prichádza skutočná ponuka: Spájkovanie. 2 obrázky vyššie sú mapou obvodu na DPS. Každý komponent má svoj názov (R6, C4, MK1 atď.). Obrázky v krokoch 4 a 5 ukazujú parametre komponentov (odpor, vodivosť..). Umiestnite každý komponent z vašej dosky na dosku plošných spojov podľa ich názvov.

Akonáhle ste spájkovali všetko s vašou spájkovačkou, vyskúšajte všetky súčiastky voltmetrom a skontrolujte, či nedošlo k skratu.

Krok 7: Nastavenie SoC

Nastavenie SoC
Nastavenie SoC
Nastavenie SoC
Nastavenie SoC

Pokiaľ ide o nastavenie SoC, budete musieť v termináli spustiť niektoré príkazy a skripty, ktoré sú súčasťou vstavanej sady SoC. Na to budete musieť pridať nejaký $ PATH. PATH sa používa v rámci terminálu na vyhľadávanie súborov v adresároch zadaných cestou, keď spustíte príkaz. Ak to chcete urobiť, zadajte nasledujúci príkazový riadok:

export PATH =/cygdrive/c/altera_lite/15.1/quartus/sopc_builder/bin: $ PATH

Potom zadajte príkazový riadok a vygenerujte hlavičky zo súboru sof. Softvérový súbor získate zostavením projektu na Quartuse. Ak to chcete urobiť, zadajte:./generate_header.

Krok 8: Programovanie C HPS

Programovanie C HPS
Programovanie C HPS

V tejto časti si musíme uvedomiť 2 veci, a to čítať, prečítať hodnotu ADC a napísať ju do SPI.

1. Prečítajte si hodnotu ADC

Adresa pamäte, v ktorej je ADC obsiahnutý, nie je priamo prístupná, v skutočnosti linuxový systém prítomný na karte nastavuje abstrakciu pamäte. Na skutočný prístup k adrese ADC použijeme funkciu mmap.

"h2p_lw_spi_addr = virtual_base + ((bez znamienka) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (bez znamienka) (HW_REGS_MASK));"

Táto inštrukcia umožňuje pridať offset na začiatok základnej adresy, aby dosiahol adresu pamäte pridelenej pre ADC, a vykonať na výslednej adrese logiku A vziať do úvahy maskovanie.

Potom bude už len potrebné dereferovať ukazovateľ v programe, aby sa získala jeho hodnota.

2. Napíšte hodnotu ADC do SPI

Manipulácia je rovnaká, tentoraz dáme mmape ofset, aby pristál na adrese pridelenej SPI. Pri zápise do SPI technická dokumentácia uvádza, že na adresu + 1 musíte napísať hodnotu adc.

"*(h2p_lw_spi_addr+1) = ((0x1 << 12) | *h2p_lw_adc_addr);"

Táto inštrukcia vám umožňuje písať do SPI. Bit 4, teda 1 << 12, je skutočne bit, ktorý umožňuje aktiváciu SPI. S logickým ALEBO preto SPI dávame aktivačný bit aj hodnotu ADC.

Krok 9: Digitálne získanie ADC z karty

Digitálne získanie ADC z karty
Digitálne získanie ADC z karty
Digitálne získanie ADC z karty
Digitálne získanie ADC z karty
Digitálne získanie ADC z karty
Digitálne získanie ADC z karty
Digitálne získanie ADC z karty
Digitálne získanie ADC z karty

V prvom rade budete musieť nastaviť ethernetovú IP adresu počítača pomocou ovládacieho panela -> Sieť -> Parmesals karty. Vyberte ethernetové rozhranie karty, vlastnosti, adresy ipv4 a zadajte pevnú IP adresu, masku atď …

Potom pripojte kartu zo strany napájacieho konektora káblom micro USB. Otvorte programátor Quartus a spustite export. Táto manipulácia sa zopakuje po každom vypnutí karty.

Zmeňte konektorový kábel micro USB, aby ste ho tentoraz pripojili k ethernetovému konektoru. Teraz bude pre Putty potrebné pripojiť sa ku karte sériovým prepojením. Konfigurácia je viditeľná na fotografiách, pričom sa uvažuje o nahradení COM5 za COM a za ním číslo, ktoré nájdete v správcovi zariadení (otvoríte ho pravým kliknutím na logo systému Windows).

Stlačte Enter, ste pripojení.

Informácie o reštartovaní projektu: - Opravte ethernetový ip zodpovedajúci karte - Zapnite kartu, pri každom zapnutí napájania je potrebné do programu Quartus vložiť „program“, ktorý je na karte zostavený. To sa deje prostredníctvom portu micro -USB - Aby sme mohli zobraziť výsledok programu, používame viac mikro USB, ale UART - S tmelom nakonfigurovaným pre sériový COM5 (alebo 6 hodiniek gestinnaire periph) Pripojte ku karte. - Nastaviť heslo (passwd) - Nastaviť IP adresu ifconfig ethxx IPchoice (IP nie je ďaleko od tej pre et v PC) - Generovať hlavičku podľa Qsys s vloženým terminálom (export PATH) - make - scp l exec v mapa - spustiť pod tmelom prog

Krok 10: Výpočet FFT

Výpočet FFT
Výpočet FFT

Na získanie rýchlej Fourierovej transformácie v našom programe C použijeme knižnicu napísanú Markom Borgerdingom: Kiss FFT. Knižnicu si môžete stiahnuť tu: https://kissfft.sourceforge.net/. Aplikácia FFT na signál je potrebná na úpravu a použitie efektov signálu. Môže tiež slúžiť na zobrazenie spektra signálu.

Prvým krokom vo vašom programe C je alokovanie pamäte na uloženie výsledku FFT. Veľkosť pamäte závisí od počtu bodov použitých na výpočet FFT. Čím viac bodov získate, tým bude FFT výnimočnejší. Program však pobeží pomalšie a zaberie viac pamäte. Všimnite si toho, že z funkcie kiss_fft získate dve polia: vstup a výstup funkcie (cx_in a cx_out)

Akonáhle je naše pole naplnené novými hodnotami FFT, tj. Keď r = Win - 1, spracovávame FFT. Pokiaľ ide o displej, zobrazujeme iba pozitívnu časť spektra, pretože medzi negatívnou a pozitívnou časťou je symetria.

Pokiaľ ide o horizontálnu os, znižujeme vrcholové hodnoty o 100*výšku/(výšku²), aby sme rozlíšili vrcholy hlavných frekvencií.

Na definovanie frekvencie čítania hodnôt ADC používame systémové volanie us usp. Táto frekvencia je v súčasnosti nastavená na 1, 5 Hz.

Krok 11: Zobrazenie FFT

Zobrazenie FFT
Zobrazenie FFT
Zobrazenie FFT
Zobrazenie FFT

Na základe príkladu, ktorý je uvedený na TFT LCD obrazovke Adafruit, ktorá je k dispozícii tu: https://www.terasic.com/downloads/cd-rom/de0-nano-s… naprogramovali sme NIOS našej rady, aby bol schopný čítať hodnota ADC.

Register ADC je teda zdieľaný medzi NIOS a HPS, pretože hodnoty ADC budú použité na zobrazenie FFT na obrazovke NIOS a rovnaké hodnoty budú zapísané do SPI, aby boli výstupom z dosky a nakoniec boli prevedené DAC na získanie analógového signálu.

Krok 12: Zostavenie

zhromaždenie
zhromaždenie

Už sme skoro hotoví! Budete musieť zmontovať všetky časti projektu (vstupný obvod, výstupný obvod a dosku). Podľa projektu Quartus zaistite pripojenie dielov k správnym kolíkom.

  1. Vstupný obvod vyšle zvukový signál zachytený mikrofónom, zosilnený, filtrovaný a posunutý.
  2. Program C prítomný na karte bude čítať hodnoty ADC, ako sme to videli predtým, a zapíše to do SPI, aby sme mohli obnoviť hodnotu na GPIO karty.
  3. Potom výstupný GPIO SPI prenesie informácie, ktoré budú dekódované našim DAC a zosilnené behom, aby sa dostali k reproduktoru.

Krok 13: Zvukové efekty

Zvukové efekty
Zvukové efekty
Zvukové efekty
Zvukové efekty

Jediným krokom zostávajú zvukové efekty.

Dostupné účinky sú:

  • Vysokofrekvenčný filter
  • Nízkofrekvenčný filter

Medzi efektmi môžete prepínať vďaka tlačidlu. Toto tlačidlo zmení premennú v našom programe C, takže môže použiť správny efekt.

Krok 14: [VOLITEĽNÉ] Výroba prilby

[VOLITEĽNÉ] Výroba prilby
[VOLITEĽNÉ] Výroba prilby
[VOLITEĽNÉ] Výroba prilby
[VOLITEĽNÉ] Výroba prilby
[VOLITEĽNÉ] Výroba prilby
[VOLITEĽNÉ] Výroba prilby

Tu sme v najmanuálnejšom kroku projektu:

  1. Najprv sme nalepili rôzne 3D tlačené časti prilby.
  2. Na vyplnenie medzier medzi lepenými kusmi sme pridali povrchovú úpravu pomocou 3D pera.
  3. Medzery vyplnené perom a helmou sme vyleštili všeobecnejšie, aby potom obraz dobre držal.
  4. Prilbu sme natreli 2 vrstvami: prvou z antracitovej čiernej, zblízka a druhou primárnou zelenou z ďalšej farby, aby získali odtiene tmavšej zelenej.
  5. Nakoniec sme na stranu prilby vytlačili logo našej školy

Odporúča: