Sisällysluettelo:
- Vaihe 1: Vaatimukset 1/3 - Laitteisto
- Vaihe 2: Vaatimukset 2/3 - Piirisi komponentit
- Vaihe 3: Vaatimukset 3/3 - Ohjelmisto
- Vaihe 4: Tulopiiri
- Vaihe 5: Lähtöpiiri
- Vaihe 6: [VALINNAINEN] Piirilevyn Borad- ja juotoskomponenttien luominen
- Vaihe 7: SoC -asetukset
- Vaihe 8: C HPS: n ohjelmointi
- Vaihe 9: ADC: n digitaalinen hankinta kortilta
- Vaihe 10: FFT -laskenta
- Vaihe 11: FFT: n näyttäminen
- Vaihe 12: Kokoonpano
- Vaihe 13: Äänitehosteet
- Vaihe 14: [VALINNAINEN] Kypärän valmistus
Video: Spartan Voice Changer Kypärä: 14 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Hei! Olemme neljän oppilaan ryhmä Sorbonnen yliopiston ammattikorkeakoulusta:
- Louis Buchert
- Bilal Melehi
- Bao Tinh Piot
- Marco Longépé
Tämä projekti toteutetaan osana opintojamme, ja sen tavoitteena on ottaa käyttöön useita työkaluja sekä osoittaa teoreettiset saavutuksemme.
Kuuluisa esine saa ulkonäöltään kypärän, joka muistuttaa tietyn videopelin sankaria, jonka nimi häviää. Suunnittelupuolella meillä on myös näyttö, joka näyttää kaiuttimesta tulevan audiosignaalin Fourier -muunnoksen. Tämän kuulokkeen tarkoituksena on muuttaa operaattorin ääntä reaaliajassa käyttämällä useita valittavia tehosteita.
Koulutukselliset tavoitteet:
- Tallenna ääni mikrofonista
- Vahvista, suodata, digitalisoi signaali
- Toteuta signaalin FFT
- Näytä tämä FFT näytöllä
- Signaalin synteesi
- Ota ääni kaiuttimesta
- Toteuta äänitehosteet (jälkikaiunta, kaiku jne.)
Nyt kun olemme asettaneet taustan ja esittäneet projektin, on aika tarttua siihen!
Vaihe 1: Vaatimukset 1/3 - Laitteisto
Jotta kypäräsi voidaan rakentaa onnistuneesti, tarvitsemme laitteistoa laitteen käyttämiseen.
- DE0-Nano-SoC-kehityskortti, Terasic + Adafruit TFT LCD -näyttö (Arduino)
- Pääsy 3D -tulostimeen kypärän valmistamiseksi (Jos olet yliopisto -opiskelija, joka muuttaa lähemmäs yliopistoa, joillakin on laboratorioita opiskelijoiden käytettävissä)
- Tietokone, jossa on Internet -yhteys ja vähintään liitettävyys (USB, Ethernet). Tietokoneellasi on myös oltava vahva prosessori, koska Qsys -ohjelmien kokoaminen vie paljon aikaa.
- (Ei vaadita) Tulostin, joka valmistaa piirilevyjä (PCB) Gerber -tiedostoista piirin koon pienentämiseksi + juotosraudan komponenttien asettamiseksi piirilevylle.
- (Vahva suositus): Hyvä kahvi nauttiaksesi työstäsi Instructable -ohjelman kanssa:)
Vaihe 2: Vaatimukset 2/3 - Piirisi komponentit
Tässä ovat piirisi tarvitsemat komponentit:
- Texas Instrument LM386 AB -luokan äänivahvistin
- Leipälauta
- Uros-uros-, uros-naaraskaapelit
- LM358P Digitaalinen-analogi-muunnin (DAC)
- Kaiutin
- Pieni mikrofoni, jota käytetään analogisessa piirissä
- Pelisarja vastuksia 1 kOhm - 220 kOhm
- Kondensaattori 1,5 nF
- Kondensaattori 50 nF
- Kondensaattori 100 nF
- Kondensaattori 100uF
- Kondensaattori 220uF
- x4 Kondensaattorit 10uF
Vaihe 3: Vaatimukset 3/3 - Ohjelmisto
Viimeisenä mutta ei vähäisimpänä, tarvitset ohjelmiston:
- Quartus 15.1: Yksinkertainen versio
- C -kääntäjä (esimerkiksi gcc)
- Altium PCB -suunnitteluun
-
Alteran SoC -sulautettu sarja kommunikoimaan SoC -kartan kanssa
- Kitti
Vaihe 4: Tulopiiri
Rakennetaan piiri. Käytä yllä olevaa piirikuvan kuvaa kootaksesi sen leipälevyllesi. Näet myös kuvan BreadBoardista ja sen piiristä nähdäksesi kuinka nastat on kytketty. Koko piiri saa virtansa 5 V: n tasavirralla (DC). Tätä varten voit käyttää 5 V: n akkua, jossa on USB-B-muunnin tai toimintogeneraattori.
Muutamia muistutuksia:
- 5 V: n virtalähde ja maa on kytketty leipälevyn erillisille vaakasuorille linjoille
- Jos haluat liittää kaksi komponenttia rinnakkain, aseta ne leipälaudan yhteiseen riviin
- Jos haluat liittää kaksi sarjakomponenttia, komponentteja saa olla vain yksi nasta leipälevyn yhteisellä rivillä.
Älä epäröi katsoa omaa opetusohjelmaa leipälaudan käytöstä ja rakentaa sille piiri. Älä myöskään unohda lukea huolellisesti LM358P -äänivahvistimen nastan asentoa (katso kuva yllä)
Vaihe 5: Lähtöpiiri
Aivan samat ohjeet kuin vaiheessa 4. Neljä tuloa: SDI, ei CS, SCK, ei LDAC, ovat DE0-Nano-Soc -kortiltasi. Näemme myöhemmin, miten ne luodaan.
Älä unohda lukea huolellisesti LM386 -äänivahvistimen nastan asentoa (katso kuva yllä)
Vaihe 6: [VALINNAINEN] Piirilevyn Borad- ja juotoskomponenttien luominen
Jos sinulla on onni omistaa piirilevytulostin tai pystyt käyttämään sitä, aiomme luoda oman piirilevyn (PCB). Huomaa, että tämä vaihe on valinnainen. Tämä vaihe koostuu vain piirin siirtämisestä leipälevyltä piirilevylle.
Tarvitset nämä 2 GERBER -tiedostoa.
Nämä tiedostot on tehty Altiumilla. Käytä niitä PCB -tulostinohjelmistossasi PCB: n tulostamiseen. Kun olet hankkinut piirilevyn, varmista, että piirilevy on puhdas ja että raidat on tulostettu oikein.
Nyt tulee oikea juttu: juottaminen. Yllä olevat 2 kuvaa ovat piirilevyn piirikartta. Jokaisella komponentilla on nimet (R6, C4, MK1 jne.). Vaiheiden 4 ja 5 kuvat esittävät komponenttien parametrit (vastus, johtavuus..). Aseta jokainen osa leipälevyltäsi PCB: lle niiden nimien mukaan.
Kun olet juottanut kaiken juotosraudallasi, testaa kaikki komponentit voltimittarilla ja tarkista onko niissä oikosulku.
Vaihe 7: SoC -asetukset
Mitä tulee SoC -määritykseen, sinun on suoritettava joitakin komentoja ja komentosarjoja, jotka sisältyvät SoC: n sulautettuun pakettiin päätelaitteessa. Tätä varten sinun on lisättävä $ PATH. PATH: ta käytetään terminaalissa sanomaan tiedoston etsiminen polusta annetuista hakemistoista komentoa suoritettaessa. Kirjoita seuraava komentorivi:
vienti PATH =/cygdrive/c/altera_lite/15.1/quartus/sopc_builder/bin: $ PATH
Kirjoita sitten komentorivi luodaksesi otsikot sof -tiedostosta. Saat sof -tiedoston kokoamalla projektisi Quartusiin. Kirjoita tämä:./generate_header.
Vaihe 8: C HPS: n ohjelmointi
Meidän on ymmärrettävä 2 asiaa tässä osassa, nimittäin lukea ADC: n arvo ja kirjoittaa se SPI: hen.
1. Lue ADC: n arvo
Sen muistin osoite, johon ADC sisältyy, ei ole suoraan saatavilla, itse asiassa kortissa oleva linux -järjestelmä muodostaa muistin abstraktion. Käytämme mmap -toimintoa päästäksesi todella ADC -osoitteeseen.
"h2p_lw_spi_addr = virtual_base + ((pitkä allekirjoittamaton) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (allekirjoittamaton pitkä) (HW_REGS_MASK));"
Tämä käsky sallii siirtymän lisäämisen perusosoitteen alkuun päästäkseen ADC: lle varatun muistin osoitteeseen ja suorittaa tuloksena saadulle osoitteelle logiikan JA ottaa peite huomioon.
Sen jälkeen on vain poistettava osoittimen suunta ohjelmassa sen arvon saamiseksi.
2. Kirjoita ADC: n arvo SPI: hen
Käsittely on identtinen, tällä kertaa annamme mmap: lle siirtymän laskeutumaan SPI: n osoittamaan osoitteeseen. Kun kirjoitat SPI: tä, teknisissä asiakirjoissa määritetään, että sinun on kirjoitettava osoitteeseen + 1 arvon adc arvo.
"*(h2p_lw_spi_addr+1) = ((0x1 << 12) | *h2p_lw_adc_addr);"
Tämän ohjeen avulla voit kirjoittaa SPI: hen. Itse asiassa bitti 4, joten 1 << 12, on bitti, joka mahdollistaa SPI: n aktivoinnin. Loogisen TAI: n vuoksi annamme SPI: lle sekä aktivointibitin että ADC: n arvon.
Vaihe 9: ADC: n digitaalinen hankinta kortilta
Ensinnäkin sinun on asetettava tietokoneesi Ethernet -IP -osoite Ohjauspaneeli -> Verkko -> Kortin parmesaali -kohdassa. Valitse kortin ethernet -käyttöliittymä, ominaisuus, ipv4 -osoite ja anna kiinteä IP, maski jne.
Liitä seuraavaksi kortti virtaliittimen puolelta mikro -USB -kaapelilla. Avaa Quartus -ohjelmoija ja käynnistä vienti. Tämä käsittely tehdään uudelleen jokaisen kortin sammuttamisen jälkeen.
Vaihda mikro -USB -liitäntäkaapeli tällä kertaa Ethernet -liittimen viereen. Nyt Puttyn avulla kortti on yhdistettävä sarjaliitännän kautta. Kokoonpano näkyy kuvissa, ajatuksena on korvata COM5 COM: lla ja numero, jonka löydät laitehallinnastasi (avaa se napsauttamalla hiiren kakkospainikkeella Windows -logoa).
Paina enter, olet muodostanut yhteyden.
Tietoja projektin käynnistämiseksi uudelleen: - Korjaa korttia vastaava ethernet ip. - Käynnistä kortti, aina kun kytket virran päälle, sinun on asetettava "ohjelma" korttiin kootun projektin alle. Tämä tehdään mikro -USB -portin kautta - Voidaksemme näyttää ohjelman tuloksen käytämme enemmän mikro -USB: tä, mutta UART: - Kun kitti on määritetty sarja COM5: lle (tai 6 kellon gestinnaire -kehälle) Yhdistä korttiin. - Aseta salasana (passwd) - Määritä IP -osoite ifconfig ethxx IPchoice (IP ei ole kaukana PC: n IP -osoitteesta) - Luo otsikko Qsys: n mukaan, kun pääte on upotettu (vienti PATH) - make - scp l exec kartta - suorita kitti ohjelman alla
Vaihe 10: FFT -laskenta
Saadaksemme nopean Fourier -muunnoksen C -ohjelmaan käytämme kirjastoa, jonka on kirjoittanut Mark Borgerding: Kiss FFT. Voit ladata kirjaston täältä: https://kissfft.sourceforge.net/. FFT: n käyttäminen signaalissa on välttämätöntä signaalitehosteiden muokkaamiseksi ja soveltamiseksi. Se voi myös näyttää signaalin spektrin.
C -ohjelman ensimmäinen vaihe on varata muisti FFT -tuloksen tallentamiseksi. Muistin koko riippuu FFT: n laskemiseen käytetyn pisteen määrästä. Mitä enemmän pisteitä sinulla on, sitä tarkempi FFT on. Ohjelma toimii kuitenkin hitaammin ja käyttää enemmän muistia. Huomaa, että saat kiss_fft -funktiosta kaksi matriisia: funktion tulon ja lähdön (cx_in ja cx_out)
Kun taulukko on täynnä uusia FFT -arvoja, eli kun r = Win - 1, käsittelemme FFT: tä. Näytön osalta näytämme vain spektrin positiivisen osan, koska negatiivisen ja positiivisen osan välillä on symmetria.
Vaaka -akselin osalta vähennämme huippuarvoja 100*korkeudella/(korkeus²) erottaaksemme päätaajuuksien huiput.
Käytämme usleep -järjestelmän kutsua ADC -arvojen lukutaajuuden määrittämiseen. Tämä taajuus on tällä hetkellä asetettu 1,5 Hz: iin.
Vaihe 11: FFT: n näyttäminen
Adafruit TFT LCD -näytössä olevan esimerkin perusteella, joka on saatavana täältä: https://www.terasic.com/downloads/cd-rom/de0-nano-s… olemme ohjelmoineet hallintomme NIOS: n, jotta hän voi lukea ADC -arvo.
Joten ADC -rekisteri jaetaan NIOS: n ja HPS: n kesken, koska ADC -arvoja käytetään FFT: n näyttämiseen NIOS -näytöllä, ja samat arvot kirjoitetaan SPI: hen, jotta ne voidaan tulostaa levyltä ja lopulta muuntaa saadaksesi analogisen signaalin.
Vaihe 12: Kokoonpano
Olemme melkein valmiita! Sinun on koottava kaikki projektorin osat (tulopiiri, lähtöpiiri ja levy). Varmista, että liität osat oikeisiin nastoihin Quartus -projektin mukaisesti.
- Tulopiiri lähettää mikrofonin sieppaaman audiosignaalin vahvistettuna, suodatettuna ja offsetina.
- Kortilla oleva ohjelma C lukee ADC: n arvot kuten aiemmin olemme nähneet ja kirjoittaa sen SPI: hen, jotta voimme palauttaa kortin GPIO: n arvon.
- Sitten SPI: n lähtö GPIO lähettää tiedot, jotka DAC -laitteemme dekoodaa ja vahvistetaan juoksemalla päästäkseen kaiuttimeen.
Vaihe 13: Äänitehosteet
Ainoa askel jäljellä ovat äänitehosteet.
Käytettävissä olevat vaikutukset ovat:
- Suurtaajuussuodatin
- Matalataajuussuodatin
- …
Voit vaihtaa tehosteiden välillä painikkeen avulla. Tämä painike muuttaa muuttujaa C -ohjelmassamme, joten se voi käyttää oikeaa vaikutusta.
Vaihe 14: [VALINNAINEN] Kypärän valmistus
Tässä olemme projektin manuaalisimmassa vaiheessa:
- Ensin liimasimme kypärän eri 3D -tulostetut osat.
- Liimapalojen välisten aukkojen täyttämiseksi lisäsimme viimeistelyn 3D -kynällä.
- Kiillotimme kynällä ja kypärällä täytetyt välit niin, että maalaus pysyy hyvin jälkeenpäin.
- Maalasimme kypärän kahdella kerroksella: ensimmäinen antrasiittimustalla, läheltä ja toinen päävihreällä kauemmas antaakseen tummemman vihreän sävyjä.
- Lopuksi painoimme koulumme logon kypärän kylkeen
Suositeltava:
Iron Man Mark II -kypärä: 4 vaihetta
Iron Man Mark II -kypärä: Casco réplica mark II de 2 partes, casco y pulsera unidos por cadena que Conduce El Cableado, alimentado por 4 AA AA -ubicadas en la parte posterior junto al microcontrolador y el switch de encendido.Casco: Servomotores para el cierre y apert
Turvallisuus ensimmäinen kypärä Circuit Playground Expressillä: 10 vaihetta
Turvallisuus ensimmäinen kypärä Circuit Playground Expressillä: Oletko koskaan käynyt pyöräretkellä ja huolissasi siitä, että otat kätesi pois ohjaustangosta ilmoittaaksesi mihin suuntaan käännyt? Nyt tämä pelko voi olla menneisyydessä! Tämä opetusohjelma näyttää, miten voit luoda handsfree-kypärän vilkkujärjestelmän käyttämällä C
Aurinkokäyttöinen kypärä LED -valo: 3 vaihetta
Aurinkovoimalla toimiva kypärän led -valo: tein aurinkoenergialla ladatun kypärän valon käyttämällä vain saatavilla olevia HOME -komponentteja! Tätä voidaan käyttää kaikentyyppisissä kypärissä, metsästyksessä tai kalastuksessa tai selviytymisskenaarioissa jne. UUSI VIHREÄ! Marokosta < 3
Voice Changer Hack DIY Synthsille: 9 vaihetta (kuvilla)
Voice Changer Hack DIY Synthsille: Niille, jotka ovat seuranneet viimeisimpiä "ibles" - tiedätte, että olen rakentanut muutaman 555 ajastinsyntetin myöhään. Äskettäin matkalla paikalliseen kierrätysvarastoon löysin lasten äänenvaihtajan. Se on tyyppi, jossa puhut mikiksi
Project 2 Smart-kypärä: 6 vaihetta (kuvilla)
Projekti 2 Smart-kypärä: Meidän, Benoot Svenin, Staelens Lennertin ja Dujardin Laurensin, piti tehdä projekti kouluun. Meidän oli työskenneltävä yhdessä IPO: n (Industrial Product Design) opiskelijan kanssa. Hän keksi idean tehdä älykäs moottoripyöräkypärä. Hän on suunnitellut