Sisällysluettelo:

Spartan Voice Changer Kypärä: 14 vaihetta (kuvilla)
Spartan Voice Changer Kypärä: 14 vaihetta (kuvilla)

Video: Spartan Voice Changer Kypärä: 14 vaihetta (kuvilla)

Video: Spartan Voice Changer Kypärä: 14 vaihetta (kuvilla)
Video: Poliisi niputtaa laitosjonnen 2024, Marraskuu
Anonim
Spartan Voice Changer Kypärä
Spartan Voice Changer Kypärä
Spartan Voice Changer Kypärä
Spartan Voice Changer Kypärä

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

Vaatimukset 1/3 - Laitteisto
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

Vaatimukset 2/3 - Piirisi komponentit
Vaatimukset 2/3 - Piirisi komponentit
Vaatimukset 2/3 - Piirisi komponentit
Vaatimukset 2/3 - Piirisi komponentit
Vaatimukset 2/3 - Piirisi komponentit
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

Vaatimukset 3/3 - Ohjelmisto
Vaatimukset 3/3 - Ohjelmisto
Vaatimukset 3/3 - Ohjelmisto
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

Tulopiiri
Tulopiiri
Tulopiiri
Tulopiiri
Tulopiiri
Tulopiiri
Tulopiiri
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

Lähtöpiiri
Lähtöpiiri
Lähtöpiiri
Lähtöpiiri
Lähtöpiiri
Lähtöpiiri
Lähtöpiiri
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

[VALINNAINEN] Piirilevyn Boradin ja juotoskomponenttien luominen
[VALINNAINEN] Piirilevyn Boradin ja juotoskomponenttien luominen
[VALINNAINEN] Piirilevyn Boradin ja juotoskomponenttien luominen
[VALINNAINEN] Piirilevyn Boradin ja juotoskomponenttien luominen
[VALINNAINEN] Piirilevyn Boradin ja juotoskomponenttien luominen
[VALINNAINEN] Piirilevyn Boradin 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

SoC -asetukset
SoC -asetukset
SoC -asetukset
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

Ohjelmointi C HPS
Ohjelmointi C HPS

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

ADC: n digitaalinen hankinta kortilta
ADC: n digitaalinen hankinta kortilta
ADC: n digitaalinen hankinta kortilta
ADC: n digitaalinen hankinta kortilta
ADC: n digitaalinen hankinta kortilta
ADC: n digitaalinen hankinta kortilta
ADC: n digitaalinen hankinta kortilta
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

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

Näytetään FFT
Näytetään FFT
Näytetään FFT
Näytetään FFT

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

Kokoonpano
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.

  1. Tulopiiri lähettää mikrofonin sieppaaman audiosignaalin vahvistettuna, suodatettuna ja offsetina.
  2. 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.
  3. Sitten SPI: n lähtö GPIO lähettää tiedot, jotka DAC -laitteemme dekoodaa ja vahvistetaan juoksemalla päästäkseen kaiuttimeen.

Vaihe 13: Äänitehosteet

Ääniefektit
Ääniefektit
Ääniefektit
Ääniefektit

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

[VALINNAINEN] Kypärän valmistus
[VALINNAINEN] Kypärän valmistus
[VALINNAINEN] Kypärän valmistus
[VALINNAINEN] Kypärän valmistus
[VALINNAINEN] Kypärän valmistus
[VALINNAINEN] Kypärän valmistus

Tässä olemme projektin manuaalisimmassa vaiheessa:

  1. Ensin liimasimme kypärän eri 3D -tulostetut osat.
  2. Liimapalojen välisten aukkojen täyttämiseksi lisäsimme viimeistelyn 3D -kynällä.
  3. Kiillotimme kynällä ja kypärällä täytetyt välit niin, että maalaus pysyy hyvin jälkeenpäin.
  4. Maalasimme kypärän kahdella kerroksella: ensimmäinen antrasiittimustalla, läheltä ja toinen päävihreällä kauemmas antaakseen tummemman vihreän sävyjä.
  5. Lopuksi painoimme koulumme logon kypärän kylkeen

Suositeltava: