Cov txheej txheem:

Laser Harp Synthesizer ntawm Zybo Board: 10 Kauj Ruam (nrog Duab)
Laser Harp Synthesizer ntawm Zybo Board: 10 Kauj Ruam (nrog Duab)

Video: Laser Harp Synthesizer ntawm Zybo Board: 10 Kauj Ruam (nrog Duab)

Video: Laser Harp Synthesizer ntawm Zybo Board: 10 Kauj Ruam (nrog Duab)
Video: Laserharp II Jean Michel Jarre 2024, Lub Xya hli ntuj
Anonim
Laser Harp Synthesizer ntawm Zybo Board
Laser Harp Synthesizer ntawm Zybo Board

Hauv qhov kev qhia no peb yuav tsim kom muaj lub ntsej muag ua haujlwm tau zoo siv lub suab IR nrog lub ntsej muag sib luag uas yuav tso cai rau tus neeg siv hloov pauv thiab kho lub suab ntawm lub ntsuas. Cov nkauj no yuav yog lub xyoo pua 21st rov tsim dua tshiab ntawm cov cuab yeej qub. Lub kaw lus tau tsim los siv Xilinx Zybo pawg thawj coj txhim kho nrog rau Vivado Design Suites. Yam koj yuav tsum tau ua kom tiav txoj haujlwm:

  • 12 IR sensors thiab emitters (ntau dua lossis tsawg dua tuaj yeem siv tau nyob ntawm tus naj npawb ntawm cov hlua)
  • Zybo Zynq-7000 pawg thawj coj loj
  • Dawb RTOS
  • Vivado Tsim Suite
  • Hlau (rau txuas cov ntsuas hluav taws xob rau lub rooj tsavxwm)
  • 3 daim PVC yeeb nkab ((2) 18 nti thiab (1) 8 nti)
  • 2 PVC luj tshib

Kauj Ruam 1: Tau Digilent's Zybo DMA Audio Demo

FPGA ib sab ntawm txoj haujlwm no feem ntau yog ua los ntawm qhov project demo pom ntawm no. Nws siv lub cim xeeb nkag mus xa cov ntaub ntawv ncaj qha los ntawm lub cim xeeb uas tus txheej txheem tuaj yeem sau rau tshaj AXI Kwj mus rau I2S audio block. Cov theem hauv qab no yuav pab koj kom tau txais DMA audio demo project nce thiab khiav:

  1. Ib daim ntawv tshiab ntawm cov ntaub ntawv pawg thawj coj saib rau Zybo pawg thawj coj yuav tsim nyog. Ua raws cov lus qhia no kom tau txais cov ntaub ntawv tshiab rau Vivado.
  2. Ua raws cov kauj ruam 1 thiab 2 hauv cov lus qhia ntawm nplooj ntawv no kom tau txais qhov demo project qhib hauv Vivado. Siv Vivado txoj kev, tsis yog siv SDK kho vajtse.
  3. Koj tuaj yeem tau txais cov lus uas hais tias qee qhov ntawm koj tus IP thaiv yuav tsum tau hloov kho tshiab. Yog tias yog, xaiv "Qhia IP Status" thiab tom qab ntawd hauv IP txheej xwm tab xaiv txhua yam tsis paub IP thiab nyem "Hloov Kho Xaiv". Thaum nws ua tiav thiab lub qhov rais tshwm tuaj nug yog tias koj xav tsim cov khoom tsim tawm, mus tom ntej thiab nyem "Tsim". Yog tias koj tau txais cov lus ceeb toom tseem ceeb, tsis quav ntsej nws.
  4. Hloov los ntawm kev tsim qauv mus rau qhov chaw tab hauv Vivado kom pom cov ntaub ntawv los ntawm qhov chaw. Txoj cai-nyem qhov thaiv tsim "tsim_1" thiab xaiv "Tsim HDL Wrapper". Thaum tau txais kev xaiv xaiv "luam tawm cov ntawv qhwv kom tso cai rau cov neeg siv hloov kho". Cov ntaub ntawv qhwv rau qhov haujlwm yuav raug tsim tawm.
  5. Tam sim no hais tias cov kauj ruam tseem ceeb uas tau tawm hauv lwm qhov kev qhia ua kom tiav, koj tuaj yeem rov qab mus rau qhov kev qhia yav dhau los txuas thiab txuas ntxiv los ntawm qib 4 mus rau qhov kawg thiab nco ntsoov tias qhov project demo ua haujlwm raug. Yog tias koj tsis muaj txoj hauv kev los tawm suab rau nws kom kaw ces cia li kaw nrog koj lub mloog pob ntseg thiab mloog rau 5-10 vib nas this suab nrov thaum koj nias lub pob rov ua si. Tsuav yog qee yam tawm los ntawm lub mloog pob ntseg thaum koj nias lub pob rov ua haujlwm, nws tej zaum ua haujlwm raug.

Kauj Ruam 2: Ua Qee Qhov Hloov pauv hauv Vivado

Ua Qee Qhov Hloov pauv hauv Vivado
Ua Qee Qhov Hloov pauv hauv Vivado

Yog li tam sim no koj tau txais Digilent's DMA audio demo ua haujlwm, tab sis qhov ntawd tsis yog txhua lub hom phiaj kawg ntawm no. Yog li peb yuav tsum rov qab mus rau Vivado thiab ua qee qhov kev hloov pauv kom peb lub ntsuas pa tuaj yeem txuas rau hauv PMOD lub taub hau thiab peb tuaj yeem siv lawv cov txiaj ntsig ntawm software sab.

  1. Qhib daim duab thaiv hauv Vivado
  2. Tsim GPIO thaiv los ntawm txoj cai-nyem rau ntawm qhov chaw khoob hauv daim duab thaiv thiab xaiv "Ntxiv IP" los ntawm cov ntawv qhia zaub mov. Nrhiav thiab xaiv "AXI GPIO".
  3. Ob npaug nias rau tus IP tshiab thaiv thiab hauv qhov rov kho dua IP lub qhov rooj mus rau IP teeb tsa tab. Xaiv tag nrho cov tswv yim thiab teeb tsa dav mus rau kaum ob, txij li peb yuav muaj 12 "hlua" ntawm peb lub harp thiab yog li xav tau 12 tus ntsuas. Yog tias koj xav siv tsawg dua lossis ntau lub ntsuas ntsuas tom qab hloov tus lej no kom tsim nyog. Kuj teeb pab cuam tshuam.
  4. Txoj cai nyem rau ntawm GPIO IP thaiv tshiab thiab xaiv "khiav kev sib txuas tshuab". Txheeb lub thawv AXI thiab ntaus kom raug. Qhov no yuav tsum txuas rau AXI interface tau txais, tab sis tawm ntawm qhov tawm ntawm qhov thaiv tsis txuas nrog.
  5. Txhawm rau ua kom chav nyob rau qhov cuam tshuam ntxiv, ob npaug nyem rau ntawm xlconcat_0 IP thaiv thiab hloov tus lej ntawm cov chaw nres nkoj los ntawm 4 txog 5. Tom qab ntawd koj tuaj yeem txuas tus ip2intc_irpt tus pin los ntawm qhov tshiab GPIO thaiv mus rau qhov chaw nres nkoj tsis siv tshiab ntawm xlconcat block.
  6. Txoj cai nyem rau ntawm "GPIO" tso tawm ntawm GPIO IP tshiab tshiab thiab xaiv "ua sab nraud". Nrhiav qhov twg ntawm kab mus rau thiab nyem rau ntawm lub me me pentagon ib sab thiab ntawm sab laug lub qhov rai yuav tsum qhib qhov twg koj tuaj yeem hloov lub npe. Hloov lub npe rau "SENSORS". Nws yog ib qho tseem ceeb kom siv tib lub npe yog tias koj xav tau cov ntaub ntawv txwv peb muab rau ua haujlwm, txwv tsis pub koj yuav tau hloov lub npe hauv cov ntaub ntawv txwv.
  7. Rov qab rau hauv qhov chaw tab, nrhiav cov ntaub ntawv txwv thiab hloov nws nrog qhov peb muab. Koj tuaj yeem xaiv los hloov cov ntaub ntawv lossis tsuas yog luam cov ntsiab lus ntawm peb cov ntaub ntawv txwv thiab muab nws tso rau ntawm cov ntsiab lus qub. Ib qho tseem ceeb uas peb cov ntaub ntawv txwv tsis pub ua yog ua kom rub tawm qhov tawm tsam ntawm PMOD lub taub hau. Qhov no yog qhov tsim nyog rau cov ntsuas tshwj xeeb uas peb siv, txawm li cas los xij tsis yog txhua lub ntsuas hluav taws xob zoo ib yam. Yog tias koj lub ntsuas hluav taws xob xav tau pulldown resistors koj tuaj yeem hloov txhua qhov piv txwv ntawm "set_property PULLUP tseeb" nrog "set_property PULLDOWN tseeb". Yog tias lawv xav tau tus nqi sib txawv sib txawv dua li ntawm ntawm lub rooj tsavxwm, tom qab ntawd koj tuaj yeem tshem tawm cov kab no thiab siv sab nraud tiv thaiv. Qhov npe tus pin nyob hauv cov lus hauv cov ntaub ntawv txwv, thiab lawv sib haum rau cov ntawv sau hauv thawj daim duab hauv Zybo Schematics nplooj ntawv uas tuaj yeem pom ntawm no. Yog tias koj xav siv tus pin pmod sib txawv tsuas yog phim cov npe hauv cov ntaub ntawv txwv rau cov ntawv cim hauv cov phiaj xwm. Peb siv PMOD header JE thiab JD, thiab siv rau tus lej pin cov ntaub ntawv ntawm txhua tus, tshem tus lej 1 thiab 7. Cov ntaub ntawv no tseem ceeb heev thaum txuas koj lub ntsuas. Raws li qhia hauv kab lus, tus pin 6 thiab 12 ntawm PMODS yog VCC thiab tus pin 5 thiab 11 yog hauv av.
  8. Rov tsim dua HDL qhwv raws li ua ntej, thiab theej thiab sau dua qhov qub. Thaum qhov ntawd ua tiav, tsim cov khoom me me thiab xa tawm cov cuab yeej zoo li ua ntej, thiab rov pib dua SDK. Yog tias koj tau nug seb koj puas xav hloov cov ntaub ntawv kho vajtse qub, cov lus teb yog yog. Nws yog qhov zoo tshaj plaws kom kaw SDK thaum koj xa khoom kho vajtse kom nws tau hloov pauv kom raug.
  9. Tua tawm SDK.

Kauj Ruam 3: Tau Txais FreeRTOS Khiav

Cov kauj ruam tom ntej yog kom tau FreeRTOS khiav ntawm Zybo board.

  1. Yog tias koj tsis muaj daim ntawv theej, rub tawm FreeRTOS ntawm no thiab rho tawm cov ntawv.
  2. Ntshuam FreeRTOS Zynq demo nyob ntawm FreeRTOSv9.0.0 / FreeRTOS / Demo / CORTEX_A9_Zynq_ZC702 / RTOSDemo. Cov txheej txheem ntshuam zoo ib yam li nws tau ua rau lwm qhov phiaj xwm phiaj xwm, txawm li cas los xij vim tias FreeRTOS Zynq demo tso siab rau lwm cov ntaub ntawv hauv FreeRTOS nplaub tshev, koj yuav tsum tsis txhob luam cov ntawv rau hauv koj qhov chaw ua haujlwm. Hloov chaw, koj yuav tsum tso tag nrho FreeRTOS nplaub tshev hauv koj daim ntawv tais ceev tseg.
  3. Tsim lub pob ntawv txhawb nqa tshiab los ntawm kev mus rau "file" -> "new" -> "board support package". Nco ntsoov xaiv ib leeg nkaus xwb thiab nyem qhov ua tiav. Tom qab ib pliag lub qhov rai yuav tshwm tuaj, khij lub npov ib sab ntawm lwip141 (qhov no nres ib qho ntawm FreeRTOS qhov kev nthuav qhia los ntawm kev ua tsis tau sau ua ke) thiab ntaus OK. Tom qab ua tiav txoj cai nyem rau ntawm RTOSdemo txoj haujlwm thiab mus rau "cov khoom", mus rau "phiaj xwm phiaj xwm" tab, thiab khij lub npov tom ntej ntawm bsp tshiab uas koj tau tsim. Vam tias nws yuav raug lees paub tab sis qee zaum Xilinx SDK tuaj yeem coj txawv txawv txog qhov no. Yog tias koj tseem tau txais qhov yuam kev tom qab cov kauj ruam uas xparameters.h ploj lossis qee yam zoo li ntawd ces sim rov ua cov kauj ruam no thiab tej zaum yuav tawm thiab rov pib dua SDK.

Kauj Ruam 4: Ntxiv Laser Harp Code

Tam sim no tias FreeRTOS raug xa tawm, koj tuaj yeem nqa cov ntaub ntawv los ntawm qhov haujlwm ua suab paj nruag laser rau hauv FreeRTOS demo

  1. Tsim daim nplaub tshev tshiab nyob rau hauv src nplaub tshev hauv FreeRTOS demo thiab luam thiab muab tag nrho cov ntaub ntawv c muab tshwj tsis yog main.c rau hauv daim nplaub tshev no.
  2. Hloov RTOSDemo main.c nrog cov muab main.c.
  3. Yog tias txhua yam ua tiav raug, koj yuav tsum muaj peev xwm khiav lub laser harp code ntawm qhov no. Txog kev ntsuas lub hom phiaj, khawm nkag uas tau siv hauv DMA qhov haujlwm qhia tam sim no tau siv los ua suab nrov yam tsis muaj lub cim txuas (ib qho ntawm plaub lub khawm tseem ceeb yuav ua haujlwm). Nws yuav ua txoj hlua txhua lub sijhawm koj nias nws thiab hloov mus los ntawm txhua txoj hlua hauv kab ke hla ntau qhov nias. Txuas qee lub mloog pob ntseg lossis hais lus rau lub mloog pob ntseg ntawm Zybo board thiab xyuas kom tseeb tias koj tuaj yeem hnov lub suab ntawm cov hlua tuaj txog thaum koj nias lub pob.

Kauj Ruam 5: Txog Txoj Cai

Coob leej ntawm koj nyeem cov lus qhia no yuav zoo li no kom paub teeb tsa suab lossis siv DMA los ua qee yam sib txawv, lossis los tsim cov twj paj nruas sib txawv. Vim li no ob peb ntu tom ntej no tau mob siab rau piav qhia txog yuav ua li cas cov cai tau ua haujlwm ua ke nrog kho vajtse yav dhau los tau piav qhia kom tau txais lub suab ua haujlwm siv DMA. Yog tias koj nkag siab tias vim li cas cov lej nyob ntawd koj yuav tsum tuaj yeem hloov kho lawv rau qhov nws yog qhov koj xav tsim.

Cuam tshuam

Ua ntej kuv yuav hais txog qhov cuam tshuam tau tsim hauv txoj haujlwm no li cas. Txoj kev uas peb tau ua nws yog los ntawm thawj qhov kev cuam tshuam cov qauv duab ntawm lub rooj uas ua raws tus ID, cuam tshuam tus neeg lis haujlwm, thiab siv rau lub cuab yeej rau txhua qhov cuam tshuam. Tus ID cuam tshuam los ntawm xparameters.h. Tus tuav haujlwm cuam tshuam yog lub luag haujlwm peb tau sau rau DMA thiab GPIO, thiab I2C cuam tshuam los ntawm Xlic I2C tus tsav tsheb. Cov cuab yeej siv taw tes rau cov xwm txheej ntawm txhua lub cuab yeej uas peb pib ua ntej lwm qhov. Nyob ze qhov kawg ntawm _init_audio ua haujlwm lub voj mus dhau txhua qhov khoom hauv qhov cuam tshuam cov ntsiab lus vector thiab hu ob txoj haujlwm, XScuGic_Connect () thiab XScuGic_Enable () txuas thiab ua kom muaj kev cuam tshuam. Lawv siv xInterruptController, uas yog tus cuam tshuam cuam tshuam xws li tsim hauv FreeRTOS main.c los ntawm lub neej ntawd. Yog li ntawd peb txuas txhua qhov ntawm peb qhov cuam tshuam rau qhov cuam tshuam kev tswj hwm uas twb tau tsim rau peb los ntawm FreeRTOS.

DMA

DMA qhov pib ua lej pib hauv lh_main.c. Thawj qhov xwm txheej zoo li qub ntawm XAxiDma tus qauv tau tshaj tawm. Tom qab ntawd hauv _init_audio () muaj nuj nqi nws tau teeb tsa. Thawj qhov teeb tsa muaj nuj nqi los ntawm qhov project demo tau hu, uas yog hauv dma.c. Nws yog cov ntaub ntawv zoo nkauj thiab los ncaj qha los ntawm qhov demo. Tom qab ntawd qhov cuam tshuam tau txuas nrog thiab ua haujlwm. Rau qhov haujlwm no tsuas yog tus tswv-rau-qhev cuam tshuam yuav tsum tau, vim tias txhua cov ntaub ntawv raug xa los ntawm DMA mus rau I2S tus tswj hwm. Yog tias koj xav kaw suab, koj tseem yuav xav tau qhev-rau-tus tswv cuam tshuam. Tus tswv-rau-qhev cuam tshuam raug hu thaum DMA ua tiav xa tawm cov ntaub ntawv twg los xij koj tau hais kom nws xa. Qhov kev cuam tshuam no tseem ceeb heev rau peb txoj haujlwm vim tias txhua lub sijhawm DMA ua tiav xa tawm ib qho tsis ntawm cov qauv suab nws yuav tsum pib tam sim xa tawm qhov tsis nyob tom ntej, lossis lwm qhov ncua sijhawm hnov tau yuav tshwm sim ntawm kev xa. Sab hauv dma_mm2s_ISR () muaj nuj nqi koj tuaj yeem pom tias peb daws qhov cuam tshuam li cas. Qhov tseem ceeb nyob ze qhov kawg uas peb siv xSemaphoreGiveFromISR () thiab chaw nres nkoj Txoj hauv kev peb xa cov ntaub ntawv suab tsis tu ncua yog los ntawm kev hloov ntawm ob qhov tsis. Thaum ib tus neeg tsis raug xa mus rau I2C thaiv lwm qhov tsis muaj nws qhov txiaj ntsig tau suav thiab khaws cia. Tom qab ntawd thaum qhov cuam tshuam los ntawm DMA qhov tsis ua haujlwm hloov pauv thiab cov ntawv sau tsis ntev los no pib raug xa mus thaum qhov tsis tau hloov pauv yav dhau los pib rov sau dua nrog cov ntaub ntawv tshiab. Qhov tseem ceeb ntawm _audio_task muaj nuj nqi yog qhov twg fnAudioPlay () tau hu. fnAudioPlay () siv nyob rau hauv DMA piv txwv, qhov ntev ntawm qhov tsis, thiab tus taw tes rau qhov tsis los ntawm cov ntaub ntawv twg yuav raug xa mus. Ob peb qhov txiaj ntsig raug xa mus rau I2S cov ntawv sau npe kom qhia rau nws paub ntau cov qauv tab tom los. Tom qab ntawd XAxiDma_SimpleTransfer () tau raug hu los pib qhov kev hloov pauv.

I2S Audio

audio.c thiab audio.h yog qhov uas I2S pib ua qhov chaw. I2S txoj cai pib ua haujlwm yog ib qho zoo sib xws ntawm cov cai uas tau ntab ncig hauv ntau qhov chaw, koj yuav pom qhov txawv me ntsis los ntawm lwm qhov chaw tab sis qhov no yuav tsum ua haujlwm. Nws yog cov ntaub ntawv zoo nkauj heev thiab tsis tas yuav hloov pauv rau txoj haujlwm harp. DMA audio demo uas nws los ntawm muaj lub luag haujlwm rau kev hloov mus rau lub mic lossis kab inputs yog li koj tuaj yeem siv cov ntawd yog tias koj xav tau lub luag haujlwm ntawd.

Suab Synthesis

Txhawm rau piav qhia yuav ua li cas lub suab sib txuas ua haujlwm, Kuv yuav sau txhua tus qauv suab uas siv hauv kev txhim kho uas coj mus rau txoj kev kawg, vim nws yuav ua rau koj nkag siab tias yog vim li cas nws thiaj li ua tiav.

Txoj Kev 1: Ib lub sijhawm ntawm sine qhov tseem ceeb tau suav rau txhua txoj hlua ntawm qhov sib thooj sib xws rau txoj hlua nkauj cov ntawv sau tseg thiab khaws cia hauv ib qho array. Piv txwv li, qhov ntev ntawm cov kab yuav yog lub sijhawm ntawm sine wave hauv cov qauv, uas sib npaug # ntawm cov qauv / voj voog. Yog tias qhov piv txwv yog 48kHz thiab qhov cim tseg zaus yog 100Hz, tom qab ntawd muaj 48, 000 tus qauv/thib ob thiab 100 mus/thib ob ua rau 4800 tus qauv ib hlis twg, thiab qhov ntev ntev yuav yog 4800 cov qauv thiab yuav muaj qhov tseem ceeb ntawm ib qho ua tiav sij hawm sine wave Thaum txoj hlua raug ua si, lub suab piv txwv tsis tau sau los ntawm kev noj tus nqi los ntawm sine wave array thiab muab tso rau hauv lub suab tsis ua qauv, tom qab ntawd nce qhov ntsuas mus rau hauv sine wave array kom siv peb qhov piv txwv dhau los hauv chav kawm ntawm 4800 qhov piv txwv ib lub voj voos sine tau muab tso rau hauv lub suab tsis. Kev ua haujlwm modulo tau siv rau ntawm qhov ntsuas qhov ntsuas kom nws ib txwm poob ntawm 0 thiab qhov ntev, thiab thaum qhov ntsuas qhov ntsuas mus dhau qee qhov pib (zoo li tej zaum 2 vib nas this tus nqi piv txwv) txoj hlua raug kaw. Ua si ntau txoj hlua nyob rau tib lub sijhawm, taug qab ntawm txhua cov hlua 'cov lej ntsuas sib cais thiab ntxiv tus nqi los ntawm txhua txoj hlua' sine wave ua ke kom tau txais txhua tus qauv.

Txoj Kev 2: Txhawm rau tsim lub suab paj nruas ntau dua, peb pib nrog tus qauv yav dhau los thiab ntxiv kev sib haum xeeb rau txhua qhov siv zaus. Harmonic zaus yog cov zaus uas yog cov lej sib npaug ntawm cov hauv paus zaus. Tsis zoo li thaum ob qhov cuam tshuam tsis sib xws tau suav ua ke, uas ua rau ob lub suab sib txawv tau ua si ib txhij, thaum kev sib haum xeeb tau ntxiv ua ke nws txuas ntxiv zoo li tsuas yog ib lub suab, tab sis nrog lub suab sib txawv. Ua kom tiav qhov no, txhua lub sijhawm peb ntxiv tus nqi ntawm sine wave ntawm qhov chaw (array index % array length) rau cov qauv suab, peb kuj ntxiv (2 * array index % array length), thiab (3 * array index % array length), thiab ntxiv rau txawm li cas los xij xav tau ntau yam kev sib haum xeeb. Cov ntsuas ntsuas sib npaug no yuav hla lub sine wave ntawm cov zaus uas yog cov lej sib npaug ntawm thawj zaus. Txhawm rau tso cai rau kev tswj hwm lub suab ntau dua, txhua qhov sib haum xeeb qhov txiaj ntsig tau sib npaug los ntawm qhov sib txawv uas sawv cev rau tus nqi ntawm qhov sib haum xeeb hauv lub suab tag nrho. Piv txwv li, qhov tseem ceeb sine yoj yuav muaj nws qhov txiaj ntsig tag nrho los ntawm 6 txhawm rau ua rau nws muaj ntau qhov tseem ceeb hauv lub suab tag nrho, thaum lub suab sib haum 5 yuav muaj tus lej ntawm 1, lub ntsiab lus nws qhov txiaj ntsig tau pab tsawg dua rau lub suab tag nrho.

Txoj Kev 3: Yog lawm, yog li tam sim no peb tau txais lub suab zoo heev ntawm cov ntawv, tab sis tseem muaj teeb meem tseem ceeb heev: lawv ua si ntawm qhov ntim tas rau lub sijhawm tas. Txhawm rau txhua lub suab zoo li lub cuab yeej tiag tiag qhov ntim ntawm txoj hlua raug ua si yuav tsum ua kom zoo dua lub sijhawm. Yuav kom ua tiav qhov no, ib qho array tau ntim nrog cov txiaj ntsig ntawm kev ua haujlwm nthuav dav zuj zus. Tam sim no thaum lub suab ntsuas tau raug tsim, lub suab los ntawm txhua txoj hlua tau suav zoo li hauv txoj hauv kev yav dhau los tab sis ua ntej nws tau ntxiv rau lub suab piv txwv nws tau muab sib npaug los ntawm tus nqi ntawm cov hlua 'cov lej ntsuas hauv qhov nthuav dav kev ua haujlwm poob. Qhov no ua rau lub suab ua haujlwm tsis zoo rau lub sijhawm. Thaum qhov ntsuas qhov ntsuas mus txog qhov kawg ntawm cov kab tawg, txoj hlua raug tso tseg.

Txoj Kev 4: Cov kauj ruam kawg no yog dab tsi tiag muab cov hlua suab lawv cov suab zoo tiag tiag. Ua ntej lawv suab zoo siab tab sis qhia meej ua ke. Txhawm rau sim ua kom zoo dua ua kom zoo nkauj hauv ntiaj teb txoj hlua nkauj, qhov sib txawv ntawm kev sib tsoo tau muab rau txhua qhov sib haum xeeb. Hauv cov hlua tiag, thaum txoj hlua raug ntaus thawj zaug muaj cov ntsiab lus siab ntawm kev sib raug zoo uas tsim cov suab plucking uas peb xav tau los ntawm txoj hlua. Cov kev sib raug zoo ntawm cov suab paj nruag no luv luv yog lub hauv paus tseem ceeb ntawm lub suab, lub suab ntawm txoj hlua raug ntaus, tab sis lawv lwj sai heev raws li kev sib raug zoo qeeb qeeb. Ib qho kab tawg tau tsim rau txhua tus lej sib luag siv hauv suab sib txuas ua ke txhua tus nrog nws tus kheej qhov kev lwj. Tam sim no txhua qhov kev sib haum xeeb tuaj yeem ua nws tus kheej ua ke los ntawm tus nqi nws sib xws kev sib cais ntawm cov lej ntsuas ntawm cov hlua thiab ntxiv rau lub suab.

Zuag qhia tag nrho cov suab synthesis yog intuitive tab sis suav hnyav. Khaws tag nrho cov hlua suab hauv kev nco ib zaug yuav siv ntau lub cim xeeb, tab sis suav lub sine yoj thiab qhov ua haujlwm nthuav tawm ntawm txhua tus ncej yuav siv sij hawm ntev heev kom ua raws li cov suab tso tawm. Ib tus lej ntawm cov txuj ci tau siv hauv cov cai txhawm rau ua kom nrawm dua. Txhua qhov lej tshwj tsis yog thawj qhov tsim ntawm sine thiab nthuav tawm cov lus sib tshooj tau ua tiav hauv hom ntawv, uas yuav tsum tau nthuav tawm qhov chaw muaj cov lej hauv 24 lub suab tso tawm. Piv txwv li, lub rooj sine yog ntawm qhov dav 150 kom nws du tab sis tsis loj npaum li ntau cov hlua ua si ua ke tuaj yeem ua ntxiv rau ntau dua 24 khoom. Ib yam nkaus, cov txiaj ntsig ntawm lub rooj nthuav dav tau muab sib npaug los ntawm 80 ua ntej muab sib npaug rau cov lej thiab khaws cia. Qhov hnyav sib haum tuaj yeem ntsuas qhov sib txawv ntawm 0 thiab 10. Tsis tas li ntawd tag nrho cov qauv tau ua ob npaug thiab cov sine nthwv dej tau ntsuas los ntawm 2's, ua tau zoo ib nrab piv txwv. Qhov no txwv qhov ntau zaus uas tuaj yeem ua si, tab sis tsim nyog rau tus lej tam sim no ntawm cov hlua thiab kev sib haum xeeb kom suav tau sai.

Tsim cov qauv suab no thiab ua kom nws ua haujlwm tau siv dag zog ntau ntawm cov txheej txheem ua haujlwm, thiab nws yuav nyuaj heev kom nws ua haujlwm ntawm fpga sab los ntawm kos hauv lub sijhawm ua haujlwm ntawm txoj haujlwm no (xav txog qhov yuav tsum rov tsim dua tshiab txhua txhua sij hawm ib daim verilog tau hloov pauv los ntsuas lub suab). Txawm li cas los xij, ua nws ntawm fpga tuaj yeem yog txoj hauv kev ua tau zoo dua, muaj peev xwm tshem tawm qhov teeb meem ntawm qhov tsis tuaj yeem suav cov qauv sai sai thiab tso cai rau ntau txoj hlua, sib haum xeeb, thiab txawm tias muaj suab nrov lossis lwm yam haujlwm uas yuav tsum tau khiav ntawm sab processor

Kauj Ruam 6: Txuas Cov Sensors

Txuas Cov Sensors
Txuas Cov Sensors

Txhawm rau tsim cov hlua peb siv IR tawg nqaj sensors uas yuav kuaj pom thaum txoj hlua raug ua si. Peb tau xaj peb cov sensors los ntawm qhov txuas hauv qab no. Cov ntsuas hluav taws xob muaj lub zog, hauv av, thiab cov ntaub ntawv xov hlau thaum cov emitters tsuas muaj lub zog thiab xaim hauv av. Peb tau siv 3.3 V thiab cov pins hauv av los ntawm PMOD lub taub hau kom muaj zog ob qho tib si cov emitters thiab cov sensors. Txhawm rau ua kom muaj zog tag nrho cov ntsuas hluav taws xob thiab cov emitters nws yog qhov tsim nyog los txuas txhua lub ntsuas hluav taws xob thiab emitter ua ke. Cov ntaub ntawv xov hlau los ntawm cov ntsuas yuav txhua tus xav tau mus rau lawv tus kheej pmod tus pin.

Kauj Ruam 7: Txhim Kho Lub Pob Txha

Txhim kho lub cev pob txha
Txhim kho lub cev pob txha

Txhawm rau tsim cov duab ntawm lub harp peb daim yog siv los ua lub cev pob txha txhawm rau tso lub ntsuas cua thiab tso pa tawm. Ntawm ib ntawm ob daim 18 nti ntawm PVC yeeb nkab sib dhos cov ntsuas thiab tso tawm hauv qhov sib txawv 1.5 ntiv ntawm ib leeg thiab tom qab ntawd kaw lawv rau hauv cov yeeb nkab. Ntawm lwm qhov 18 nti PVC yeeb nkab sib dhos cov cim thiab cov pa tawm hauv qhov kev txiav txim tab sis xyuas kom tseeb tias tau them qhov kev txiav txim (piv txwv li yog thawj cov yeeb nkab muaj lub sensor thawj qhov thib ob yuav tsum muaj emitter ua ntej thiab rov ua dua). Nws yuav yog qhov yuav tsum tau txuas cov xov hlau ntev dua ntawm cov ntaub ntawv, lub zog, thiab cov xov hlau hauv av kom ntseeg tau tias lawv tuaj yeem mus txog ntawm lub rooj tsavxwm.

Kauj Ruam 8: Tsim Ntoo Sab Nrauv

Tsev Ntoo Sab Nrauv
Tsev Ntoo Sab Nrauv

Cov kauj ruam no yog nyob ntawm yeem tab sis nws pom zoo heev. Cov ntoo sab nrauv tsis tsuas yog ua rau cov nkauj zoo nkaus li nws tseem tiv thaiv cov cim thiab cov xov hlau los ntawm kev puas tsuaj. Ntoo thav duab tuaj yeem tsim los ntawm ib lub ntsej muag zoo nkauj los ntawm ntoo. Sab hauv ntawm lub duab plaub yuav tsum muaj qhov qhib tsawg kawg 1-1/2 ntiv tes kom haum rau cov yeeb nkab thiab lub cev pob txha. Thaum lub thav duab tau tsim tsa laum ob lub qhov uas yuav tso cai rau cov xov hlau los ntawm lub ntsuas cua thiab tso tawm kom thiaj li txuas tau lawv nrog lub rooj tsavxwm.

*Nco tseg: Nws raug nquahu kom ntxiv cov ntsiab lus nkag nkag txhawm rau tshem tawm thiab ntxig lub cev pob txha hauv qhov rooj yuav tsum tau kho lossis hloov kho me ntsis yuav tsum tau ua.

Kauj Ruam 9: Muab txhua daim ua ke

Muab txhua daim ua ke
Muab txhua daim ua ke

Thaum tag nrho cov kauj ruam dhau los ua tiav nws yog lub sijhawm los tsim cov nkauj. Ua ntej tso lub cev pob txha hauv cov ntoo sab nrauv. Tom qab ntawd ntsaws cov xov hlau rau cov ntsuas thiab tso tawm mus rau qhov chaw raug ntawm lub rooj tsavxwm. Tom qab ntawd qhib SDK thiab nyem lub pob debug txhawm rau teeb tsa lub rooj tsavxwm. Thaum lub rooj tsav xwm tau teeb tsa lub plug hauv ob lub mloog pob ntseg lossis tus hais lus. Nyob ntawm seb qhov ntsuas qhov twg nyob qhov twg pmod chaw nres nkoj koj lub harp cov hlua yuav zaum tsis tuaj yeem pib nrog. Vim tias nws tuaj yeem nyuaj qhia qhov xaim mus rau lub sensor thaum muaj ntau lub xov tooj tau koom nrog, peb suav nrog ib txoj hauv kev los qhia kab xov tooj kom cuam tshuam txoj haujlwm me ntsis hauv software. Nrhiav "zoo li qub sensor_map [NUM_STRINGS]" thiab kho qhov tseem ceeb hauv kab kom txog thaum cov hlua ua si los ntawm qis tshaj mus rau qhov siab tshaj plaws.

Cov ntawv qhia zaub mov tuaj yeem siv los ntawm kev qhib lub davhlau ya nyob twg (piv txwv li RealTerm) thiab teeb tsa tus nqi baud rau 115200 thiab cov zaub rau ANSI. Cov ntawv qhia zaub mov tuaj yeem tshawb nrhiav los ntawm kev siv cov w thiab s tuav kom nce thiab nqis thiab a thiab d cov yuam sij los hloov qhov txiaj ntsig.

Kauj Ruam 10: ROCK OUT

Thaum lub harp ua haujlwm zoo. Master tus harp thiab mloog lub suab qab zib ntawm koj tus kheej cov nkauj!

Pom zoo: