Obsah:
- Krok 1: Požadavky 1/3 - Hardware
- Krok 2: Požadavky 2/3 - komponenty pro váš obvod
- Krok 3: Požadavky 3/3 - Software
- Krok 4: Vstupní obvod
- Krok 5: Výstupní obvod
- Krok 6: [VOLITELNÉ] Vytvoření součástek plošných spojů a pájení
- Krok 7: Nastavení SoC
- Krok 8: Programování C HPS
- Krok 9: Digitální akvizice ADC z karty
- Krok 10: Výpočet FFT
- Krok 11: Zobrazení FFT
- Krok 12: Sestavení
- Krok 13: Zvukové efekty
- Krok 14: [VOLITELNÉ] Výroba helmy
Video: Přilba Spartan Voice Changer: 14 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
Ahoj! Jsme tým 4 studentů z polytechnické školy Sorbonské univerzity:
- Louis Buchert
- Bilal Melehi
- Bao Tinh Piot
- Marco Longépé
Tento projekt je realizován jako součást našich studií a jeho cílem je vzít do ruky řadu nástrojů a také demonstrovat naše teoretické úspěchy.
Slavný předmět získává vzhled přilby připomínající hrdinu určité videohry, jejíž jméno bude ztraceno. Po stránce designu máme také obrazovku, která zobrazuje Fourierovu transformaci zvukového signálu vycházejícího z reproduktoru. Účelem této náhlavní soupravy je změnit hlas operátora v reálném čase pomocí řady volitelných efektů.
Vzdělávací cíle:
- Zachyťte zvuk z mikrofonu
- Zesílení, filtrování, digitalizace signálu
- Realizujte FFT signálu
- Ukažte tento FFT na obrazovce
- Syntéza signálu
- Vyjměte zvuk z reproduktoru
- Realizujte efekty na zvukovém zvuku (dozvuk, ozvěna atd …)
Nyní, když jsme vložili pozadí a představili projekt, je čas ho dostat do rukou!
Krok 1: Požadavky 1/3 - Hardware
K úspěšnému vybudování vaší helmy budeme ke spuštění zařízení potřebovat nějaký hardware.
- Vývojová deska DE0-Nano-SoC od Terasic + Adafruit TFT LCD obrazovka (Arduino)
- Přístup k 3D tiskárně, aby byla helma (Pokud jste vysokoškolský student, přesuňte se blíže ke své univerzitě, některé mají laboratoře přístupné studentům)
- Počítač s internetovým připojením a minimem připojení (USB, Ethernet). Váš počítač také musí mít silný procesor, protože kompilace programů na Qsys zabere hodně času.
- (Není vyžadováno) Tiskárna, která vyrábí desky plošných spojů (PCB) ze souborů Gerber za účelem zmenšení velikosti obvodu + páječka pro umístění součástí na desku plošných spojů.
- (Důrazně doporučujeme): Dobrá káva, abyste si mohli užít svou práci s naším Instructable:)
Krok 2: Požadavky 2/3 - komponenty pro váš obvod
Zde jsou součásti potřebné pro váš obvod:
- Zvukový zesilovač třídy Texas Instrument LM386 AB
- BreadBoard
- Sada kabelů male-male, male-female
- LM358P Převodník digitálního signálu na Analoh (DAC)
- mluvčí
- Malý mikrofon používaný v analogovém obvodu
- Herní sada rezistorů 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žadavky 3/3 - Software
V neposlední řadě budete potřebovat software:
- Quartus 15.1: Lite verze
- Kompilátor C (například gcc)
- Altium pro návrh DPS
- Altera integrovaná sada SoC pro komunikaci s mapou SoC
- Tmel
Krok 4: Vstupní obvod
Pojďme postavit obvod. Chcete -li jej sestavit na prkénku, použijte výše uvedený obrázek obvodu. Uvidíte také obrázek BreadBoardu a obvodu uvnitř, abyste viděli, jak jsou piny připojeny. Celý obvod je napájen stejnosměrným proudem 5 V (DC). K tomu můžete použít 5V baterii s převodníkem USB-B nebo generátorem funkcí.
Několik připomenutí:
- Napájení 5V a uzemnění jsou propojeny na samostatných vodorovných linkách nepájivého pole
- Pokud chcete zapojit 2 komponenty paralelně, vložte je do společné řady prkénka
- Pokud chcete připojit 2 sériové komponenty, musí mít komponenty pouze jeden pin ve společné řadě prkénka.
Neváhejte se podívat na speciální návod, jak používat prkénko a postavit na něj obvod. Nezapomeňte si také pečlivě přečíst polohu pinů audio zesilovače LM358P (viz obrázek výše)
Krok 5: Výstupní obvod
Zcela stejné pokyny jako v kroku 4. Čtyři vstupy: SDI, nikoli CS, SCK, nikoli LDAC jsou z vaší desky DE0-Nano-Soc. Později uvidíme, jak je vygenerovat.
Nezapomeňte si pečlivě přečíst polohu pinů audio zesilovače LM386 (viz obrázek výše)
Krok 6: [VOLITELNÉ] Vytvoření součástek plošných spojů a pájení
Pokud máte to štěstí, že vlastníte tiskárnu s plošnými spoji nebo ji můžete používat, vytvoříme si vlastní desku s plošnými spoji (PCB). Tento krok je volitelný. Tento krok spočívá pouze v přesunu vašeho obvodu z desky na desku plošných spojů.
Budete potřebovat tyto 2 soubory GERBER.
Tyto soubory byly vytvořeny na Altium. Použijte je v softwaru tiskárny PCB k vytištění desky plošných spojů. Jakmile získáte desku plošných spojů, ujistěte se, že je čistá a že stopy jsou správně vytištěny.
Nyní přichází skutečná nabídka: Pájení. 2 obrázky nahoře jsou mapa obvodu na DPS. Každá součást má svůj název (R6, C4, MK1 atd.). Obrázky v krocích 4 a 5 ukazují parametry komponent (odpor, vodivost..). Umístěte každou součást z vaší desky na desku plošných spojů podle jejich názvů.
Jakmile vše pájíte pomocí páječky, otestujte všechny součásti voltmetrem a zkontrolujte, zda nedošlo ke zkratu.
Krok 7: Nastavení SoC
Pokud jde o nastavení SoC, budete muset v terminálu spustit některé příkazy a skripty zahrnuté ve vestavěné sadě SoC. K tomu budete muset přidat nějaké $ PATH. PATH se v terminálu používá k vyhledání souboru v adresářích zadaných cestou, když spouštíte příkaz. Chcete -li to provést, zadejte následující příkazový řádek:
export PATH =/cygdrive/c/altera_lite/15.1/quartus/sopc_builder/bin: $ PATH
Poté zadejte příkazový řádek a vygenerujte záhlaví ze souboru SOF. Soubor SOF získáte kompilací projektu na Quartusu. Chcete -li to provést, zadejte:./generate_header.
Krok 8: Programování C HPS
V této části musíme realizovat 2 věci, a to číst, číst hodnotu ADC a zapisovat do SPI.
1. Přečtěte si hodnotu ADC
Adresa paměti, ve které je ADC obsažen, není přímo přístupná, ve skutečnosti linuxový systém přítomný na kartě nastavuje abstrakci paměti. Ke skutečnému přístupu na adresu ADC použijeme funkci mmap.
"h2p_lw_spi_addr = virtual_base + ((bez znaménka) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (bez znaménka) (HW_REGS_MASK));"
Tato instrukce umožňuje přidat offset na začátek základní adresy, aby dosáhl adresy paměti přidělené pro ADC, a provést na výsledné adrese logiku A vzít v úvahu maskování.
Poté již bude pouze nutné dereference ukazatele v programu získat jeho hodnotu.
2. Napište hodnotu ADC do SPI
Manipulace je identická, tentokrát dáme mmapu offset, abychom přistáli na adrese přidělené SPI. Při psaní SPI technická dokumentace uvádí, že na adresu + 1 musíte napsat hodnotu adc.
"*(h2p_lw_spi_addr+1) = ((0x1 << 12) | *h2p_lw_adc_addr);"
Tato instrukce vám umožňuje zapisovat do SPI. Skutečně bit 4, tedy 1 << 12, je bit, který umožňuje aktivovat SPI. S logickým NEBO tedy dáme SPI aktivační bit i hodnotu ADC.
Krok 9: Digitální akvizice ADC z karty
Nejprve budete muset nastavit ethernetovou IP adresu vašeho počítače pomocí Ovládacích panelů -> Síť -> Card Parmesals. Vyberte ethernetové rozhraní karty, vlastnosti, adresy IPv4 a zadejte pevnou IP adresu, masku atd …
Poté připojte kartu ze strany konektoru napájení kabelem micro USB. Otevřete programátor Quartus a spusťte export. Tato manipulace bude přepracována po každém vypnutí karty.
Vyměňte kabel micro USB, připojte se tentokrát vedle ethernetového konektoru. Nyní bude u Putty nutné připojit se ke kartě sériovým spojením. Konfigurace je viditelná na fotografiích, přičemž myšlenkou je nahradit COM5 za COM a za ním číslo, které najdete ve správci zařízení (otevřete jej pravým kliknutím na logo Windows).
Stiskněte Enter, jste připojeni.
Informace k restartu projektu: - Opravte ethernetový ip odpovídající kartě - Zapněte kartu, pokaždé, když zapnete napájení, je nutné do programu Quartus vložit „program“projekt zkompilovaný na kartě. To se provádí přes port micro -USB - Abychom mohli zobrazit výsledek programu, používáme více micro USB, ale UART - S tmelem nakonfigurovaným pro sériový COM5 (nebo 6 hodin gestinnaire periph) Připojte se ke kartě. - Nastavit heslo (passwd) - Nastavit IP adresu ifconfig ethxx IPchoice (IP není daleko od té pro ether PC) - Generovat záhlaví podle Qsys s integrovaným terminálem (export PATH) - make - scp l exec v mapa - spusťte pod tmelem prog
Krok 10: Výpočet FFT
Abychom získali rychlou Fourierovu transformaci v našem programu C, použijeme knihovnu napsanou Markem Borgerdingem: Kiss FFT. Knihovnu si můžete stáhnout zde: https://kissfft.sourceforge.net/. Použití FFT na signál je nutné k úpravě a použití efektů signálu. Může také sloužit k zobrazení spektra signálu.
První krok v programu C spočívá v přidělení paměti za účelem uložení výsledku FFT. Velikost paměti závisí na počtu bodů použitých pro výpočet FFT. Čím více bodů získáte, tím více bude FFT výhodnější. Program však poběží pomaleji a bude využívat více paměti. Všimněte si, že z funkce kiss_fft získáte dvě pole: vstup a výstup funkce (cx_in a cx_out)
Jakmile je naše pole naplněno novými hodnotami FFT, tj. Když r = Win - 1, zpracováváme FFT. Pokud jde o displej, zobrazujeme pouze pozitivní část spektra, protože mezi negativní částí a pozitivní částí existuje symetrie.
Pokud jde o vodorovnou osu, snižujeme špičkové hodnoty o 100*výšku/(výšku²), abychom rozlišili vrcholy hlavních frekvencí.
K definování četnosti čtení hodnot ADC používáme systémové volání us ushing. Tato frekvence je aktuálně nastavena na 1, 5 Hz.
Krok 11: Zobrazení FFT
Na základě příkladu, který je uveden na TFT LCD obrazovce Adafruit, která je k dispozici zde: https://www.terasic.com/downloads/cd-rom/de0-nano-s… jsme naprogramovali NIOS naší rady, aby byl schopen číst hodnota ADC.
Registr ADC je tedy sdílen mezi NIOS a HPS, protože hodnoty ADC budou použity k zobrazení FFT na obrazovce NIOS a stejné hodnoty budou zapsány do SPI, aby mohly být vyvedeny z desky a nakonec převedeny DAC pro získání analogového signálu.
Krok 12: Sestavení
Jsme téměř hotovi! Budete muset sestavit každou část projektoru (vstupní obvod, výstupní obvod a desku). Zajistěte připojení dílů ke správným kolíkům podle projektu Quartus.
- Vstupní obvod odešle zvukový signál zachycený mikrofonem, zesílený, filtrovaný a odsazený.
- Program C přítomný na kartě načte hodnoty ADC, jak jsme viděli dříve, a zapíše je do SPI, abychom mohli obnovit hodnotu na GPIO karty.
- Poté výstupní GPIO SPI přenese informace, které budou dekódovány naším DAC a zesíleny spuštěním k dosažení reproduktoru.
Krok 13: Zvukové efekty
Jediným krokem zbývají zvukové efekty.
Dostupné efekty jsou:
- Vysokofrekvenční filtr
- Nízkofrekvenční filtr
- …
Mezi efekty můžete přepínat díky tlačítku. Toto tlačítko změní proměnnou v našem programu C, takže může použít správný efekt.
Krok 14: [VOLITELNÉ] Výroba helmy
Zde jsme v nejvíce manuálním kroku projektu:
- Nejprve jsme slepili různé 3D tištěné části helmy.
- Abychom vyplnili mezery mezi lepenými kusy, přidali jsme povrchovou úpravu pomocí 3D pera.
- Mezery vyplněné perem a helmou jsme vyleštili obecněji, aby obraz poté dobře držel.
- Přilbu jsme natřeli 2 vrstvami: první antracitovou černou, zblízka a druhou primární zelenou z dále, abychom získali odstíny tmavší zelené.
- Nakonec jsme na stranu přilby vytiskli logo naší školy
Doporučuje:
Ochranná přilba Covid Část 1: Úvod do obvodů Tinkercad!: 20 kroků (s obrázky)
Helma Covid Část 1: Úvod do obvodů Tinkercad!: Dobrý den, příteli! V této dvoudílné sérii se naučíme používat Tinkercad's Circuits - zábavný, účinný a vzdělávací nástroj pro učení se fungování obvodů! Jedním z nejlepších způsobů, jak se učit, je dělat. Nejprve tedy navrhneme vlastní projekt:
LED cyklistická přilba: 6 kroků (s obrázky)
LED cyklistická přilba: Zde je návod, jak přidat do ochranné přilby bezpečnostní LED diody pomocí vodivé barvy. Vždycky jsem ztrácel světla, která si připnete na kolo, a nejsou levná ani kvalitní. Materiály: vodivý epoxid vodivý nátěrem 5minutový epoxid (horké lepidlo pro pěstované
Chytrá ochranná přilba pracovníka: 5 kroků
Chytrá ochranná přilba: Pracovníci po celém světě musí pracovat v tunelech a doly jsou každý den vystaveny vysokým teplotám a toxickým plynům, což má trvalý dopad na jejich zdraví. Pomocí Arduina jsme vytvořili ochrannou přilbu, která ukazuje pracovníkům přesné detaily
Klimatizovaná cyklistická přilba (vyrobená z recyklovaných počítačů): 5 kroků (s obrázky)
Klimatizovaná cyklistická přilba (vyrobená z recyklovaných počítačů): Tato helma s ventilátory přes otvory nasává vzduch z vaší hlavy a vy můžete cítit, jak se vám dostává přes obličej a po stranách hlavy! Velmi dobré pro jízdu na kole ve slunečných dnech, kdy je velmi horko. LED diody také pomáhají při nočním jízdě na kole! Všechny díly
Voice Changer Hack pro kutilské syntetizátory: 9 kroků (s obrázky)
Voice Changer Hack pro kutilské syntezátory: Pro ty, kteří sledují mé nejnovější 'ibles - budete vědět, že jsem v poslední době stavěl několik 555 časovačových syntetizátorů. Nedávno jsem během výletu do svého místního recyklačního skladu našel dětský měnič hlasu. Je to ten typ, kdy mluvíte do mikrofonu