Turinys:
- 1 žingsnis: standartinis Ukelele derinimas
- 2 žingsnis: sukurkite grynai skaitmeninį teorinį modelį
- 3 žingsnis: Toliau analoginė grandinė
- 4 žingsnis: skaitykite analoginius signalus naudodami „DAQ Assistant“
- 5 žingsnis: Išvada
Video: „Ukelele Tuner“naudojant „LabView“ir NI USB-6008: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Kaip probleminis mokymosi projektas, skirtas mano „LabVIEW & Instrumentation“kursui Humbero koledže (Elektronikos inžinerijos technologija), sukūriau „Ukulele“imtuvą, kuris imtų analoginį įėjimą (ukulelės stygos toną), surastų pagrindinį dažnį ir nuspręstų, kokia pastaba buvo bandoma turi būti suderinta ir pasakykite vartotojui, ar eilutę reikia sureguliuoti aukštyn ar žemyn. Prietaisas, kurį naudoju analoginiam įėjimui išversti į skaitmeninį įėjimą, buvo „National Instruments USB-6008 DAQ“(duomenų surinkimo įrenginys), o vartotojo sąsaja buvo įdiegta naudojant „LabVIEW“.
1 žingsnis: standartinis Ukelele derinimas
Pirmasis žingsnis buvo išsiaiškinti pagrindinius muzikos natų dažnius ir tai, kokiame diapazone paprastai derinamos ukulelės stygos. Aš naudoju šias dvi diagramas ir nusprendžiau, kad tonų diapazonas bus nuo 262 Hz (C) iki 494 Hz (aukštas B). Viskas, kas mažesnė nei 252 Hz, būtų laikoma per maža, kad programa galėtų iššifruoti, kokia nata buvo bandoma groti, o viskas, kas didesnė nei 500 Hz, būtų laikoma per aukšta. Tačiau programa vis tiek nurodo vartotojui, kiek Hz jie yra nutolę nuo artimiausios iššifruojamos natos, ir ar eilutė turėtų būti sureguliuota aukštyn (per maža) arba žemyn (per aukšta), kad pasiektų turimą natą.
Be to, sukūriau kiekvienos natos diapazonus, o ne tik vieną dažnį, kad programai būtų lengviau rasti grojamą natą. Pvz., Programa vartotojui pasakytų, kad groja C, jei natos pagrindinis dažnis yra nuo 252 Hz (iki B) ir 269 Hz (pusiaukelėje iki C#), tačiau tam, kad nuspręstų, ar reikia jį sureguliuoti arba žemyn, jis vis tiek palygintų grojamą natą su pagrindiniu C dažniu, kuris yra 262 Hz.
2 žingsnis: sukurkite grynai skaitmeninį teorinį modelį
Prieš pasinerdamas į analoginę projekto pusę, norėjau sužinoti, ar galėčiau sukurti „LabVIEW“programą, kuri bent jau atliktų pagrindinį garso mėginio apdorojimą, pvz., Skaitytų garso.wav pavyzdį, surastų pagrindinį dažnį ir reikiamus palyginimus su dažnių diagrama, kad sužinotumėte, ar garsas turėtų būti sureguliuotas aukštyn ar žemyn.
Naudodavau „SoundVIEWSIMpleRead. VI“, prieinamą „LabVIEW“, kad perskaityčiau.wav failą iš mano nurodyto kelio, įdėjau signalą į indeksuotą masyvą ir padaviau tą signalą į „HarmonicDistortionAnalyzer. VI“, kad surastų pagrindinį dažnį. Aš taip pat paėmiau signalą iš „SoundFileSimpleRead. VI“ir prijungiau jį tiesiai prie bangų formos diagramos indikatoriaus, kad vartotojas galėtų matyti failo bangos formą priekiniame skydelyje.
Aš sukūriau 2 atvejo struktūras: vieną, norėdamas išanalizuoti, kokia nata buvo grojama, o kitą - nustatyti, ar stygą reikia pasukti aukštyn, ar žemyn. Pirmuoju atveju aš sukūriau kiekvienos natos diapazonus, o jei pagrindinis dažnio signalas iš „HarmonicDistortionAnalyzer. VI“buvo tame diapazone, jis pasakys vartotojui, kokia nata buvo grojama. Kai nata buvo nustatyta, grojamos natos vertė buvo atimta iš faktinio pagrindinio natos dažnio, o tada rezultatas buvo perkeltas į antrąjį atvejį, kuris nustatė šiuos dalykus: jei rezultatas yra didesnis nei nulis, eilutę reikia sureguliuoti; jei rezultatas yra klaidingas (ne didesnis nei nulis), atvejis tikrina, ar vertė lygi nuliui, o jei tiesa, tada programa praneštų vartotojui, kad pastaba yra suderinta; jei vertė nėra lygi nuliui, tai reiškia, kad ji turi būti mažesnė už nulį ir kad eilutė turi būti sureguliuota. Aš paėmiau absoliučią rezultato vertę, norėdamas parodyti vartotojui, kiek Hz jie yra nutolę nuo tikrosios natos.
Nusprendžiau, kad skaitiklio indikatorius geriausiai parodys vartotojui, ką reikia padaryti, kad užrašas būtų suderintas.
3 žingsnis: Toliau analoginė grandinė
Mikrofonas, kurį naudoju šiam projektui, yra CMA-6542PF kondensatoriaus elektretinis mikrofonas. Šio mikrofono duomenų lapas yra žemiau. Skirtingai nuo daugelio tokio tipo kondensatorinių mikrofonų, man nereikėjo jaudintis dėl poliškumo. Duomenų lapas rodo, kad šio mikrofono darbinė įtampa yra 4,5–10 V, tačiau rekomenduojama 4,5 V, o srovės suvartojimas yra ne didesnis kaip 0,5 mA, todėl reikia atkreipti dėmesį kuriant jo stiprintuvo grandinę. Veikimo dažnis yra nuo 20 Hz iki 20 kHz, kuris puikiai tinka garsui.
Aš įdiegiau paprastą išankstinio stiprintuvo grandinės dizainą ant duonos plokštės ir sureguliavau įėjimo įtampą, įsitikindamas, kad per mikrofoną nėra daugiau kaip 0,5 mA. Kondensatorius naudojamas nuolatinės srovės triukšmui, kuris gali būti sujungtas su elektriniais signalais (išėjimu), filtruoti, o kondensatorius turi poliškumą, todėl būtinai prijunkite teigiamą galą prie mikrofono išvesties kaiščio.
Kai grandinė buvo baigta, prijungiau grandinės išvestį prie pirmojo USB-6008 analoginio įvesties kaiščio (AI0, 2 kaištis), o duonos lentos įžeminimą prijungiau prie analoginio įžeminimo kaiščio (GND, 1 kaištis). Aš prijungiau USB-6008 prie kompiuterio naudodami USB ir atėjo laikas koreguoti „LabVIEW“programą, kad būtų priimtas tikrasis analoginis signalas.
4 žingsnis: skaitykite analoginius signalus naudodami „DAQ Assistant“
Užuot naudojęs „SoundFileSimpleRead. VI“ir „HarmonicDistortionAnalyzer. VI“, analoginiam įėjimui panaudojau „DAQ Assistant. VI“ir „ToneMeasurements. VI“. „DAQ Assistant“sąranka yra gana paprasta, o pats VI padės jums atlikti veiksmus. „ToneMeasurements. VI“turi daug išėjimų, iš kurių galima pasirinkti (amplitudė, dažnis, fazė), todėl naudojau dažnio išvestį, kuri suteikia pagrindinį įvesties tono dažnį (iš „DAQ Assistant. VI“). „ToneMeasurements. VI“išvestį reikėjo konvertuoti ir sudėti į masyvą, kad ji galėtų būti panaudota korpuso struktūrose, tačiau likusi „LabVIEW“programavimo/rodiklių dalis liko ta pati.
5 žingsnis: Išvada
Projektas buvo sėkmingas, tačiau tikrai buvo daug trūkumų. Kai valdžiau imtuvą triukšmingoje klasėje, programai buvo labai sunku nustatyti, kas yra triukšmas ir koks tonas. Greičiausiai taip yra dėl to, kad išankstinio stiprintuvo grandinė yra labai paprasta, o mikrofonas - labai pigus. Tačiau kai buvo tylu, programa labai patikimai dirbo, kad nustatytų bandomą groti natą. Dėl laiko apribojimų jokių papildomų pakeitimų nepadariau, tačiau, jei norėčiau pakartoti projektą, įsigyčiau geresnį mikrofoną ir daugiau laiko praleisčiau prie stiprintuvo grandinės.
Rekomenduojamas:
Kaip sukurti MP3 grotuvą naudojant LCD naudojant „Arduino“ir „DFPlayer Mini“MP3 grotuvo modulį: 6 žingsniai
Kaip sukurti MP3 grotuvą naudojant skystųjų kristalų ekraną naudojant „Arduino“ir „DFPlayer Mini“MP3 grotuvo modulį: Šiandien mes pagaminsime MP3 grotuvą su LCD, naudodami „Arduino“ir „DFPlayer“mini MP3 grotuvo modulį. Projektas gali nuskaityti MP3 failus SD kortelėje ir gali pristabdyti ir žaisti taip pat, kaip ir prieš 10 metų. Taip pat jame yra linksma ankstesnė ir kita daina
ATmega328 programavimas naudojant „Arduino IDE“naudojant 8MHz kristalą: 4 žingsniai
„ATmega328“programavimas naudojant „Arduino IDE“naudojant 8MHz kristalą: šioje Instrukcinėje medžiagoje aprašysiu žingsnis po žingsnio programavimo ATmega328P IC (tas pats mikrovaldiklis, esantis „Arudino UNO“) programavimą, naudojant „Arduino IDE“ir „Arduino UNO“kaip programuotoją, kad padarytumėte save pasirinktinis „Arduino“, kad galėtumėte kurti savo projektus
Temperatūros valdymas namuose naudojant PID ir „Labview“: 4 žingsniai
Temperatūros valdymas namuose naudojant PID ir „Labview“: PID automatinė suvestinė sistema pengontrolan yang biasa digunakan pada dunia indusri yang telah bukti keandalannya disini kita akan mengimplementasikan kontroller PID pada pengatur suhu ruangan menggunakan labview
Nuolatinės srovės variklio krypties ir greičio valdymas naudojant LABVIEW (PWM) ir ARDUINO: 5 žingsniai
Nuolatinės srovės variklio krypties ir greičio valdymas, naudojant LABVIEW (PWM) IR ARDUINO: Sveiki, vaikinai, pirmiausia atsiprašau už juokingą anglų kalbą. Šioje pamokoje aš jums parodysiu, kaip valdyti nuolatinės srovės variklio greitį naudojant „Labview“. Pradėkime
„Pasidaryk pats“EKG naudojant „Analog Discovery 2“ir „LabVIEW“: 8 žingsniai
„Pasidaryk pats“EKG naudojant „Analog Discovery 2“ir „LabVIEW“: šioje instrukcijoje parodysiu, kaip pasidaryti naminį elektrokardiografą (EKG). Šios mašinos tikslas yra sustiprinti, išmatuoti ir įrašyti širdies sukurtą natūralų elektros potencialą. EKG gali atskleisti daugybę informacijos apie