Talaan ng mga Nilalaman:

Ukelele Tuner Gamit ang LabView at NI USB-6008: 5 Mga Hakbang
Ukelele Tuner Gamit ang LabView at NI USB-6008: 5 Mga Hakbang

Video: Ukelele Tuner Gamit ang LabView at NI USB-6008: 5 Mga Hakbang

Video: Ukelele Tuner Gamit ang LabView at NI USB-6008: 5 Mga Hakbang
Video: Online Ukulele Tuner | Ukulele Tuning for Left Handed Ukulele 2024, Hulyo
Anonim
Ukelele Tuner Gamit ang LabView at NI USB-6008
Ukelele Tuner Gamit ang LabView at NI USB-6008
Ukelele Tuner Gamit ang LabView at NI USB-6008
Ukelele Tuner Gamit ang LabView at NI USB-6008

Bilang isang proyekto na batay sa problema sa pag-aaral para sa aking kurso sa LabVIEW & Instrumentation sa Humber College (Electronics Engineering Technology), gumawa ako ng isang ukulele tuner na kukuha ng isang analog input (tono ng string ng ukulele), hanapin ang pangunahing dalas, magpasya kung anong tala ang sumusubok upang mai-tune, at sabihin sa gumagamit kung ang string ay kailangan upang mai-tun up o pababa. Ang aparato na ginamit ko upang isalin ang analog input sa digital input ay ang National Instruments USB-6008 DAQ (data acquisition device), at ang interface ng gumagamit ay ipinatupad sa LabVIEW.

Hakbang 1: Pamantayan sa Pag-tune ng Ukelele

Pamantayan ng Pag-tune ng Ukelele
Pamantayan ng Pag-tune ng Ukelele
Pamantayan ng Pag-tune ng Ukelele
Pamantayan ng Pag-tune ng Ukelele

Ang unang hakbang ay ang paghanap ng pangunahing mga frequency ng mga tala ng musikal, at kung anong saklaw ang mga string ng ukulele na karaniwang inaayos. Ginamit ko ang dalawang tsart na ito, at nagpasya na gagawin ko ang aking saklaw ng tono sa pagitan ng 262 Hz (C) at 494Hz (High B). Anumang mas mababa sa 252 Hz ay maituturing na masyadong mababa para sa program na maunawaan kung anong tala ang sumusubok na i-play, at anumang mas malaki sa 500 Hz ay maituturing na masyadong mataas. Gayunpaman, sinasabi pa rin ng programa sa gumagamit kung gaano karaming Hz ang layo nila sa pinakamalapit na matutukoy na tala, at kung ang string ay dapat na mai-tune (masyadong mababa ang tala) o pababa (masyadong mataas ang tala) upang maabot ang isang magagamit na tala.

Bukod pa rito, lumikha ako ng mga saklaw para sa bawat tala, sa halip na isang solong dalas lamang, upang mas madali para sa programa na makahanap ng aling tala ang nilalaro. Halimbawa o pababa, ihahambing pa rin ang tala na nilalaro sa pangunahing dalas ng C na 262Hz.

Hakbang 2: Lumilikha ng isang Puro Digital na Teoretikal na Modelo

Lumilikha ng isang Puro Digital na Theoretical Model
Lumilikha ng isang Puro Digital na Theoretical Model
Lumilikha ng isang Puro Digital na Theoretical Model
Lumilikha ng isang Puro Digital na Theoretical Model

Bago sumisid sa bahagi ng analog ng proyekto, nais kong makita kung makakalikha ako ng isang programa ng LabVIEW na gagawin kahit papaano ang pangunahing pagproseso ng isang sample ng tunog, tulad ng pagbabasa ng isang sample ng audio.wav, paghahanap ng pangunahing dalas, at paggawa ang kinakailangang mga paghahambing sa tsart ng dalas upang malaman kung ang tunog ay dapat na na-tono pataas o pababa.

Ginamit ko ang SoundFileSimpleRead. VI na magagamit sa LabVIEW upang mabasa ang isang.wav file mula sa isang landas na itinalaga ko, ilagay ang signal sa isang naka-index na array, at pinakain ang signal na iyon sa HarmonicDistortionAnalyzer. VI upang mahanap ang pangunahing dalas. Kinuha ko rin ang signal mula sa SoundFileSimpleRead. VI at ikinonekta ito nang direkta sa isang tagapagpahiwatig ng tsart ng waveform upang makita ng gumagamit ang form ng alon ng file sa front panel.

Lumikha ako ng 2 mga istraktura ng kaso: isa upang pag-aralan kung anong tala ang nilalaro, at ang isa pa upang matukoy kung ang string ay kailangan upang i-up o pababa. Para sa unang kaso, lumikha ako ng mga saklaw para sa bawat tala, at kung ang pangunahing signal ng dalas mula sa HarmonicDistortionAnalyzer. Ang VI ay nasa saklaw na iyon sasabihin sa gumagamit kung anong tala ang nilalaro. Kapag natukoy ang tala, ang nilalaro na tala ng halaga ay binawasan ng aktwal na pangunahing dalas ng tala, at pagkatapos ang resulta ay inilipat sa pangalawang kaso na tinukoy ang sumusunod: kung ang resulta ay nasa itaas ng zero, kung gayon ang string ay kailangang i-tun down; kung ang resulta ay mali (hindi sa itaas ng zero), pagkatapos ay susuriin ng kaso kung ang halaga ay katumbas ng zero, at kung totoo, pagkatapos ay aabisuhan ng programa ang gumagamit na ang tala ay nasa tono; kung ang halaga ay hindi katumbas ng zero, nangangahulugan ito na dapat itong mas mababa sa zero at ang string ay kailangang i-tun up. Kinuha ko ang ganap na halaga ng resulta upang ipakita sa gumagamit kung gaano karaming Hz ang layo nila sa totoong tala.

Napagpasyahan kong isang tagapagpahiwatig ng metro ang magiging pinakamahusay na biswal na ipakita sa gumagamit kung ano ang kailangang gawin upang maiayos ang tala.

Hakbang 3: Susunod, ang Analog Circuit

Susunod, ang Analog Circuit
Susunod, ang Analog Circuit
Susunod, ang Analog Circuit
Susunod, ang Analog Circuit
Susunod, ang Analog Circuit
Susunod, ang Analog Circuit

Ang ginamit kong mikropono para sa proyektong ito ay ang CMA-6542PF condenser electret mic. Ang datasheet para sa mic na ito ay nasa ibaba. Hindi tulad ng karamihan sa mga mikropono ng condenser ng ganitong uri, hindi ako nag-alala tungkol sa polarity. Ipinapakita ng datasheet na ang boltahe ng pagpapatakbo para sa mic na ito ay 4.5 - 10V, ngunit inirerekomenda ang 4.5 V, at ang kasalukuyang pagkonsumo ay 0.5mA max kaya't dapat maging maingat kapag nagdidisenyo ng isang preamp circuit para dito. Ang dalas ng operating ay 20Hz hanggang 20kHz na perpekto para sa audio.

Nagpatupad ako ng isang simpleng disenyo ng preamp circuit sa breadboard at inayos ang input boltahe, tinitiyak na hindi hihigit sa 0.5mA sa buong mic. Ginagamit ang capacitor upang salain ang ingay ng DC na maaaring maisama kasama ng mga electric signal (output), at ang capacitor ay mayroong polarity kaya siguraduhing ikonekta ang positibong dulo sa pin ng output ng mikropono.

Matapos makumpleto ang circuit, ikinonekta ko ang output ng circuit sa unang analog input pin (AI0, pin 2) ng USB-6008, at ikinonekta ang lupa ng breadboard sa analog ground pin (GND, pin 1). Ikinonekta ko ang USB-6008 sa PC gamit ang isang USB at oras na upang gumawa ng mga pagsasaayos sa programa ng LabVIEW upang kumuha ng isang aktwal na analog signal.

Hakbang 4: Pagbasa ng Mga Senyong Analog Sa DAQ Assistant

Pagbasa ng Mga Signal ng Analog Sa DAQ Assistant
Pagbasa ng Mga Signal ng Analog Sa DAQ Assistant
Pagbasa ng Mga Signal ng Analog Sa DAQ Assistant
Pagbasa ng Mga Signal ng Analog Sa DAQ Assistant

Sa halip na gamitin ang SoundFileSimpleRead. VI at ang HarmonicDistortionAnalyzer. VI, ginamit ko ang DAQ Assistant. VI at ang ToneMeasurements. VI upang harapin ang analog input. Ang pag-set up ng DAQ Assistant ay medyo tuwid, at ang VI mismo ay magdadala sa iyo sa mga hakbang. Ang ToneMeasurements. VI ay may maraming mga output upang pumili mula sa (amplitude, frequency, phase), kaya ginamit ko ang output output na nagbibigay ng pangunahing dalas ng tono ng input (mula sa DAQ Assistant. VI). Ang output ng ToneMeasurements. Ang VI ay dapat na mai-convert at ilagay sa isang array bago ito magamit sa mga istraktura ng kaso, ngunit ang natitirang programa / tagapagpahiwatig ng LabVview ay nanatiling pareho.

Hakbang 5: Konklusyon

Konklusyon
Konklusyon

Ang proyekto ay isang tagumpay ngunit tiyak na maraming mga kamalian. Kapag pinapatakbo ko ang tuner sa isang maingay na silid-aralan, napakahirap para sa programa na matukoy kung ano ang ingay at kung ano ang tono na pinatugtog. Malamang na ito ay dahil sa preamp circuit na napaka-basic, at ang mikropono ay napaka-mura. Gayunpaman, kapag ito ay tahimik, ang programa ay gumana nang may mahusay na pagiging maaasahan upang matukoy ang tala na sinusubukan na i-play. Dahil sa paghihigpit sa oras hindi ako gumawa ng anumang mga karagdagang pagbabago, ngunit kung uulitin ko ang proyekto ay bibili ako ng isang mas mahusay na mikropono at gumugugol ng mas maraming oras sa preamp circuit.

Inirerekumendang: