Orodha ya maudhui:
- Hatua ya 1: Uendeshaji wa Mtumiaji wa Sequencer ya dijiti
- Hatua ya 2: Maelezo ya Kiufundi
- Hatua ya 3: Maelezo ya Kiufundi
- Hatua ya 4: Sehemu-7 ya Mgawanyiko wa Saa
- Hatua ya 5: Beats Kwa Dakika Mgawanyaji wa Saa
- Hatua ya 6: Viwanja vya saa vinagawa saa
- Hatua ya 7: Cheza / Sitisha / Chagua Mashine ya Jimbo
- Hatua ya 8: Cheza / Sitisha / Chagua Mashine ya Jimbo
- Hatua ya 9: Pato la FSM
- Hatua ya 10: Pato la FSM
- Hatua ya 11: Kumbuka Agiza
- Hatua ya 12: Chagua Pato
- Hatua ya 13: Mganda wa Mraba Gen
- Hatua ya 14: Uonyesho wa sehemu 7
- Hatua ya 15: Chagua Mwisho
- Hatua ya 16: Vifaa vya nje: DAC
- Hatua ya 17: Vifaa vya nje: Spika
- Hatua ya 18: Maonyesho ya Video
- Hatua ya 19: Nambari ya VHDL
Video: 4 Hatua Sequencer Digital: Hatua 19 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
CPE 133, Cal Poly San Luis Obispo
Waundaji wa Mradi: Jayson Johnston na Bjorn Nelson
Katika tasnia ya muziki ya leo, mojawapo ya "vyombo" vya kawaida hutumiwa ni synthesizer ya dijiti. Kila aina ya muziki, kutoka kwa hip-hop hadi pop na hata nchi, hutumia kisanisi cha dijiti katika studio kuunda milio na sauti wanazohitaji kuleta muziki wao. Katika mafunzo haya, tutatengeneza synthesizer rahisi sana na bodi ya Basys 3 FPGA.
Synthesizer itaweza kucheza noti nne za robo zilizochaguliwa kwa idadi ya mara kwa mara ya beats kwa dakika. Watumiaji watatumia swichi kupeana kila noti ya robo kwa uwanja wa muziki. Kwa mradi huu tunatumia dijiti 4 hadi kibadilishaji cha analog (DAC) kuchukua pato kutoka kwa bodi na kuibadilisha kuwa ishara ya analog. Pato kutoka kwa DAC litapewa msemaji wa kawaida wa kompyuta, na kuunda muziki wetu. Viwanja kumi na sita vinawezekana. Tutazuia synthesizer yetu kwa octave moja ya noti 12, ambazo zinaanguka kati ya katikati C (261.6 Hz) na B4 (493.9 Hz). Mtumiaji pia atakuwa na chaguo la kupeana vidokezo vingi kwa wakati mmoja, na vile vile kupeana kupumzika kwa kupiga kugawa wakati hakuna swichi yoyote ya lami iliyohamia juu. Kama kila daftari inachaguliwa na kuchezwa, barua ya barua inaonyeshwa kwenye onyesho la sehemu 7. Tutatumia pia vifungo vitatu kwenye ubao, moja ya kucheza na kusitisha muziki, moja ya kuweka upya synthesizer na kuiweka katika hali ya "uteuzi", na ya tatu kupeana kila nukuu lami wakati wa hali ya uteuzi.
Mara tu mtumiaji anaporidhika na chaguo lao la daftari, na baada ya kubonyeza kitufe cha kucheza, kiunganishi kitacheza kila dokezo mfululizo mfululizo hadi mtumiaji atakapobonyeza kutulia au kuchagua.
Hapa kuna orodha ya vifaa vinavyohitajika:
- Vivado (au nafasi yoyote ya kazi ya VHDL)
- Basys 3 au bodi inayofanana ya FPGA
- Ubadilishaji wa dijiti kwa analog (min. 4-bits)
- Spika na kipaza sauti
- Waya inaongoza
Hatua ya 1: Uendeshaji wa Mtumiaji wa Sequencer ya dijiti
Hatua zifuatazo ni kutumia mfuatano wa dijiti. Mfuatano wa dijiti unasaidia uchezaji wa viwanja 12 tofauti (C, Db, D, Eb, E, F, Gb, G, Ab, A, Bb, B), ambayo ni kati ya 261.6 Hz hadi 493.9 Hz.
1. Bonyeza kitufe cha kushoto ili kuweka ubao katika hali ya uteuzi. Wakati katika hali hii, swichi 4 za kushoto (swichi 13 hadi 16) zitatumika kuhifadhi thamani tofauti ya lami.
2. Ili kufanya uteuzi, badilisha moja ya swichi za kushoto, kisha utumie swichi 4 za kulia (swichi 1 hadi 4) kuchagua lami inayotaka. Lami inayohusishwa na mchanganyiko maalum wa swichi za kulia itaonyeshwa kwenye onyesho la sehemu saba, na onyesho litasasisha kwa lami mpya inayohusiana wakati wowote swichi za kulia zikihamishiwa kwenye mchanganyiko mpya. Pumziko linaweza kupewa kwa kutoweka lami kwa moja ya swichi za kushoto, au kwa kupeana lami iliyoonyeshwa kama 0 kwenye onyesho kwa maandishi. Mara tu uwanja unaotakiwa umepatikana na umeonyeshwa kwenye onyesho, bonyeza kitufe cha chini cha kupeana wigo huo kwa maandishi.
3. Rudia hatua ya 2 kwa vidokezo vitatu vilivyobaki, kwa kupindua kila swichi zilizobaki kushoto moja kwa moja, ukichagua lami sawa na swichi za kulia, na kubonyeza kitufe cha chini ili kutoa sauti kwa maandishi. Vidokezo vingi vinaweza kupewa lami sawa na kuhama zaidi ya swichi za kushoto kwenda juu kwa wakati mmoja.
4. Sasa kwa kuwa viwanja vyote vya maandishi vimepewa, mtiririko wa dijiti uko tayari kucheza. Ili kucheza vidokezo kwenye spika, bonyeza tu kitufe cha kucheza / kitufe cha kulia ili kuanza kucheza muziki. Mpangilio wa mlolongo wa uchezaji unaonyesha viwanja vinavyohusiana na swichi za kushoto, kutoka kushoto kwenda kulia. Vidokezo vitachezwa kwa idadi kadhaa ya viboko kwa dakika, kwa mpangilio wa 1, 2, 3, 4, 1, 2…. Onyesho litaonyesha dokezo ambalo linacheza wakati spika zinacheza muziki. Kusitisha uchezaji wa muziki, bonyeza tu kitufe cha kulia, na kisha muziki utaacha kucheza na alama ya pause itaonyeshwa kwenye onyesho. Kubonyeza kitufe cha kulia tena kutaendelea kucheza.
Hatua ya 2: Maelezo ya Kiufundi
Synthesizer yetu hutumia vifaa vingi tofauti vya dijiti. Imejumuishwa ni mashine za serikali zenye mwisho, rejista, multiplexers, wagawanyaji wa saa na zaidi. Ili kujenga synthesizer yetu, tulitumia faili 10 za kipekee za msimu. Badala ya kufanya kila moduli kuwa sehemu, tulivunja faili za moduli chini kwa kazi. Moduli nyingi, kama matokeo, ni zaidi ya sehemu moja. Kumbuka picha hapo juu inaonyesha kila kizuizi kilichofungwa pamoja katika muundo wetu wa juu.
Tutazungumzia kila moduli kwa kuelezea pembejeo na matokeo, kuvunja vifaa vyake, na kuelezea kusudi lake katika muundo wa jumla. Faili ya ZIP imejumuishwa chini ya inayoweza kufundishwa, ambayo ina kila faili ya nambari ya VHDL inayotumiwa katika mradi huo.
Pembejeo
- Clk (ishara ya saa asili)
- PP (cheza / pumzika)
- Sel (weka synthesizer katika hali ya uteuzi)
- Agiza (weka hatua kwa lami)
- Hatua (maelezo ya nafasi)
- Freq (swichi zinaunda lami inayotakiwa)
Matokeo
- Anode (sehemu 7 za sehemu)
- Cathode (sehemu 7 za cathode)
- DAC (4-bits kuendesha DAC)
Hatua ya 3: Maelezo ya Kiufundi
Hatua ya 4: Sehemu-7 ya Mgawanyiko wa Saa
Synthesizer yetu hutumia vigawaji vitatu vya saa, vyote vinazalisha ishara ambazo hutumikia kusudi tofauti katika mradi wetu. Mgawanyiko wa saa huchukua ishara ya saa ya asili na hutoa ishara iliyobadilishwa ambayo ina masafa ambayo ni chini ya ishara ya saa ya asili. Saa ya asili ya Basys 3 ni 100 MHz. Huu ndio mzunguko ambao wagawanyaji wetu wa saa hutumia. Ikiwa unatumia bodi tofauti ya FPGA na masafa tofauti ya saa asili, itabidi ubadilishe nambari.
Mgawanyiko wa saa-sehemu-7 hutoa ishara ambayo huendesha faili ya seg_display. Tutaelezea jinsi faili hii inafanya kazi kwa undani zaidi tunapofika kwenye sehemu yake. Kwa kweli, msuluhishi wa saa hii hutoa ishara ya Hz 240 ambayo itatumika kubadili kati ya anode na cathode kwenye onyesho. Ishara ni 240 Hz kwa sababu mzunguko ambao jicho la mwanadamu haliwezi kutambua ukosefu wa nuru ni 60 Hz. Tunatumia nambari mbili, kwa hivyo kwa kuzidisha mzunguko huu, kila tarakimu itazunguka kwa 60 Hz. Kisha tunapata mara mbili kupata 240 Hz kwa sababu mfumo unabadilika tu wakati ishara inakwenda juu, sio wakati inakwenda chini.
Ili kufanikisha hili, mgawanyiko huchukua ishara ya asili ya 100 MHz na huhesabu kila makali yanayoinuka. Kaunta inapofikia 416667, pato litatoka chini hadi juu, au kinyume chake.
Pembejeo
Clk (ishara ya saa asili)
Matokeo
Clk_7seg (kwa seg_display)
Vipengele
- D kujiandikisha
- MUX
- Inverter
- Adder
Hatua ya 5: Beats Kwa Dakika Mgawanyaji wa Saa
Mgawanyiko wa saa ya BPM hufanya kazi kwa njia ile ile. Mgawanyiko huu hutoa masafa ya saa ambayo husababisha ubadilishaji kati ya hatua nne wakati wa kutoa tani kwenye hali ya kucheza. Tuliamua kubadili kati ya noti kwa 100 BPM. Katika 100 BPM, kila noti itachezwa kwa 3/5 ya sekunde. Ishara inayosababisha itakuwa na masafa ya 1.67 Hz.
Ili kutoa ishara ya masafa haya, tulitumia tena mfumo wa kuhesabu, lakini wakati huu hesabu ilikuwa milioni 60. Kila wakati kaunta ilipogonga milioni 60, ishara ya pato ingegeuza juu au chini.
Pembejeo
Clk (masafa ya saa asili)
Matokeo
Clk_BPM (kwa pato_FSM)
Vipengele
- D kujiandikisha
- MUX
- Inverter
- Adder
Hatua ya 6: Viwanja vya saa vinagawa saa
Mgawanyaji wa Saa ya Pitches ndiye mkubwa zaidi wa wagawanyaji wetu wa saa. Mgawanyiko huu hutoa ishara 12 tofauti zinazolingana na noti 12 tofauti ambazo synthesizer yetu inaweza kucheza. Kutumia maarifa ya kimsingi ya nadharia ya muziki, tuligundua kuwa kidogo au basi inaweza kusonga kwa kiwango kinacholingana na mzunguko wa noti za muziki. Kuona masafa tuliyotumia, angalia hapa. Tulitumia octave ya nne ya viwanja.
Mfumo huo wa kuhesabu hutumiwa hapa. Kwa maadili maalum tuliyohesabu, angalia faili iliyoandikwa Clk_div_pitches.
Pembejeo
Clk (masafa ya saa asili)
Matokeo
C, Db, D, Eb, E, F, Gb, G, Ab, A, Bb, B (kutoa_kuchagua)
Vipengele
- D kujiandikisha
- MUX
- Inverter
- Adder
Hatua ya 7: Cheza / Sitisha / Chagua Mashine ya Jimbo
Katika mradi wetu kuna mashine mbili za serikali zenye mwisho (FSM). FSM ni kifaa cha mantiki ambacho kinaweza kuwepo katika jimbo moja tu kutoka kwa idadi ndogo ya majimbo. Kutumia FSM, mzunguko wa dijiti unaweza kuhamia hali mpya kulingana na mchanganyiko wa pembejeo. Kutumia mantiki ya kuingiza, hali ya FSM itabadilika wakati kuna makali ya saa. Kutoka kwa hali na pembejeo kwenye mzunguko, unaweza kuunda mantiki ya pato ambayo inatoa matokeo ambayo yapo tu ikiwa FSM iko katika hali fulani.
Mashine ya serikali ya PPS ni FSM ya kwanza katika mzunguko wetu. Kuna majimbo matatu katika FSM hii; Cheza, Sitisha, na Hali ya Uchaguzi. Kupitia majimbo tofauti, tulitumia vifungo vya PP na Uchaguzi. Tazama mchoro wa serikali hapo juu ili uone jinsi mabadiliko kati ya majimbo yanatokea. Tulifanya mabadiliko haya ya FSM kwenye ukingo unaoinuka wa saa ya asili ya 100 MHz, ili iwezekane kwa mashine kutobadilika wakati kifungo kimoja kilibanwa, hata kwa muda mfupi sana. Hali ya sasa (P_state) ndio pato pekee kutoka kwa moduli hii.
Pembejeo
- Clk (masafa ya saa asili)
- Sel (kitufe cha kushoto)
- PP (kitufe cha kulia)
Matokeo
P_state (hali ya sasa, hadi pato_FSM, noti_sign, seg_dsiplay, mwisho_chagua)
Vipengele
- MUX
- D kujiandikisha
Hatua ya 8: Cheza / Sitisha / Chagua Mashine ya Jimbo
Hatua ya 9: Pato la FSM
Hii ni FSM ya pili iliyotajwa katika sehemu iliyopita. FSM hii hufanya kazi tofauti kuliko ile nyingine, lakini msingi wa hii kimsingi ni sawa.
Pato la FSM hufanya kazi tu ikiwa hali ya sasa kutoka FSM ya kwanza ni "01" (hali ya kucheza). Kwa kweli, hii ndiyo kuwezeshwa kwa moduli. Ikiwa hali ni "01", basi FSM itabadilika kati ya majimbo kwenye makali ya kupanda kwa ishara ya saa ya BPM. Tunafanya hivyo kwa sababu pato_FSM inadhibiti ni nambari ipi ya kibinadamu ya uwanja uliochaguliwa hutumwa kwa moduli za pato_chagua na seg_display. FSM ina pembejeo ya 16-bit inayokuja kutoka kwa moduli ya kukabidhi noti, ambayo itafunikwa baadaye. Katika hali ya "00" kwa pato_FSM, moduli itatoa "xxxx" kwa noti ya kwanza iliyopewa. Halafu katika "01", itatoa "yyyy" kwa dokezo la pili na kadhalika kwa kila noti kabla ya kurudi kwa nukuu ya kwanza. Tazama mchoro wa serikali hapo juu.
FSM hii inatofautiana na ya kwanza kwa sababu hakuna mantiki ya kuingiza kudhibiti ubadilishaji kati ya majimbo. Badala yake, FSM itaenda kufanya kazi tu wakati serikali kutoka FSM ya kwanza ni "01", na kisha FSM hii itabadilika kati ya majimbo kwenye makali tu ya ishara ya saa. Tofauti nyingine ni kwamba moduli hii ina mantiki ya pato, ikimaanisha kuwa haitoi hali ya sasa, inatoa idadi ya binary kwa uwanja kwenye jimbo hilo.
Pembejeo
- Clk_BPM (BPM saa ya ishara kutoka kwa msuluhishi wa saa)
- FSM1_state (PS kutoka PPS FSM)
- Pitch_in (viwanja kutoka kwa noti_saini)
Matokeo
Piga_kutoka (lami moja kwa wakati, ili kutoa_chagua na uonyeshe maonyesho)
Vipengele
- MUX
- D kujiandikisha
Hatua ya 10: Pato la FSM
Hatua ya 11: Kumbuka Agiza
Moduli ya kupeana noti inawajibika kwa kupeana lami kwa maandishi, au hatua. Moduli hii ni rahisi sana. Inakagua kwanza ikiwa mzunguko uko katika hali ya "uteuzi" na ikiwa swichi ya hatua (kushoto kidogo) iko juu. Ikiwa hii ni kweli na kitufe cha mgawo kimeshinikizwa, pato la moduli litakuwa sawa na nambari ya binary inayowakilishwa na swichi za masafa (kulia kulia).
Hapo awali, tulijaribu kutengeneza moduli ambayo ingeokoa moja ya ishara ya saa ya lami kwenye pato, lakini tulipata shida na mabadiliko ya pato kufuata ishara za saa ya kuingiza. Hii ndio moduli pekee inayotumiwa zaidi ya mara moja katika muundo wa mwisho. Kila hatua ina moduli ya note_assign inayohusishwa nayo, na kwa sababu hiyo, kila tukio la moduli hupata kidogo ya basi la Hatua.
Pembejeo
- P_state (hali ya sasa kutoka PPS FSM)
- Sel (kitufe cha kushoto)
- Kubadili (kubadili hatua moja)
- Freq (swichi za kulia kulia kwa lami)
- Agiza (kitufe cha chini, weka dokezo)
Matokeo
Piga (nambari ya binary, hadi pato_FSM)
Vipengele
- MUX
- D kujiandikisha
Hatua ya 12: Chagua Pato
Chaguo la matokeo ni jukumu la kuchukua nambari ya binary kwa lami na kuiunganisha kwa ishara yake ya saa. Licha ya saizi yake, hii pia ni moduli rahisi. Output_select kimsingi ni decoder ya binary, ikichagua nambari ya binary kwa lami kwa ishara maalum ya saa. Kwa kweli kupeana pato kwa masafa ya saa kulifanya kazi vizuri hapa ikilinganishwa na moduli ya note_assign, kwa sababu moduli hii yote ilibidi kufanya ni MUX ishara za saa na nambari ya binary inayowakilisha pembejeo ya kudhibiti.
Tunaomba radhi kwa njia isiyo ya kawaida, Vivado alipanga ishara za lami kwa faili ya clk_div_pitches, lakini kwa faili hii iliwapanga kwa kupanda kwa nambari ya binary, na kusababisha viwanja kuwa katika mpangilio tofauti. Pia kumbuka kuwa ikiwa nambari ya binary kutoka kwa pato_FSM ilikuwa "0000" au kitu chochote kikubwa kuliko "1100", basi MUX ilituma kupitia ishara gorofa ya '0'.
Ingizo
- Piga (kutoka pato_FSM);
- C, Db, D, Eb, E, F, Gb, G, Ab, A, Bb, B (ishara za saa ya lami)
Pato
Toni (kidogo moja ambayo inalingana na ishara ya saa iliyochaguliwa, kwa mraba_wave)
Vipengele
MUX
Hatua ya 13: Mganda wa Mraba Gen
Moduli ya mraba_wave ni jenereta ya wimbi la mraba ambalo hutolewa kutoka kwa bodi kwenda kwa DAC. Kutumia ishara ya toni kutoka kwa faili iliyotangulia, mraba_wave hii inabadilisha nambari 4 kati ya "0000" na "1111" kwenye ukingo unaoinuka wa Toni. Toni ni mzunguko maalum wa lami, kwa hivyo mraba_wave hutoa wimbi na masafa tofauti wakati pato_FSM inabadilika kwenda hali nyingine. Pato la 4-bit kutoka kwa moduli hii huenda kwa moduli ya fin_sel, ambapo mantiki inaamuru ikiwa basi hii itatolewa kulingana na serikali kutoka PPS FSM.
Njia mbadala ya jenereta hii ya mraba inazalisha wimbi la sine. Ingawa hii ingeweza kutoa sauti bora ya mwisho, ni ngumu sana kutekeleza, kwa hivyo tuliamua kutoa wimbi la mraba.
Pembejeo
Toni
Matokeo
Pembejeo la DAC_ (oscillating 4-bit bus that changes in the same frequency of tone)
Vipengele
- Inverter
- D kujiandikisha
Hatua ya 14: Uonyesho wa sehemu 7
Moduli ya seg_display inadhibiti onyesho la sehemu 7 kwenye bodi yetu ya basys. Ndani ya moduli, michakato miwili hufanyika. Mchakato wa kwanza huamua Freq wakati uko katika hali ya "uteuzi" au Pitch wakati uko katika "kucheza" mode. Katika hali ya "pause", moduli huamua kuonyesha alama ya pause. Kuangalia nambari ya VHDL, unaweza kuona kwamba kificho cha binary huamua kweli pembejeo katika ishara mbili tofauti, cathode1 na cathode2. Cathode1 inawakilisha barua inayolingana na lami kuonyeshwa, na cathode2 inawakilisha alama ya gorofa (b) ikiwa kuna moja. Sababu ya hii inahusiana na mchakato wa pili uliofanywa na moduli ya seg_display.
Kwenye ubao wa basys3, onyesho la sehemu lina cathode za kawaida. Wakati anodes inadhibiti ni nambari gani imewashwa, cathode hudhibiti sehemu ambazo zimewashwa. Kwa kuwa onyesho lina cathode za kawaida, hiyo inamaanisha unaweza kuonyesha seti moja tu ya sehemu kwa wakati. Hiyo inaleta swala kwa mradi huu kwa sababu tunataka kuonyesha barua kwa nambari ya kwanza na alama ya gorofa, ikiwa ni lazima, wakati huo huo. Sasa kumbuka ishara ya saa 7seg? Ili kuzunguka suala hili, tunabadilisha anode na cathode kurudi na kurudi kwenye ishara ya saa 7seg. Kwa sababu ishara ya saa ni 240 Hz na tunatumia nambari mbili, kila tarakimu itateleza kwa 60 Hz. Kwa jicho la mwanadamu, itaonekana kama tarakimu hazichangamshi hata kidogo.
Pia kumbuka kuwa onyesho la bodi ya basys3 hutumia mantiki hasi. Hii inamaanisha ikiwa anode au cathode imewekwa kuwa '0', nambari hiyo au sehemu hiyo itawashwa, na kinyume chake.
Pembejeo
- Piga (nambari ya binary kwa dokezo, inayotumika katika hali ya kucheza)
- Freq (swichi za masafa, zinazotumiwa wakati wa hali ya uteuzi)
- P_state (hali ya sasa kutoka PPS FSM)
- Clk_240Hz (ishara ya saa kutoka Clk_div_7seg, mara mbili 120 kwa sababu tunatumia tu makali inayoinuka)
Matokeo
- Cathode (basi inayodhibiti sehemu kwenye onyesho, pato la mwisho)
- Anode (basi inayodhibiti tarakimu kwenye onyesho, pato la mwisho)
Vipengele
- Mchoro
- MUX
- D kujiandikisha
Hatua ya 15: Chagua Mwisho
Chaguo la mwisho ni moduli ya mwisho inayotumiwa katika mradi huu. Moduli nyingine rahisi, moduli hii inadhibiti matokeo ya mwisho ambayo yatakwenda kwa DAC. Wakati wa hali ya "uteuzi" au "pause", moduli itatoa "0000" tuli ili hakuna muziki utakaochezwa kutoka kwa spika. Katika hali ya "uchezaji", moduli itatoa bits 4 zinazosonga kama inavyoamuliwa na mraba_wave.
Pembejeo
- P_state (hali ya sasa kutoka PPS FSM)
- Pembejeo la DAC_ (kusongesha-4-bits kutoka mraba_wave)
Matokeo
DAC (sawa na DAC_ pembejeo katika hali ya kucheza, pato la mwisho)
Vipengele
MUX
Hatua ya 16: Vifaa vya nje: DAC
Digital kwa kibadilishaji cha analog (DAC) huchukua ishara tofauti na kuibadilisha kuwa ishara inayoendelea. DAC yetu ina bits nne na imetengenezwa kutoka kwa kipaza sauti. Kwa kutumia uwiano wa vipingaji katika kitanzi cha usambazaji na maoni, tuliweza kuunda mfumo ambao unatoa matokeo katika viwango 16 tofauti iliyoundwa na "muhtasari" wa kila tawi. Bit0, tawi la juu, hubeba uzito mdogo na inachangia uwezo mdogo zaidi ikiwa juu kwa sababu ya matawi hayo upinzani mkubwa. Uzito huongezeka unapoenda chini ya matawi. Ikiwa ungehesabu kwa binary juu na kisha kurudi chini ukitumia pembejeo kidogo, voltages za pato zingeonekana kama wimbi la busara la sine. Uingizaji kwa DAC uliunganishwa na moja ya PMOD kwenye bodi kuhamisha ishara ya 4-bit.
Awali DAC ilikusanywa kwa darasa la Uhandisi wa Umeme na ilitengenezwa na kuuzwa na sisi, haikununuliwa kutoka duka. Hapo juu ni picha ya faili ya muundo wa kuunda bodi ya mzunguko iliyochapishwa.
Hatua ya 17: Vifaa vya nje: Spika
Kwa mradi huu, hautataka kununua jozi nzuri za spika. Kama unaweza kusema, sauti ni ya msingi sana. Tulikwenda na kununua seti ya $ 8 ya spika za kompyuta kutoka Best Buy. Chochote kilicho na kipaza sauti kinafanya kazi vizuri. Monotone inafanya kazi vizuri pia. Unaweza hata kutumia vichwa vya sauti, lakini unaweza kuzilipua!
Ili kuunganisha pato la DAC kwa spika, tulitumia nyaya za kuruka na kisha kushikilia kebo ya pato kwa ncha ya kichwa cha kichwa na kebo ya chini hadi chini. Tulijaribu kutumia mkanda wa umeme kushikilia nyaya mahali, lakini ilisababisha usumbufu mwingi. Kujaribu mtindo tofauti wa mkanda kunaweza kutatua suala hili.
Kwa spika zetu, tuliwageukia mpangilio wa hali ya juu na tukapata kelele kali nzuri.
Na hiyo ni hatua ya mwisho ya kuunda mfuatano wa dijiti kutoka bodi ya FPGA! Nenda kwa sehemu mbili zifuatazo kupakua nambari yetu yote ya VHDL na uone sequencer ikifanya kazi.
Hatua ya 18: Maonyesho ya Video
Video hii inaonyesha toleo la mwisho la mradi unaofanya kazi, pamoja na mchakato wa kupeana swichi kwa viwanja 4 tofauti, na spika zinazocheza noti husika.
Hatua ya 19: Nambari ya VHDL
Hapa kuna nambari ya mradi mzima, pamoja na kikwazo na faili za sim zinazotumiwa wakati wa kujenga sequencer. Kumbuka kuwa faili za muundo zisizotumiwa zinasema hivyo katika usanifu.
Ilipendekeza:
Arduino MIDI Rhythm Sehemu Sequencer: Hatua 8 (na Picha)
Arduino MIDI Rhythm Sehemu Sequencer: Kuwa na mashine nzuri ya ngoma ni rahisi na bei rahisi leo lakini kutumia panya huua raha kwangu. Hii ndio sababu niligundua kile hapo awali kilikusudiwa kama safu safi ya hatua ya vifaa vya MIDI yenye uwezo wa kuchochea hadi ngoma 12 tofauti za elem
Sambamba Sequencer Synth: Hatua 17 (na Picha)
Sambamba Sequencer Synth: Huu ni mwongozo wa kuunda mpangilio rahisi. Sequencer ni kifaa ambacho hutengeneza mfululizo wa hatua ambazo huendesha oscillator. Kila hatua inaweza kupewa toni tofauti na kwa hivyo kuunda mlolongo wa kupendeza au athari za sauti.
Sequencer Rahisi: Hatua 16 (na Picha)
Sequencer Rahisi: Moja ya funguo za kufanya muziki mzuri ni kurudia bila akili. Hiyo ni nini sequencer rahisi ni nzuri. Inafanya kitu kimoja tena na tena katika mlolongo wa manukuu nane. Unaweza kurekebisha mzunguko wa daftari, muda wa dokezo na
Console ya Atari Punk Na Mtoto 8 Sequencer ya Hatua: Hatua 7 (na Picha)
Atari Punk Console Pamoja na Mtoto 8 Sequencer ya Hatua: Ujenzi huu wa kati ni wa Atari Punk Console wote na Baby 8 Step Sequencer unaweza kusaga kwenye Bantam Tools Desktop PCB Milling Machine. Imeundwa na bodi mbili za mzunguko: moja ni bodi ya kiolesura cha mtumiaji (UI) na nyingine ni shirika la matumizi
Steam Punk Digital 8 "Picha ya Picha: Hatua 13 (na Picha)
Steam Punk Digital 8 "Picha ya Picha: Hii inaweza kufundisha muundo wa picha ndogo ya picha ya dijiti katika mtindo wa punk ya mvuke. Sura hiyo inaendeshwa na modeli ya rasipiberi pi B +. Vipimo vyake ni 8 tu ndani na itakuwa sawa vizuri sana kwenye dawati ndogo au rafu.Katika yangu