Obsah:

Syntezátor laserovej harfy na doske Zybo: 10 krokov (s obrázkami)
Syntezátor laserovej harfy na doske Zybo: 10 krokov (s obrázkami)

Video: Syntezátor laserovej harfy na doske Zybo: 10 krokov (s obrázkami)

Video: Syntezátor laserovej harfy na doske Zybo: 10 krokov (s obrázkami)
Video: ПЛАНКА - На грани болевого порога (Hardstyle Remix) 2024, Júl
Anonim
Syntezátor laserovej harfy na doske Zybo
Syntezátor laserovej harfy na doske Zybo

V tomto návode vytvoríme plne funkčnú laserovú harfu pomocou IR senzorov so sériovým rozhraním, ktoré používateľovi umožní zmeniť ladenie a tón nástroja. Táto harfa bude remakom starodávneho nástroja v 21. storočí. Systém bol vytvorený pomocou vývojovej dosky Xilinx Zybo spolu s Vivado Design Suites. Čo budete potrebovať na dokončenie projektu:

  • 12 IR senzorov a žiaričov (v závislosti od počtu reťazcov je možné použiť viac alebo menej)
  • Vývojová doska Zybo Zynq-7000
  • RTOS zadarmo
  • Suita Vivado Design Suite
  • Vodič (na pripojenie senzorov k doske)
  • 3 kusy PVC rúrky ((2) 18 palcov a (1) 8 palcov)
  • 2 kolená z PVC

Krok 1: Získajte zvukovú ukážku Zybo DMA od spoločnosti Digilent

Stránka FPGA tohto projektu je do značnej miery založená na demo projekte, ktorý sa tu nachádza. Využíva priamy prístup do pamäte na odosielanie údajov priamo z pamäte, do ktorých môže procesor zapisovať cez AXI Stream do zvukového bloku I2S. Nasledujúce kroky vám pomôžu spustiť a spustiť zvukový demo projekt DMA:

  1. Môže byť potrebná nová verzia súboru dosky pre dosku Zybo. Pri získavaní nových súborov dosky pre Vivado postupujte podľa týchto pokynov.
  2. Podľa pokynov 1 a 2 v pokynoch na tejto stránke otvorte demo projekt vo Vivado. Použite metódu Vivado, nie odovzdávanie hardvéru SDK.
  3. Môžete dostať správu, ktorá hovorí, že niektoré z vašich blokov IP by mali byť aktualizované. Ak je to tak, zvoľte „Zobraziť stav IP“a potom na karte Stav IP vyberte všetky zastarané IP a kliknite na „Inovácia vybratá“. Keď skončí, objaví sa okno s otázkou, či chcete generovať výstupný produkt, pokračujte a kliknite na „Generovať“. Ak dostanete kritickú výstražnú správu, ignorujte ju.
  4. Zdrojové súbory zobrazíte prepnutím z dizajnu na kartu zdrojov vo Vivado. Pravým tlačidlom myši kliknite na dizajn bloku „design_1“a zvoľte „Vytvoriť obal HDL“. Po zobrazení výzvy vyberte „kopírovaním generovaný obal, aby bolo možné vykonávať úpravy“. Vygeneruje sa obalový súbor pre projekt.
  5. Teraz, keď sú dokončené tie kritické kroky, ktoré boli v inom návode akosi vynechané, môžete sa vrátiť k predtým prepojenému tutoriálu a pokračovať od kroku 4 do konca a uistiť sa, že demo projekt funguje správne. Ak nemáte spôsob, akým by ste mohli nahrávať zvuk, nahrajte ho so slúchadlami a počúvajte 5-10 sekundový rozmazaný zvuk po stlačení tlačidla prehrávania. Pokiaľ niečo vychádza z konektora pre slúchadlá po stlačení tlačidla prehrávania, pravdepodobne to funguje správne.

Krok 2: Vykonajte vo Vivado nejaké zmeny

Vykonajte vo Vivado nejaké zmeny
Vykonajte vo Vivado nejaké zmeny

Takže teraz máte spustenú zvukovú ukážku DMA od spoločnosti Digilent, ale tu to vôbec nie je konečným cieľom. Musíme sa teda vrátiť k Vivadu a vykonať niekoľko zmien, aby naše senzory mohli byť zapojené do hlavičiek PMOD a aby sme ich hodnotu mohli použiť na softvérovej stránke.

  1. Otvorte blokový diagram vo Vivado
  2. Vytvorte blok GPIO kliknutím pravým tlačidlom myši na prázdne miesto v blokovom diagrame a výberom položky „Pridať IP“z ponuky. Nájdite a zvoľte „AXI GPIO“.
  3. Dvakrát kliknite na nový blok IP a v okne na prispôsobenie adresy IP prejdite na kartu Konfigurácia adresy IP. Vyberte všetky vstupy a nastavte šírku na dvanásť, pretože na harfe budeme mať 12 „strún“, a preto potrebujeme 12 senzorov. Ak chcete použiť menej alebo viac senzorov, upravte toto číslo zodpovedajúcim spôsobom. Tiež nastavte povoliť prerušenie.
  4. Kliknite pravým tlačidlom myši na nový blok GPIO IP a zvoľte „spustiť automatizáciu pripojenia“. Začiarknite políčko AXI a kliknite na tlačidlo OK. Tým by sa malo automaticky pripojiť rozhranie AXI, ale výstupy bloku by mali byť nepripojené.
  5. Aby ste uvoľnili miesto pre ďalšie prerušenie, dvakrát kliknite na blok IP xlconcat_0 a zmeňte počet portov zo 4 na 5. Potom môžete pripojiť pin ip2intc_irpt z nového bloku GPIO k novému nepoužívanému portu v bloku xlconcat.
  6. Pravým tlačidlom myši kliknite na výstup „GPIO“nového bloku GPIO IP a zvoľte „vytvoriť externý“. Zistite, kam vedie čiara, a kliknite na malý bočný päťuholník a vľavo by sa malo otvoriť okno, v ktorom môžete zmeniť názov. Zmeňte názov na „SENZORY“. Ak chcete, aby súbor obmedzení, ktorý poskytujeme, fungoval, je dôležité použiť rovnaký názov. V opačnom prípade budete musieť zmeniť názov v súbore obmedzení.
  7. Späť na karte zdrojov nájdite súbor obmedzení a nahraďte ho tým, ktorý poskytujeme. Môžete sa rozhodnúť súbor buď nahradiť, alebo len skopírovať obsah nášho súboru s obmedzeniami a prilepiť ho k obsahu starého. Jednou z dôležitých vecí, ktoré náš súbor obmedzení robí, je povoliť výsuvné odpory v hlavičkách PMOD. Je to nevyhnutné pre konkrétne senzory, ktoré sme použili, nie všetky senzory sú však rovnaké. Ak vaše senzory vyžadujú odpínače pulldown, môžete zmeniť každú inštanciu „set_property PULLUP true“pomocou „set_property PULLDOWN true“. Ak vyžadujú inú hodnotu odporu, ako je hodnota na doske, môžete tieto riadky odstrániť a použiť externé odpory. Názvy pinov sú v komentároch v súbore obmedzení a zodpovedajú štítkom v prvom diagrame v Zybo Schematics stránku, ktorú nájdete tu. Ak chcete použiť rôzne piny pmod, stačí schematicky priradiť názvy v súbore obmedzení k menovkám. Používame záhlavie PMOD JE a JD a na každom používame šesť dátových pinov, pričom piny 1 a 7 vynechávame. Tieto informácie sú dôležité pri pripájaní senzorov. Ako je schematicky znázornené, kolíky 6 a 12 na PMODS sú VCC a kolíky 5 a 11 sú uzemnené.
  8. Obnovte obálku HDL ako predtým a skopírujte a prepíšte starý. Keď je to hotové, vygenerujte bitstream a exportujte hardvér ako predtým a znova spustite súpravu SDK. Ak sa vás opýta, či chcete nahradiť starý súbor hardvéru, odpoveď je áno. Pri exportovaní hardvéru je pravdepodobne najlepšie mať súpravu SDK zatvorenú, aby sa dala správne nahradiť.
  9. Spustite súpravu SDK.

Krok 3: Spustite FreeRTOS

Ďalším krokom je spustenie FreeRTOS na doske Zybo.

  1. Ak ešte nemáte kópiu, stiahnite si FreeRTOS tu a rozbaľte súbory.
  2. Importujte ukážku FreeRTOS Zynq umiestnenú na adrese FreeRTOSv9.0.0 / FreeRTOS / Demo / CORTEX_A9_Zynq_ZC702 / RTOSDemo. Proces importu je do značnej miery rovnaký ako v prípade iného demo projektu, ale pretože ukážka FreeRTOS Zynq závisí od iných súborov v priečinku FreeRTOS, nemali by ste súbory kopírovať do pracovného priestoru. Namiesto toho by ste mali do priečinka s projektom umiestniť celý priečinok FreeRTOS.
  3. Vytvorte nový balík podpory pre dosku tak, že prejdete na „súbor“-> „nový“-> „balík podpory pre dosku“. Uistite sa, že je vybratá samostatná položka, a kliknite na tlačidlo Dokončiť. Po chvíli sa zobrazí okno, začiarknite políčko vedľa položky lwip141 (zastaví sa tým zlyhanie kompilácie jedného z ukážok FreeRTOS) a kliknite na tlačidlo OK. Po dokončení kliknite pravým tlačidlom myši na projekt RTOSdemo a prejdite na položku „Vlastnosti“, prejdite na kartu „Referencie na projekty“a začiarknite políčko vedľa nového vytvoreného súboru bsp. Našťastie to bude rozpoznané, ale niekedy môže byť sada Xilinx SDK v tejto veci divná. Ak sa vám aj po tomto kroku stále zobrazuje chyba, že xparameters.h chýba alebo niečo podobné, skúste tento krok zopakovať a možno ukončiť a znova spustiť súpravu SDK.

Krok 4: Pridajte kód laserovej harfy

Teraz, keď je importovaný FreeRTOS, môžete súbory z projektu laserovej harfy preniesť do ukážky FreeRTOS

  1. V ukážke FreeRTOS vytvorte nový priečinok pod priečinkom src a skopírujte a prilepte všetky poskytnuté súbory c okrem main.c do tohto priečinka.
  2. Vymeňte RTOSDemo main.c za dodaný main.c.
  3. Ak je všetko vykonané správne, v tomto mieste by ste mali mať možnosť spustiť kód laserovej harfy. Na testovacie účely sa teraz tlačidlový vstup, ktorý bol použitý v demo projekte DMA, používa na prehrávanie zvukov bez pripojených senzorov (akékoľvek zo štyroch hlavných tlačidiel bude fungovať). Pri každom stlačení prehrá strunu a pri viacerých stlačeniach prejde všetkými reťazcami v systéme. Pripojte niektoré slúchadlá alebo reproduktory do konektora pre slúchadlá na doske Zybo a uistite sa, že budete počuť zvuky strún, ktoré prechádzajú, keď stlačíte tlačidlo.

Krok 5: O kódexe

Mnohí z vás, ktorí čítajú tento návod, sa tu pravdepodobne dozvedia, ako nastaviť zvuk alebo použiť DMA na niečo iné alebo na vytvorenie iného hudobného nástroja. Z tohto dôvodu sa niekoľko nasledujúcich sekcií venuje popisu toho, ako poskytovaný kód funguje v spojení s hardvérom opísaným vyššie na získanie funkčného zvukového výstupu pomocou DMA. Ak chápete, prečo sú tam kódy, mali by ste byť schopní ich prispôsobiť čomukoľvek, čo chcete vytvoriť.

Preruší

Najprv spomeniem, ako sa v tomto projekte vytvárajú prerušenia. Urobili sme to tak, že sme najskôr vytvorili štruktúru vektorovej tabuľky prerušení, ktorá pre každé prerušenie sleduje ID, obslužný program prerušenia a odkaz na zariadenie. ID prerušenia pochádza z xparameters.h. Obsluha prerušenia je funkcia, ktorú sme napísali pre DMA a GPIO, a prerušenie I2C pochádza z ovládača Xlic I2C. Referencia zariadenia odkazuje na inštancie každého zariadenia, ktoré inicializujeme inde. Blízko konca funkcie _init_audio prechádza slučka každou položkou v tabuľke vektorov prerušení a volá dve funkcie, XScuGic_Connect () a XScuGic_Enable () na pripojenie a povolenie prerušenia. Odkazujú na xInterruptController, čo je radič prerušenia vytvorený v predvolenom nastavení vo FreeRTOS main.c. V zásade teda pripájame každé naše prerušenie k tomuto radiču prerušenia, ktorý pre nás už vytvoril FreeRTOS.

DMA

Inicializačný kód DMA začína v lh_main.c. Najprv je deklarovaná statická inštancia štruktúry XAxiDma. Potom sa nakonfiguruje vo funkcii _init_audio (). Najprv sa vyvolá funkcia configure z demo projektu, ktorá je v dma.c. Je to veľmi dobre zdokumentované a pochádza to priamo z ukážky. Potom sa prerušenie pripojí a povolí. Pre tento projekt je požadované iba prerušenie master-to-slave, pretože všetky dáta sú odosielané DMA do regulátora I2S. Ak chcete nahrávať zvuk, budete potrebovať aj prerušenie slave-to-master. Prerušenie typu master-slave sa zavolá, keď DMA dokončí odosielanie všetkých údajov, ktoré ste mu odoslali. Toto prerušenie je pre náš projekt mimoriadne dôležité, pretože zakaždým, keď DMA dokončí odoslanie jednej vyrovnávacej pamäte zvukových vzoriek, musí okamžite začať odosielať ďalšiu vyrovnávaciu pamäť, inak by medzi odoslaním mohlo dôjsť k počuteľnému oneskoreniu. Vnútri funkcie dma_mm2s_ISR () vidíte, ako zvládame prerušenie. Dôležitá časť je blízko konca, kde používame xSemaphoreGiveFromISR () a portYIELD_FROM_ISR () na upozornenie _audio_task (), že môže začať ďalší prenos DMA. Spôsob, akým odosielame konštantné zvukové údaje, je striedanie dvoch vyrovnávacích pamätí. Keď sa jedna vyrovnávacia pamäť prenáša do bloku I2C, v druhej vyrovnávacej pamäti sa vypočítajú a uložia jej hodnoty. Potom, keď prerušenie príde z DMA, prepne sa aktívny buffer a začne sa prenášať novšie zapísaný buffer, zatiaľ čo predtým prenesený buffer sa začne prepísať novými údajmi. Kľúčovou súčasťou funkcie _audio_task je miesto, kde sa volá fnAudioPlay (). fnAudioPlay () preberá inštanciu DMA, dĺžku vyrovnávacej pamäte a ukazovateľ na vyrovnávaciu pamäť, z ktorej sa budú prenášať údaje. Do registrov I2S sa odošle niekoľko hodnôt, aby bolo známe, že prichádzajú ďalšie vzorky. Potom sa zavolá XAxiDma_SimpleTransfer () na spustenie prenosu.

Zvuk I2S

audio.c a audio.h sú miestom, kde prebieha inicializácia I2S. Inicializačný kód I2S je celkom bežný kus kódu, ktorý sa vznáša na mnohých miestach. Môžete nájsť mierne variácie z iných zdrojov, ale tento by mal fungovať. Je to celkom dobre zdokumentované a pre harfový projekt toho netreba veľa meniť. Zvukové demo DMA, z ktorého pochádza, má funkcie na prepínanie na mikrofónové alebo linkové vstupy, takže ich môžete použiť, ak túto funkciu potrebujete.

Syntéza zvuku

Aby som popísal, ako funguje zvuková syntéza, uvediem zoznam všetkých zvukových modelov použitých pri vývoji, ktoré viedli k konečnej metóde, pretože vám poskytne predstavu o tom, prečo sa to robí tak, ako sa to robí.

Metóda 1: Jedna perióda sínusových hodnôt sa vypočíta pre každý reťazec na zodpovedajúcej frekvencii pre hudobnú notu tohto reťazca a uloží sa do poľa. Napríklad dĺžka poľa bude obdobím sínusovej vlny vo vzorkách, čo sa rovná # vzoriek / cyklus. Ak je vzorkovacia frekvencia 48 kHz a frekvencia noty je 100 Hz, potom 48 000 vzoriek za sekundu a 100 cyklov za sekundu vedie k 4800 vzorkám na cyklus a dĺžka poľa bude 4800 vzoriek a bude obsahovať hodnoty jedného úplného obdobie sínusových vĺn. Pri prehrávaní reťazca sa vyrovnávacia pamäť zvukovej vzorky naplní tak, že sa z poľa sínusových vĺn odoberie hodnota a vloží sa do zvukového vyrovnávacej pamäte ako vzorka, potom sa zvýši index do poľa sínusových vĺn tak, aby sa v priebehu použil náš predchádzajúci príklad. z 4800 vzoriek je jeden cyklus sínusových vĺn vložený do zvukovej vyrovnávacej pamäte. Na indexe poľa sa používa operácia modulo, takže vždy spadá medzi 0 a dĺžku, a keď index poľa prekročí určitý prah (napríklad vzorky s hodnotou približne 2 sekundy), reťazec sa vypne. Ak chcete hrať viac strún súčasne, sledujte oddelene index poľa každého reťazca a sčítajte hodnotu zo sínusovej vlny každého reťazca, aby ste získali každú vzorku.

Metóda 2: Aby sme vytvorili hudobnejší tón, začneme predchádzajúcim modelom a ku každej základnej frekvencii pridáme harmonické. Harmonické frekvencie sú frekvencie, ktoré sú celočíselnými násobkami základnej frekvencie. Na rozdiel od toho, keď sa sčítajú dve nesúvisiace frekvencie, čo vedie k súčasnému prehrávaniu dvoch odlišných zvukov, keď sa sčítajú harmonické, znie to stále len ako jeden zvuk, ale s iným tónom. Aby sme to dosiahli, zakaždým, keď do zvukovej vzorky pridáme hodnotu sínusovej vlny v mieste (index poľa % dĺžky poľa), pridáme tiež (2 * index poľa % dĺžky poľa) a (3 * index poľa % dĺžky poľa), a tak ďalej, napriek tomu je požadovaných veľa harmonických. Tieto vynásobené indexy budú prechádzať sínusovou vlnou na frekvenciách, ktoré sú celočíselnými násobkami pôvodnej frekvencie. Aby bolo možné lepšie ovládať tón, hodnoty každej harmonickej sú násobené premennou, ktorá predstavuje množstvo tejto harmonickej v celkovom zvuku. Napríklad základná sínusová vlna môže mať svoje hodnoty, všetky sú vynásobené 6, aby bol viac faktorom celkového zvuku, zatiaľ čo 5. harmonická môže mať multiplikátor 1, čo znamená, že jeho hodnoty prispievajú k celkovému zvuku oveľa menej.

Metóda 3: Dobre, takže teraz máme veľmi pekný tón v notách, ale stále je tu dosť zásadný problém: hrajú s pevnou hlasitosťou počas fixného trvania. Ak má zvuk znieť ako skutočný nástroj, mala by sa v priebehu času plynule znižovať. Aby sa to dosiahlo, pole je naplnené hodnotami exponenciálne sa rozpadajúcej funkcie. Teraz, keď sa vytvárajú zvukové vzorky, zvuk pochádzajúci z každého reťazca sa vypočíta ako v predchádzajúcej metóde, ale skôr, ako sa pridá do zvukovej vzorky, vynásobí sa hodnotou v indexe poľa týchto reťazcov v poli funkcií exponenciálneho rozpadu. Vďaka tomu sa zvuk v priebehu času hladko rozptýli. Keď index poľa dosiahne koniec poľa rozpadu, reťazec sa zastaví.

Metóda 4: Tento posledný krok je tým, čo skutočne dodáva zvukom strún ich realistický zvuk. Predtým zneli príjemne, ale jasne syntetizovane. Aby sa pokúsili lepšie napodobniť reťazec harfy v reálnom svete, je každej harmonickej priradená iná rýchlosť rozpadu. V skutočných strunách, keď je reťazec prvýkrát vyrazený, existuje vysoký obsah vysokofrekvenčných harmonických, ktoré vytvárajú taký zvuk trhania, aký od struny očakávame. Tieto vysokofrekvenčné harmonické sú veľmi stručne hlavnou časťou zvuku, zvuk struny, na ktorú strieľate, ale veľmi rýchlo sa rozpadajú, pretože pomalšie harmonické zaberajú. Pre každé harmonické číslo použité pri syntéze zvuku je vytvorené pole rozpadu, pričom každé má svoju vlastnú rýchlosť rozpadu. Teraz môže byť každá harmonická nezávisle vynásobená hodnotou zodpovedajúceho poľa jeho rozpadu v indexe poľa reťazca a pridaná k zvuku.

Celkovo je syntéza zvuku intuitívna, ale výpočet náročný. Uloženie celého zvuku reťazca do pamäte by zabralo príliš veľa pamäte, ale výpočet sínusovej vlny a exponenciálnej funkcie medzi každým rámcom by trvalo príliš dlho, kým by ste držali krok s rýchlosťou prehrávania zvuku. Na urýchlenie výpočtu sa v kóde používa niekoľko trikov. Celá matematika, s výnimkou počiatočného vytvorenia sínusových a exponenciálnych rozkladových tabuliek, sa vykonáva vo celočíselnom formáte, ktorý vyžaduje rozloženie dostupného numerického priestoru v 24 -bitovom zvukovom výstupe. Sínusový stôl má napríklad amplitúdu 150, takže je hladký, ale nie taký veľký, aby mnoho spoločne hraných strún mohlo mať viac ako 24 bitov. Podobne sú hodnoty exponenciálnej tabuľky vynásobené 80 a zaokrúhlené na celé čísla a uložené. Harmonické hmotnosti môžu nadobúdať diskrétne hodnoty od 0 do 10. Tiež sú všetky vzorky skutočne zdvojnásobené a sínusové vlny sú indexované číslicami 2, čím sa vzorkovacia frekvencia efektívne zníži na polovicu. To obmedzuje maximálnu frekvenciu, ktorú je možné hrať, ale bolo to nevyhnutné na to, aby sa súčasný počet strún a harmonických vypočítal dostatočne rýchlo.

Vytvorenie tohto zvukového modelu a jeho uvedenie do prevádzky si vyžadovalo značné úsilie na strane procesora a bolo by neuveriteľne ťažké dosiahnuť, aby to fungovalo na strane fpga od začiatku v časovom rámci tohto projektu (predstavte si, že by ste museli znova vytvárať bitový tok každý čas, kedy bol kus verilogu zmenený na testovanie zvuku). Robiť to na fpga by však pravdepodobne mohol byť lepší spôsob, ako to urobiť, prípadne by sa odstránil problém s neschopnosťou vypočítať vzorky dostatočne rýchlo a umožniť spustenie viacerých reťazcov, harmonických a dokonca aj zvukových efektov alebo iných úloh. strana procesora.

Krok 6: Zapojenie senzorov

Zapojenie senzorov
Zapojenie senzorov

Na vytvorenie strún sme použili senzory infračerveného lúča, ktoré detegujú hranie struny. Naše senzory sme si objednali z nasledujúceho odkazu. Senzory majú napájací, uzemňovací a dátový vodič, zatiaľ čo vysielače majú iba napájací a uzemňovací vodič. Na napájanie žiaričov a senzorov sme použili 3,3 V a uzemňovacie kolíky zo záhlavia PMOD. Na napájanie všetkých senzorov a žiaričov je potrebné zapojiť všetky snímače a žiarič paralelne. Dátové vodiče zo senzorov budú musieť každý ísť na svoj vlastný pin pmod.

Krok 7: Konštrukcia kostry

Konštrukcia kostry
Konštrukcia kostry

Aby sa vytvoril tvar harfy, tri kusy sa používajú ako kostra na umiestnenie senzorov a žiaričov. Na jednom z dvoch 18 -palcových kúskov PVC rúrky vyrovnajte senzory a žiariče v striedavom poradí 1,5 palca od seba a potom ich prilepte páskou. Na druhej 18 -palcovej rúre z PVC zarovnajte senzory a žiariče v striedavom poradí, ale uistite sa, že poradie vykompenzujete (t. J. Ak prvé potrubie malo najskôr snímač, druhé by malo mať najskôr emitor a naopak). Na dátové, napájacie a uzemňovacie vodiče bude potrebné spájkovať dlhšie vodiče, aby sa zabezpečilo, že sa dostanú na dosku.

Krok 8: Stavba dreveného exteriéru

Stavba exteriéru z dreva
Stavba exteriéru z dreva

Tento krok je voliteľný, ale dôrazne sa odporúča. Drevený exteriér nielenže vyzerá harfa pekne, ale tiež chráni senzory a vodiče pred poškodením. Drevený rám môže byť vytvorený svätým obdĺžnikovým prstencom z dreva. Vnútorná časť obdĺžnika musí mať otvor najmenej 1-1/2 palca, aby sa zmestil na kostru potrubia a snímača. Akonáhle je rám zostrojený, vyvŕtajte dva otvory, ktoré umožnia prepojiť vodiče zo snímača a žiaričov s doskou.

*Poznámka: Odporúča sa pridať prístupové body, aby bolo možné odstrániť a vložiť kostru potrubia v prípade, že je potrebné vykonať opravu alebo vykonať mierne úpravy.

Krok 9: Spojenie všetkých dielov dohromady

Spojenie všetkých dielov dohromady
Spojenie všetkých dielov dohromady

Keď sú všetky predchádzajúce kroky hotové, je načase zostrojiť harfu. Najprv umiestnite kostru potrubia do dreveného exteriéru. Potom zapojte vodiče pre senzory a žiariče na správne miesto na doske. Potom otvorte súpravu SDK a kliknutím na tlačidlo ladenia naprogramujte dosku. Akonáhle je doska naprogramovaná, zapojte pár slúchadiel alebo reproduktor. V závislosti od toho, v ktorom senzore skončí, v ktorom pmod porte, budú struny vašej harfy pravdepodobne na začiatku nefunkčné. Pretože keď je zapojených toľko drôtov, môže byť ťažké zistiť, ktorý vodič prechádza do ktorého snímača, zahrnuli sme spôsob mapovania čísel reťazcov na prerušenie bitových polôh v softvéri. Nájdite „static int sensor_map [NUM_STRINGS]“a upravte hodnoty v poli, kým sa reťazce neprehrajú od najnižšieho k najvyššiemu v poradí.

Ponuku je možné použiť otvorením sériového terminálu (napr. RealTerm) a nastavením prenosovej rýchlosti na 115200 a zobrazenia na ANSI. V ponuke sa dá pohybovať pomocou klávesov w a s na pohyb hore a dole a pomocou kláves a a d môžete meniť hodnoty.

Krok 10: VYKLIKNITE

Akonáhle je harfa plne funkčná. Ovládajte harfu a počúvajte sladký zvuk svojej vlastnej hudby!

Odporúča: