Tartalomjegyzék:
- 1. lépés: Követelmények 1/3 - Hardver
- 2. lépés: Követelmények 2/3 - Az áramkör összetevői
- 3. lépés: Követelmények 3/3 - Szoftver
- 4. lépés: Bemeneti áramkör
- 5. lépés: Kimeneti áramkör
- 6. lépés: [Választható] Nyomtatott áramkör Borad és forrasztó alkatrészek létrehozása
- 7. lépés: SoC beállítás
- 8. lépés: A C HPS programozása
- 9. lépés: Az ADC digitális megszerzése a kártyáról
- 10. lépés: FFT számítás
- 11. lépés: Az FFT megjelenítése
- 12. lépés: Összeszerelés
- 13. lépés: Hanghatások
- 14. lépés: [Választható] A sisak elkészítése
Videó: Spartan Voice Changer sisak: 14 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Helló! A Sorbonne Egyetem Politechnikai Iskolájának 4 diákból álló csapata vagyunk:
- Louis Buchert
- Bilal Melehi
- Bao Tinh Piot
- Marco Longépé
Ez a projekt tanulmányaink részeként valósul meg, és célja számos eszköz kézbe vétele, valamint elméleti eredményeink bemutatása.
A híres tárgy olyan sisakot kap, amely hasonlít egy bizonyos videojáték hőséhez, akinek a neve elveszik. A tervezési oldalon is van egy képernyő, amely megjeleníti a hangszóróból kijövő hangjel Fourier -transzformációját. Ennek a fülhallgatónak az a célja, hogy valós időben megváltoztassa a szolgáltató hangját számos választható effekt segítségével.
Oktatási célok:
- Rögzítse a hangot egy mikrofonról
- Erősítse, szűrje, digitalizálja a jelet
- Ismerje fel a jel FFT -jét
- Mutassa meg ezt az FFT -t egy képernyőn
- Jelszintézis
- Vegyen ki hangot a hangszóróból
- Érje el az audio hangra gyakorolt hatásokat (visszhang, visszhang stb.)
Most, hogy összeállítottuk a hátteret és bemutattuk a projektet, itt az ideje, hogy kézbe vegye!
1. lépés: Követelmények 1/3 - Hardver
Annak érdekében, hogy a sisakot sikeresen megépítsük, szükségünk lesz egy hardverre az eszköz futtatásához.
- DE0-Nano-SoC Fejlesztőtábla a Terasic + Adafruit TFT LCD képernyőn (Arduino)
- Hozzáférés a 3D nyomtatóhoz a sisak elkészítéséhez (Ha egyetemi hallgató közelebb kerül az egyetemhez, néhányuknak laboratóriuma van a hallgatók számára)
- Számítógép internetkapcsolattal és minimális csatlakozási lehetőséggel (USB, Ethernet). A számítógépnek erős processzorral is rendelkeznie kell, mivel a programok összeállítása a Qsys rendszeren sok időt vesz igénybe.
- (Nem szükséges) Nyomtató, amely nyomtatott áramköri lapokat (NYÁK) készít Gerber -fájlokból az áramkör méretének csökkentése érdekében + forrasztópáka az alkatrészek PCB -re helyezéséhez.
- (Erősen ajánlott): Egy jó kávé, hogy élvezhesse munkáját az Instructable segítségével:)
2. lépés: Követelmények 2/3 - Az áramkör összetevői
Itt vannak az áramkörhöz szükséges alkatrészek:
- Texas Instrument LM386 AB osztályú erősítő
- BreadBoard
- Férfi-férfi, férfi-női kábelek készlete
- LM358P digitális-analóg átalakító (DAC)
- Hangszóró
- Kis mikrofon analóg áramkörben
- Játékkészlet 1 kOhm és 220 kOhm között
- Kondenzátor 1,5 nF
- Kondenzátor 50 nF
- Kondenzátor 100 nF
- Kondenzátor 100uF
- Kondenzátor 220uF
- x4 kondenzátorok 10uF
3. lépés: Követelmények 3/3 - Szoftver
Végül, de nem utolsó sorban szoftverre lesz szüksége:
- Quartus 15.1: Lite verzió
- C fordító (például gcc)
- Altium a NYÁK -tervezéshez
-
Az Altera SoC beágyazott csomagja kommunikálni tud a SoC térképpel
- Gitt
4. lépés: Bemeneti áramkör
Építsük fel az áramkört. Használja az áramkör fenti képét, hogy összeszerelje a kenyértáblájára. Látni fogja a BreadBoard képét és a benne lévő áramkört is, hogy megtudja, hogyan kell a csapokat csatlakoztatni. Az egész áramkör 5V egyenárammal (DC) működik. Ehhez használhat 5 V-os akkumulátort USB-B átalakítóval vagy funkciógenerátorral.
Néhány emlékeztető:
- Az 5 V -os tápegység és a föld a kenyérsütő lap vízszintes vonalaira vannak csatlakoztatva
- Ha 2 komponenst szeretne párhuzamosan csatlakoztatni, akkor tegye őket a kenyértábla közös sorába
- Ha 2 soros komponenst szeretne csatlakoztatni, akkor a komponenseknek csak egy tűvel kell rendelkezniük a kenyértábla közös sorában.
Ne habozzon, nézze meg az oktatóanyagot a kenyérsütő lap használatáról, és kapcsoljon rá áramkört. Ne felejtse el figyelmesen elolvasni az LM358P audioerősítő csapjának helyzetét (lásd a fenti képet)
5. lépés: Kimeneti áramkör
Teljesen ugyanazok az utasítások, mint a 4. lépésben. A négy bemenet: SDI, nem CS, SCK, nem LDAC a DE0-Nano-Soc kártyáról származik. Később meglátjuk, hogyan lehet őket előállítani.
Ne felejtse el figyelmesen elolvasni az LM386 audioerősítő csapjának helyzetét (lásd a fenti képet)
6. lépés: [Választható] Nyomtatott áramkör Borad és forrasztó alkatrészek létrehozása
Ha szerencséje van egy áramköri nyomtató birtokolásához, vagy használhatja azt, akkor saját nyomtatott áramköri kártyát (PCB) készítünk. Vegye figyelembe, hogy ez a lépés nem kötelező. Ez a lépés csak az áramkör áthelyezését jelenti a kenyértábláról a NYÁK -ra.
Szüksége lesz erre a 2 GERBER fájlra.
Ezek a fájlok az Altiumon készültek. Használja őket a PCB nyomtatószoftverében a PCB nyomtatásához. Miután beszerezte a PCB -t, győződjön meg arról, hogy a nyomtatott áramköre tiszta, és a sávok megfelelően vannak nyomtatva.
Most jön az igazi: a forrasztás. A fenti 2 kép a NYÁK áramkörének térképe. Minden komponensnek neve van (R6, C4, MK1 stb.). A 4. és 5. lépésben látható képek az alkatrészek paramétereit (ellenállás, vezetőképesség..) mutatják be. Helyezze el az egyes alkatrészeket a kenyértábláról a NYÁK -ra a nevük szerint.
Miután mindent forrasztott a forrasztópáka segítségével, teszteljen minden alkatrészt voltmérővel, és ellenőrizze, nincs -e rövidzárlat.
7. lépés: SoC beállítás
A SoC beállításával kapcsolatban néhány parancsot és szkriptet kell futtatnia, amelyek a SoC beágyazott csomagjában találhatók a terminálon belül. Ehhez hozzá kell adnia néhány $ PATH -ot. A PATH parancsok a terminálon belül azt mondják, hogy parancs keresésekor keresni kell egy fájlt az útvonal által megadott könyvtárakban. Ehhez írja be a következő parancssort:
export PATH =/cygdrive/c/altera_lite/15.1/quartus/sopc_builder/bin: $ PATH
Ezután írja be a parancssort a fejlécek generálásához egy sof fájlból. A sof fájlt a projekt Quartuson történő összeállításával szerezheti be. Ehhez írja be:./generate_header.
8. lépés: A C HPS programozása
Ebben a részben két dolgot kell megvalósítanunk, nevezetesen olvassa el, olvassa el az ADC értékét, és írja be az SPI -be.
1. Olvassa el az ADC értékét
Annak a memóriának a címe, amelyben az ADC található, nem érhető el közvetlenül, valójában a kártyán lévő linux rendszer a memória absztrakcióját állítja be. Az ADC -cím eléréséhez az mmap funkciót fogjuk használni.
"h2p_lw_spi_addr = virtual_base + ((hosszú előjel nélküli) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (előjel nélküli hosszú) (HW_REGS_MASK));"
Ez az utasítás lehetővé teszi egy eltolás hozzáadását az alapcím elejére, hogy elérje az ADC számára kiosztott memória címét, és a kapott címen logikát és ÉS figyelembe vegye a maszkolást.
Ezt követően csak a programban lévő mutatót kell eltéríteni, hogy megkapja az értékét.
2. Írja be az ADC értékét az SPI -be
A manipuláció azonos, ezúttal az mmap -nak adjuk meg az eltolást, hogy az SPI által kiosztott címre érkezzen. Az SPI -ben történő írás során a műszaki dokumentáció előírja, hogy a + 1 címre kell írnia az adc értékét.
"*(h2p_lw_spi_addr+1) = ((0x1 << 12) | *h2p_lw_adc_addr);"
Ez az utasítás lehetővé teszi, hogy írjon az SPI -hez. Valójában a 4. bit, tehát az 1 << 12 az a bit, amely lehetővé teszi az SPI aktiválását. Logikai VAGY -nál tehát az aktiválási bitet és az ADC értékét is megadjuk az SPI -nek.
9. lépés: Az ADC digitális megszerzése a kártyáról
Először is be kell állítania a számítógép Ethernet IP -címét a Vezérlőpult -> Hálózat -> Kártya parmezálok segítségével. Válassza ki a kártya ethernet interfészét, tulajdonságát, ipv4 -címét, és adjon meg egy rögzített IP -címet, maszkot stb.
Ezután csatlakoztassa a kártyát a tápcsatlakozó oldaláról a mikro USB -kábellel. Nyissa meg a Quartus programozót, és indítsa el az exportálást. Ezt a manipulációt a kártya minden kikapcsolása után megismétlik.
Cserélje ki a mikro -USB csatlakozókábelt, hogy ezúttal az Ethernet -csatlakozó mellett csatlakozzon. Most a Putty segítségével soros kapcsolaton keresztül kell csatlakozni a kártyához. A konfiguráció látható a fényképeken, az ötlet az, hogy a COM5 -öt COM -ra cserélje, majd az eszközkezelőben megtalálható számot (jobb egérgombbal kattintson a Windows logóra a megnyitásához).
Nyomja meg az enter billentyűt, és csatlakozik.
Információk a projekt újraindításához: - Javítsa ki a kártyának megfelelő ethernet ip -t - Kapcsolja be a kártyát, minden alkalommal, amikor bekapcsolja a készüléket, szükség van a "program" beírására a kártyába összeállított projekt alá. Ez a mikro -USB porton keresztül történik - A program eredményének megjelenítéséhez több mikro USB -t használunk, de UART -t. - Soros COM5 (vagy 6 óra gesztinnai periféria) konfigurált gitt segítségével Csatlakoztassa a kártyához. - Jelszó beállítása (passwd) - IP -cím beállítása ifconfig ethxx IPchoice (IP nem messze attól, ami a PC etikája) - Generálja a fejlécet a Qsys szerint a beágyazott terminállal (export PATH) - make - scp l exec a térkép - futtassa a gitt alatt a progit
10. lépés: FFT számítás
Annak érdekében, hogy a C programunkba bekerüljön a gyors Fourier -transzformáció, egy könyvtárat használunk, amelyet Mark Borgerding írt: Kiss FFT. A könyvtárat innen töltheti le: https://kissfft.sourceforge.net/. A jelhatások módosításához és alkalmazásához FFT -t kell alkalmazni a jelre. A jel spektrumának megjelenítésére is szolgálhat.
A C program első lépése a memória lefoglalása az FFT eredmény tárolásához. A memória mérete az FFT kiszámításához használt pontok számától függ. Minél több pontja van, annál pontosabb lesz az FFT. A program azonban lassabban fog futni, és több memóriát fog igénybe venni. Ne feledje, hogy a kiss_fft függvényből két tömböt kap: a függvény bemenetét és kimenetét (cx_in és cx_out)
Ha tömbünk új FFT értékekkel van feltöltve, azaz amikor r = Win - 1, akkor feldolgozzuk az FFT -t. Ami a kijelzőt illeti, csak a spektrum pozitív részét jelenítjük meg, mivel szimmetria van a negatív és a pozitív rész között.
Ami a vízszintes tengelyt illeti, a csúcsértékeket 100*magassággal ((magasság²)) csökkentjük, hogy meg tudjuk különböztetni a fő frekvenciák csúcsait.
Az usleep rendszer hívását használjuk az ADC értékek olvasási gyakoriságának meghatározásához. Ez a frekvencia jelenleg 1,5 Hz -re van beállítva.
11. lépés: Az FFT megjelenítése
Az Adafruit TFT LCD képernyőn itt található példa alapján: https://www.terasic.com/downloads/cd-rom/de0-nano-s… programoztuk az igazgatótanács NIOS-ját, hogy olvasni tudjon az ADC érték.
Tehát az ADC regiszter megosztva van az NIOS és a HPS között, mert az ADC értékeket fogják használni az FFT megjelenítéséhez az NIOS képernyőn, és ugyanazokat az értékeket írják fel az SPI -re annak érdekében, hogy kimenjenek a tábláról, és végül átalakítsák a DAC segítségével, hogy analóg jelet kapjon.
12. lépés: Összeszerelés
Majdnem kész vagyunk! Összeszerelnie kell a projektor minden részét (bemeneti áramkör, kimeneti áramkör és a kártya). Feltétlenül csatlakoztassa az alkatrészeket a megfelelő csapokhoz a Quartus projekt szerint.
- A bemeneti áramkör a mikrofon által rögzített hangjelet küldi, erősítve, szűrve és eltolva.
- A kártyán jelen lévő C program beolvassa az ADC értékeit, ahogy azt korábban láttuk, és felírja az SPI -re, hogy vissza tudjuk állítani az értéket a kártya GPIO -ján.
- Ezután az SPI kimeneti GPIO továbbítja azokat az információkat, amelyeket a DAC dekódol, és futtatva felerősíti a hangszóró eléréséhez.
13. lépés: Hanghatások
Már csak a hanghatások maradtak hátra.
Az elérhető hatások a következők:
- Nagyfrekvenciás szűrő
- Alacsony frekvenciájú szűrő
- …
Egy gomb segítségével válthat az effektusok között. Ez a gomb megváltoztat egy változót a C programunkban, így a megfelelő hatást tudja alkalmazni.
14. lépés: [Választható] A sisak elkészítése
Itt tartunk a projekt legkézi lépésében:
- Először ragasztottuk a sisak különböző 3D nyomtatott részeit.
- A ragasztott darabok közötti hézagok kitöltéséhez 3D tollat használunk.
- A tollal és a sisakkal töltött közbenső részeket úgy csiszoltuk, hogy a festmény később is jól megmaradjon.
- A sisakot 2 rétegben festettük: az első antracitfekete, közelről, a második pedig elsődleges zöld, tovább, hogy sötétebb zöld árnyalatokat adjon.
- Végül kinyomtattuk iskolánk logóját a sisak oldalán
Ajánlott:
LED kerékpáros sisak: 6 lépés (képekkel)
LED kerékpáros sisak: Így adhat hozzá biztonsági LED -eket a kerékpáros sisakhoz vezető festékkel. Mindig elvesztettem azokat a lámpákat, amelyeket a kerékpárra ragasztasz, és nem olcsók vagy jó minőségűek. Anyagok: vezetőképes festékvezető epoxi 5 perces epoxi (forró ragasztó termesztett
Légkondicionált kerékpáros sisak (újrahasznosított számítógépekből): 5 lépés (képekkel)
Légkondicionált kerékpáros sisak (újrahasznosított számítógépekből): Ez a sisak a ventilátorokkal a lyukak felett felszívja a levegőt a fejedből, és érezheted, hogy feljön az arcodra és a fejed oldalára! Nagyon jó kerékpározáshoz napsütéses napokon, amikor nagyon meleg. A LED -ek segítenek az éjszakai kerékpározásban is! Az összes rész
A Glowtrooper: Interaktív rohamosztagos sisak: 5 lépés (képekkel)
A Glowtrooper: Interaktív rohamosztagos sisak: Hé srácok! Ma egy gyors útmutatót kaptam nektek, hogyan kell felépíteni egy interaktív Star Wars Stormtrooper Lamp-ot, többszínű fényekkel és funkcionális 8-kiváltó hanglappal. Remélem, minden utasítás könnyen olvasható és használható, és remélem
Voice Changer Hack a DIY Synths számára: 9 lépés (képekkel)
Voice Changer Hack a DIY Synths számára: Azok számára, akik követik a legújabb "ibleimet" - tudni fogja, hogy későn építettem néhány 555 időzítő szintetizátort. Nemrégiben a helyi újrahasznosító raktárba tett kirándulás során találtam egy gyerekhangváltót. Ez az a típus, ahol mikrofonba beszélsz
DIY sisak Bluetooth fejhallgató: 11 lépés (képekkel)
DIY sisak Bluetooth fejhallgató: Ez egy szuper könnyű és szuper olcsó Do You Yourself útmutató, hogyan készítsünk Bluetooth fejhallgatót motorkerékpár sisakjához vagy bármilyen sisakhoz, amelyen használni szeretnénk. Így történt ez a mondás szerint: „A SZÜKSÉG A MOTOR