Բովանդակություն:

Ukelele Tuner օգտագործելով LabView և NI USB-6008: 5 քայլ
Ukelele Tuner օգտագործելով LabView և NI USB-6008: 5 քայլ

Video: Ukelele Tuner օգտագործելով LabView և NI USB-6008: 5 քայլ

Video: Ukelele Tuner օգտագործելով LabView և NI USB-6008: 5 քայլ
Video: УКУЛЕЛЕ 🎸 - ԿԱՐԳԱՎՈՐԵԼ УКУЛЕЛЕ, Veston Սոպրանո укулеле, Clip-on Tuner 2024, Նոյեմբեր
Anonim
Ukelele Tuner օգտագործելով LabView և NI USB-6008
Ukelele Tuner օգտագործելով LabView և NI USB-6008
Ukelele Tuner օգտագործելով LabView և NI USB-6008
Ukelele Tuner օգտագործելով LabView և NI USB-6008

Որպես խնդրի վրա հիմնված ուսուցման նախագիծ իմ HumVI քոլեջի LabVIEW & Instrumentation դասընթացի համար (Էլեկտրոնիկայի ինժեներական տեխնոլոգիա), ես ստեղծեցի ukulele կարգավորիչ, որը անալոգային մուտքագրում կկատարեր (ukulele լարային հնչերանգ), գտավ հիմնարար հաճախականությունը, որոշեց, թե ինչ նոտա էր փորձում: կարգավորվելու համար և օգտագործողին ասեք ՝ արդյոք պարանն անհրաժեշտ է լարել վեր կամ վար: Սարքը, որն օգտագործել եմ անալոգային մուտքը թվային մուտքագրելու համար, եղել է National Instruments USB-6008 DAQ (տվյալների հավաքման սարք), իսկ օգտագործողի միջերեսն իրականացվել է LabVIEW- ով:

Քայլ 1: Ստանդարտ Ukelele թյունինգ

Ստանդարտ Ukelele թյունինգ
Ստանդարտ Ukelele թյունինգ
Ստանդարտ Ukelele թյունինգ
Ստանդարտ Ukelele թյունինգ

Առաջին քայլը երաժշտական նոտաների հիմնարար հաճախականությունների պարզումն էր, և թե որ տիրույթում են սովորաբար ընդունվում ուկուլելեի լարերը: Ես օգտագործեցի այս երկու գծապատկերները և որոշեցի, որ իմ հնչերանգների տիրույթը կկազմի 262 Հց (C) և 494Hz (բարձր B) միջև: 252 Հց -ից պակաս որևէ բան չափազանց ցածր կհամարվեր ծրագրի համար, որպեսզի վերծանվեր, թե ինչ նոտա է փորձում նվագարկվել, և 500 Հց -ից բարձր բաները կհամարվեն չափազանց բարձր: Programրագիրը, այնուամենայնիվ, դեռևս օգտագործողին ասում է, թե քանի Հց են նրանք հեռու ամենամոտ վերծանվող նոտայից, և եթե տողը պետք է կարգավորվի վերևում (նշումը չափազանց ցածր է) կամ ներքևում (նշումը չափազանց բարձր է) `հասանելի նոտային հասնելու համար:

Բացի այդ, ես ստեղծեցի միջակայքեր յուրաքանչյուր նոտայի համար, այլ ոչ թե մեկ հաճախականության, որպեսզի ծրագրի համար ավելի հեշտ լինի գտնել, թե որ նոտան է նվագարկվում: Օրինակ, ծրագիրը օգտագործողին կասի, որ C- ն նվագարկվում է, եթե նոտան ունենա հիմնարար հաճախականություն 252 Հց (կեսից մինչև B) և 269 Հց (կեսից մինչև C#) միջև, բայց որոշելու համար, թե արդյոք անհրաժեշտ է այն կարգաբերել կամ ներքև, այն դեռ կհամեմատի նվագարկվող նոտան C- ի հիմնարար հաճախականության հետ, որը 262 Հց է:

Քայլ 2. ureուտ թվային տեսական մոդելի ստեղծում

Ureուտ թվային տեսական մոդելի ստեղծում
Ureուտ թվային տեսական մոդելի ստեղծում
Ureուտ թվային տեսական մոդելի ստեղծում
Ureուտ թվային տեսական մոդելի ստեղծում

Նախքան նախագծի անալոգային կողմը մտնելը, ես ուզում էի տեսնել, թե կարո՞ղ եմ արդյոք ստեղծել LabVIEW ծրագիր, որը գոնե կկատարի ձայնային նմուշի հիմնական մշակում, օրինակ. պահանջվող համեմատությունները հաճախականությունների գծապատկերին `պարզելու համար, թե արդյոք ձայնը պետք է կարգավորվի վեր կամ վար:

Ես օգտագործել եմ LabVIEW- ում առկա SoundFileSimpleRead. VI- ը ՝ կարդալու համար.wav ֆայլը իմ նշանակած ուղուց, ազդանշանը ինդեքսավորված զանգվածի մեջ դնելով և այդ ազդանշանը սնուցելով HarmonicDistortionAnalyzer. VI- ում ՝ հիմնարար հաճախականությունը գտնելու համար: Ես նաև վերցրի ազդանշանը SoundFileSimpleRead. VI- ից և այն ուղղակիորեն միացրեցի ալիքի ձևի ցուցիչի ցուցիչին, որպեսզի օգտագործողը տեսնի ֆայլի ալիքի ձևը առջևի վահանակի վրա:

Ես ստեղծեցի 2 գործի կառուցվածք. Մեկը ՝ վերլուծելու համար, թե ինչ նոտա էր նվագվում, իսկ մյուսը ՝ որոշելու ՝ լարն անհրաժեշտ է բարձրացնել կամ նվազեցնել: Առաջին դեպքի համար ես ստեղծեցի միջակայքեր յուրաքանչյուր նոտայի համար, և եթե HarmonicDistortionAnalyzer. VI- ի հիմնական հաճախականության ազդանշանը այդ տիրույթում էր, այն օգտագործողին կասեր, թե ինչ նոտա է նվագարկվում: Նոտան որոշվելուց հետո խաղարկվող նոտայի արժեքը հանվում է նոտայի փաստացի հիմնարար հաճախականությամբ, այնուհետև արդյունքը տեղափոխվում է երկրորդ դեպքի մեջ, որը որոշում է հետևյալը. եթե արդյունքը կեղծ է (զրոյից բարձր չէ), ապա գործը ստուգում է, արդյոք արժեքը հավասար է զրոյի, իսկ եթե ճշմարիտ է, ապա ծրագիրը օգտագործողին կտեղեկացնի, որ նշումը համահունչ է. եթե արժեքը հավասար չէ զրոյի, ապա դա նշանակում է, որ այն պետք է լինի զրոյից փոքր, և որ տողը պետք է կարգավորվի: Ես վերցրի արդյունքի բացարձակ արժեքը ՝ օգտվողին ցույց տալու համար, թե քանի Հց են նրանք հեռու իրական նոտայից:

Ես որոշեցի, որ հաշվիչի ցուցիչն ամենալավն է օգտագործողին տեսողականորեն ցույց տալու համար, թե ինչ պետք է արվի `նշումը համահունչ կատարելու համար:

Քայլ 3: Հաջորդը ՝ Անալոգային սխեման

Հաջորդը, Անալոգային սխեման
Հաջորդը, Անալոգային սխեման
Հաջորդը, Անալոգային սխեման
Հաջորդը, Անալոգային սխեման
Հաջորդը, Անալոգային սխեման
Հաջորդը, Անալոգային սխեման

Այս նախագծի համար օգտագործած խոսափողը CMA-6542PF կոնդենսատորի էլեկտրական խոսափողն է: Այս խոսափողի տվյալների թերթիկը ստորև է: Ի տարբերություն այս տիպի խտացուցիչ միկրոֆոնների, ես չպետք է անհանգստանայի բևեռության մասին: Տվյալների թերթիկը ցույց է տալիս, որ այս խոսափողի աշխատանքային լարումը 4,5 - 10 Վ է, բայց առաջարկվում է 4,5 Վ, իսկ ընթացիկ սպառումը ՝ առավելագույնը 0,5 մԱ, այնպես որ դրա համար պետք է զգույշ լինել դրա համար նախապատրաստական միացում նախագծելիս: Գործող հաճախականությունը 20 Հց -ից 20 կՀց է, որը կատարյալ է ձայնի համար:

Ես իրականացրի մի նախադիտման սխեմայի պարզ նախագիծ տախտակի վրա և կարգավորեցի մուտքային լարումը ՝ համոզվելով, որ խոսափողի վրա 0,5 մԱ -ից ոչ ավել կա: Կոնդենսատորը օգտագործվում է DC աղմուկը զտելու համար, որը կարող է զուգակցվել էլեկտրական ազդանշանների հետ (ելք), իսկ կոնդենսատորն ունի բևեռականություն, այնպես որ համոզվեք, որ դրական ծայրը միացրեք խոսափողի ելքային քորոցին:

Շղթայի ավարտից հետո ես միացրեցի սխեմայի ելքը USB-6008- ի առաջին անալոգային մուտքի քորոցին (AI0, pin 2) և միացրեցի տախտակի հիմքը անալոգային գրունտի քորոցին (GND, pin 1): USB-6008- ը համակարգչին միացրեցի USB- ով և ժամանակն էր ճշգրտումներ կատարել LabVIEW ծրագրում `իրական անալոգային ազդանշան ընդունելու համար:

Քայլ 4. Անալոգային ազդանշանների ընթերցում DAQ օգնականի հետ

Անալոգային ազդանշանների ընթերցում DAQ օգնականի հետ
Անալոգային ազդանշանների ընթերցում DAQ օգնականի հետ
Անալոգային ազդանշանների ընթերցում DAQ օգնականի հետ
Անալոգային ազդանշանների ընթերցում DAQ օգնականի հետ

SoundFileSimpleRead. VI- ի և HarmonicDistortionAnalyzer. VI- ի օգտագործման փոխարեն ես օգտագործեցի DAQ Assistant. VI- ն և ToneMeasurements. VI- ը `անալոգային մուտքի հետ առնչվելու համար: DAQ օգնականի կարգավորումը բավականին պարզ է, և VI- ն ինքն է ձեզ տանում քայլերի միջոցով: The ToneMeasurements. VI- ն ընտրելու շատ ելքեր ունի (ամպլիտուդ, հաճախականություն, փուլ), այնպես որ ես օգտագործեցի հաճախականության ելքը, որը տալիս է մուտքային հնչերանգի հիմնական հաճախականությունը (DAQ օգնականից. VI): ToneMeasurements. VI- ի արդյունքը պետք է փոխարկվեր և տեղադրվեր զանգվածի մեջ, նախքան գործի կառուցվածքներում օգտագործելը, սակայն LabVIEW- ի ծրագրավորման/ցուցիչների մնացած մասը մնաց նույնը:

Քայլ 5: Եզրակացություն

Եզրակացություն
Եզրակացություն

Նախագիծը հաջողված էր, բայց հաստատ շատ թերություններ կային: Երբ ես աշխատում էի լարիչով աղմկոտ դասարանում, ծրագրի համար շատ դժվար էր որոշել, թե որն է աղմուկը և որն է հնչում հնչերանգը: Դա, ամենայն հավանականությամբ, պայմանավորված է նախալարային սխեման շատ տարրական լինելու պատճառով, իսկ խոսափողը `շատ էժան: Երբ հանդարտ էր, սակայն, ծրագիրը լավ հուսալիությամբ աշխատեց որոշելու այն նոտան, որը փորձում էր նվագարկվել: Timeամանակի սղության պատճառով ես որևէ լրացուցիչ փոփոխություն չեմ կատարել, բայց եթե ես կրկնեի նախագիծը, ես ավելի լավ խոսափող կգնեի և ավելի շատ ժամանակ կծախսեի նախապատրաստական միացման վրա:

Խորհուրդ ենք տալիս: