Orodha ya maudhui:

Tuner ya Ukelele Kutumia LabView na NI USB-6008: Hatua 5
Tuner ya Ukelele Kutumia LabView na NI USB-6008: Hatua 5

Video: Tuner ya Ukelele Kutumia LabView na NI USB-6008: Hatua 5

Video: Tuner ya Ukelele Kutumia LabView na NI USB-6008: Hatua 5
Video: Сравнение протоколов TCP и UDP 2024, Julai
Anonim
Tuner ya Ukelele Kutumia LabView na NI USB-6008
Tuner ya Ukelele Kutumia LabView na NI USB-6008
Tuner ya Ukelele Kutumia LabView na NI USB-6008
Tuner ya Ukelele Kutumia LabView na NI USB-6008

Kama mradi wa kujifunza-msingi wa shida kwa kozi yangu ya LabVIEW & Instrumentation katika Chuo cha Humber (Teknolojia ya Uhandisi ya Elektroniki), niliunda tuner ya ukulele ambayo itachukua pembejeo ya analog (toni ya kamba ya ukulele), pata masafa ya kimsingi, amua ni barua gani inayojaribu kuwa tuned, na mwambie mtumiaji ikiwa kamba hiyo inahitaji kuangaziwa juu au chini. Kifaa nilichotumia kutafsiri pembejeo ya analog katika pembejeo ya dijiti ilikuwa Vyombo vya Kitaifa vya USB-6008 DAQ (kifaa cha upatikanaji wa data), na kiolesura cha mtumiaji kilitekelezwa na LabVIEW.

Hatua ya 1: Usanidi wa Ukelele wa kawaida

Tuning ya kawaida ya Ukelele
Tuning ya kawaida ya Ukelele
Tuning ya kawaida ya Ukelele
Tuning ya kawaida ya Ukelele

Hatua ya kwanza ilikuwa kutafuta masafa ya kimsingi ya noti za muziki, na ni aina gani za kamba za ukulele kawaida hupangwa. Nilitumia chati hizi mbili, na nikaamua kwamba ningefanya sauti yangu iwe kati ya 262 Hz (C) na 494Hz (High B). Chochote chini ya 252 Hz kingezingatiwa kuwa cha chini sana kwa programu kufafanua ni nukuu gani inayojaribu kuchezwa, na chochote kikubwa kuliko 500 Hz kingezingatiwa kuwa cha juu sana. Mpango huo, hata hivyo, bado unamwambia mtumiaji ni wangapi Hz wako mbali na kidokezo cha karibu zaidi kinachoweza kutambulika, na ikiwa kamba inapaswa kupangiliwa juu (kumbuka chini sana) au chini (kumbuka juu sana) kufikia maandishi yanayopatikana.

Kwa kuongezea, niliunda safu kwa kila noti, badala ya masafa moja tu, ili iwe rahisi kwa programu kupata nukuu gani ilikuwa ikichezwa. Kwa mfano, programu hiyo ingemwambia mtumiaji kuwa C inachezwa ikiwa noti ilikuwa na mzunguko wa kimsingi kati ya 252 Hz (nusu kwenda B) na 269Hz (nusu hadi C #), lakini ili kuamua ikiwa inahitajika kutayarishwa au chini, bado ingelinganisha noti inayochezwa na mzunguko wa kimsingi wa C ambayo ni 262Hz.

Hatua ya 2: Kuunda Mfano halisi wa Kinadharia

Kuunda Mfano halisi wa Kinadharia
Kuunda Mfano halisi wa Kinadharia
Kuunda Mfano halisi wa Kinadharia
Kuunda Mfano halisi wa Kinadharia

Kabla ya kuingia kwenye mradi wa analog, nilitaka kuona ikiwa ninaweza kuunda mpango wa LabVIEW ambao angalau utafanya usindikaji kuu wa sampuli ya sauti, kama kusoma samu ya.wav audio, kutafuta masafa ya kimsingi, na kutengeneza ulinganisho unaohitajika na chati ya masafa ili kujua ikiwa sauti inapaswa kupangwa juu au chini.

Nilitumia SoundFileSimpleRead. VI inayopatikana katika LabVIEW kusoma faili ya.wav kutoka kwa njia ambayo niliteua, kuweka ishara kwenye safu iliyowekwa alama, na kulisha ishara hiyo kwenye HarmonicDistortionAnalyzer. VI ili kupata masafa ya kimsingi. Nilichukua pia ishara kutoka kwa SoundFileSimpleRead. VI na kuiunganisha moja kwa moja kwenye kiashiria cha chati ya umbo la mawimbi ili mtumiaji aweze kuona umbo la wimbi la faili kwenye jopo la mbele.

Niliunda miundo 2 ya kesi: moja kuchambua nukuu gani ilikuwa ikichezwa, na nyingine kuamua ikiwa kamba inahitajika kugeuzwa juu au chini. Kwa kesi ya kwanza, niliunda safu kwa kila maandishi, na ikiwa ishara ya msingi ya msingi kutoka HarmonicDistortionAnalyzer. VI ilikuwa katika anuwai hiyo ingemwambia mtumiaji nukuu gani ilikuwa ikichezwa. Mara tu noti ilipoamuliwa, thamani ya dokezo iliyochezwa iliondolewa na mzunguko halisi wa dokezo, na kisha matokeo yakahamishiwa kwenye kesi ya pili ambayo iliamua yafuatayo: ikiwa matokeo yako juu ya sifuri, basi kamba inahitaji kuangaliwa chini; ikiwa matokeo ni ya uwongo (sio juu ya sifuri), basi kesi huangalia ikiwa thamani ni sawa na sifuri, na ikiwa ni kweli, basi mpango huo ungemjulisha mtumiaji kuwa noti hiyo inafuatana; ikiwa thamani sio sawa na sifuri, basi inamaanisha lazima iwe chini ya sifuri na kwamba kamba inahitaji kuangaliwa. Nilichukua thamani kamili ya matokeo kuonyesha mtumiaji ni wangapi Hz wako mbali na dokezo la kweli.

Niliamua kiashiria cha mita kitakuwa bora kumwonyesha mtumiaji kile kinachohitajika kufanywa ili kufanya maandishi kuwa sawa.

Hatua ya 3: Ifuatayo, Mzunguko wa Analog

Ifuatayo, Mzunguko wa Analog
Ifuatayo, Mzunguko wa Analog
Ifuatayo, Mzunguko wa Analog
Ifuatayo, Mzunguko wa Analog
Ifuatayo, Mzunguko wa Analog
Ifuatayo, Mzunguko wa Analog

Kipaza sauti nilichotumia kwa mradi huu ni CMA-6542PF condenser electret mic. Hati ya data ya mic hii iko hapa chini. Tofauti na maikrofoni nyingi za aina hii, sikuhitaji kuwa na wasiwasi juu ya polarity. Jedwali linaonyesha kuwa voltage ya kufanya kazi kwa mic hii ni 4.5 - 10V, lakini 4.5 V inapendekezwa, na matumizi yake ni 0.5mA max kwa hivyo hiyo ni jambo la kuzingatia wakati wa kubuni mzunguko wa preamp kwa hiyo. Mzunguko wa uendeshaji ni 20Hz hadi 20kHz ambayo ni kamili kwa sauti.

Nilitekeleza muundo rahisi wa mzunguko wa preamp kwenye ubao wa mkate na kurekebisha voltage ya kuingiza, kuhakikisha hakukuwa na zaidi ya 0.5mA kwenye mic. Capacitor hutumiwa kuchuja kelele ya DC ambayo inaweza kuunganishwa pamoja na ishara za umeme (pato), na capacitor ina polarity kwa hivyo hakikisha unganisha mwisho mzuri kwa pini ya pato la kipaza sauti.

Baada ya mzunguko kukamilika, niliunganisha pato la mzunguko na pini ya kwanza ya pembejeo ya analog (AI0, pini 2) ya USB-6008, na nikaunganisha ardhi ya ubao wa mkate na pini ya ardhi ya analog (GND, pin 1). Niliunganisha USB-6008 na PC na USB na ilikuwa wakati wa kufanya marekebisho kwenye mpango wa LabVIEW kuchukua ishara halisi ya analog.

Hatua ya 4: Kusoma Ishara za Analog na Msaidizi wa DAQ

Kusoma Ishara za Analog Na Msaidizi wa DAQ
Kusoma Ishara za Analog Na Msaidizi wa DAQ
Kusoma Ishara za Analog Na Msaidizi wa DAQ
Kusoma Ishara za Analog Na Msaidizi wa DAQ

Badala ya kutumia SoundFileSimpleRead. VI na HarmonicDistortionAnalyzer. VI, nilitumia Msaidizi wa DAQ. VI na ToneMeasurements. VI kushughulikia pembejeo ya analog. Usanidi wa Msaidizi wa DAQ uko sawa-mbele, na VI yenyewe hukuchukua kupitia hatua. ToneMeasurements. VI ina matokeo mengi ya kuchagua kutoka (amplitude, frequency, phase), kwa hivyo nilitumia pato la masafa ambalo linatoa masafa ya kimsingi ya toni ya kuingiza (kutoka kwa Msaidizi wa DAQ. VI). Pato la ToneMeasurements. VI ilibidi ibadilishwe na kuwekwa kwenye safu kabla ya kutumika katika miundo ya kesi, lakini programu / viashiria vyote vya LabVIEW vilibaki vivyo hivyo.

Hatua ya 5: Hitimisho

Hitimisho
Hitimisho

Mradi huo ulifanikiwa lakini kwa kweli kulikuwa na kasoro nyingi. Wakati nilikuwa nikiendesha tuner kwenye darasa lenye kelele, ilikuwa ngumu sana kwa programu hiyo kujua ni nini kelele na sauti ilikuwa ikichezwa. Hii inawezekana kwa sababu ya mzunguko wa preamp kuwa msingi sana, na kipaza sauti kuwa rahisi sana. Wakati kulikuwa kimya, hata hivyo, programu hiyo ilifanya kazi kwa uaminifu mzuri kuamua noti ambayo ilikuwa ikijaribu kuchezwa. Kwa sababu ya ufinyu wa wakati sikufanya mabadiliko yoyote ya ziada, lakini ikiwa ningekuwa nikirudia mradi huo ningeweza kununua kipaza sauti bora na kutumia muda mwingi kwenye mzunguko wa preamp.

Ilipendekeza: