Sadržaj:

Ukelele tuner pomoću LabView i NI USB-6008: 5 koraka
Ukelele tuner pomoću LabView i NI USB-6008: 5 koraka

Video: Ukelele tuner pomoću LabView i NI USB-6008: 5 koraka

Video: Ukelele tuner pomoću LabView i NI USB-6008: 5 koraka
Video: UKULELE 🎸 - POSTAVLJANJE UKULELE, Veston Sopran ukulele, Clip on Tuner 2024, Srpanj
Anonim
Ukelele tuner pomoću LabView i NI USB-6008
Ukelele tuner pomoću LabView i NI USB-6008
Ukelele tuner pomoću LabView i NI USB-6008
Ukelele tuner pomoću LabView i NI USB-6008

Kao projekt učenja zasnovanog na problemima za moj tečaj LabVIEW & Instrumentation na Humber Collegeu (Tehnologija elektroničkog inženjerstva), stvorio sam ukulele tuner koji će uzeti analogni ulaz (ton ukulele žice), pronaći osnovnu frekvenciju, odlučiti koja nota pokušava za podešavanje i reći korisniku treba li niz prilagoditi prema gore ili prema dolje. Uređaj koji sam koristio za prevođenje analognog ulaza u digitalni ulaz bio je National Instruments USB-6008 DAQ (uređaj za prikupljanje podataka), a korisničko sučelje je implementirano s LabVIEW-om.

Korak 1: Standardno ugađanje Ukelelea

Standardno Ukelele ugađanje
Standardno Ukelele ugađanje
Standardno Ukelele ugađanje
Standardno Ukelele ugađanje

Prvi je korak bio otkrivanje temeljnih frekvencija glazbenih nota i raspona na kojem su ukulele žice tipično ugođene. Koristio sam ove dvije karte i odlučio da svoj raspon tonova postavim između 262 Hz (C) i 494Hz (Visoko B). Sve manje od 252 Hz smatralo bi se preniskim da bi program dešifrirao koju notu pokušava svirati, a sve veće od 500 Hz smatralo bi se previsokim. Program, međutim, i dalje govori korisniku koliko Hz ima daleko od najbliže dešifrirane note, te treba li niz podesiti prema gore (nota prenisko) ili prema dolje (nota previsoko) da dosegne dostupnu notu.

Osim toga, stvorio sam raspone za svaku notu, a ne samo za jednu frekvenciju, kako bi programu bilo lakše pronaći koja se nota svira. Na primjer, program bi korisniku rekao da se svira C ako nota ima temeljnu frekvenciju između 252 Hz (na pola puta do B) i 269Hz (na pola puta do C#), ali kako bi odlučio da li ga treba podesiti ili niže, ipak bi usporedio sviranu notu s osnovnom frekvencijom C koja je 262Hz.

Korak 2: Stvaranje čisto digitalnog teorijskog modela

Stvaranje čisto digitalnog teorijskog modela
Stvaranje čisto digitalnog teorijskog modela
Stvaranje čisto digitalnog teorijskog modela
Stvaranje čisto digitalnog teorijskog modela

Prije nego što sam zaronio u analognu stranu projekta, želio sam vidjeti mogu li stvoriti program LabVIEW koji će barem obaviti glavnu obradu uzorka zvuka, poput čitanja audio.wav uzorka, pronalaženja temeljne frekvencije i izrade potrebne usporedbe s grafikonom frekvencija kako bi se ustanovilo treba li zvuk podesiti prema gore ili prema dolje.

Koristio sam SoundFileSimpleRead. VI dostupan u LabVIEW -u za čitanje.wav datoteke s puta koji sam odredio, stavio signal u indeksirani niz i ubacio taj signal u HarmonicDistortionAnalyzer. VI kako bih pronašao osnovnu frekvenciju. Uzeo sam i signal sa SoundFileSimpleRead. VI i spojio ga izravno u indikator grafikona valnog oblika tako da korisnik može vidjeti valni oblik datoteke na prednjoj ploči.

Napravio sam 2 strukture slučaja: jednu za analizu note koja se svira, a drugu za utvrđivanje treba li žicu povećati ili smanjiti. U prvom slučaju, stvorio sam raspone za svaku notu, a ako je signal osnovne frekvencije iz HarmonicDistortionAnalyzer. VI u tom rasponu, korisniku bi rekao koja se nota svira. Nakon što je nota određena, vrijednost odsvirane note oduzeta je stvarnom osnovnom frekvencijom note, a zatim je rezultat premješten u drugi slučaj koji je odredio sljedeće: ako je rezultat iznad nule, tada je potrebno ugađanje žice; ako je rezultat netočan (ne iznad nule), tada slučaj provjerava je li vrijednost jednaka nuli, a ako je točno, tada će program obavijestiti korisnika da je nota usklađena; ako vrijednost nije jednaka nuli, to znači da mora biti manja od nule i da niz treba podesiti. Uzeo sam apsolutnu vrijednost rezultata kako bih korisniku pokazao koliko Hz ima daleko od prave note.

Odlučio sam da će indikator mjerača biti najbolji za vizualno prikazivanje korisniku što treba učiniti kako bi bilješka bila usklađena.

Korak 3: Zatim, analogni krug

Zatim, analogni krug
Zatim, analogni krug
Zatim, analogni krug
Zatim, analogni krug
Zatim, analogni krug
Zatim, analogni krug

Mikrofon koji sam koristio za ovaj projekt je kondenzatorski elektronski mikrofon CMA-6542PF. Tehnički list za ovaj mikrofon nalazi se u nastavku. Za razliku od većine kondenzatorskih mikrofona ove vrste, nisam morao brinuti o polaritetu. Tehnički podaci pokazuju da je radni napon za ovaj mikrofon 4,5 - 10 V, ali preporučuje se 4,5 V, a potrošnja struje mu je 0,5 mA max pa je to nešto na što treba biti oprezan pri projektiranju sklopa pretpojačala za njega. Radna frekvencija je 20Hz do 20kHz što je savršeno za zvuk.

Implementirao sam jednostavan sklop pretpojačala na ploču i prilagodio ulazni napon, pazeći da preko mikrofona nema više od 0,5 mA. Kondenzator se koristi za filtriranje istosmjerne buke koja bi se mogla spojiti zajedno s električnim signalima (izlaz), a kondenzator ima polaritet pa svakako priključite pozitivni kraj na izlazni pin mikrofona.

Nakon što je krug dovršen, spojio sam izlaz kruga na prvi analogni ulazni pin (AI0, pin 2) USB-6008 i spojio uzemljenje matične ploče na analogni uzemljeni pin (GND, pin 1). Spojio sam USB-6008 na računalo putem USB-a i došlo je vrijeme da prilagodimo program LabVIEW kako bismo primili stvarni analogni signal.

Korak 4: Čitanje analognih signala s DAQ pomoćnikom

Čitanje analognih signala s DAQ pomoćnikom
Čitanje analognih signala s DAQ pomoćnikom
Čitanje analognih signala s DAQ pomoćnikom
Čitanje analognih signala s DAQ pomoćnikom

Umjesto SoundFileSimpleRead. VI i HarmonicDistortionAnalyzer. VI, za rješavanje analognog ulaza koristio sam DAQ Assistant. VI i ToneMeasurements. VI. Postavljanje pomoćnika DAQ prilično je jednostavno, a sam VI vas vodi kroz korake. ToneMeasurements. VI ima mnogo izlaza za odabir (amplituda, frekvencija, faza), pa sam koristio frekvencijski izlaz koji daje osnovnu frekvenciju ulaznog tona (iz DAQ Assistant. VI). Izlaz ToneMeasurements. VI morao se pretvoriti i staviti u niz prije nego što se mogao koristiti u strukturi predmeta, ali ostatak programa/pokazatelja LabVIEW -a ostao je isti.

Korak 5: Zaključak

Zaključak
Zaključak

Projekt je bio uspješan, ali je definitivno bilo puno nedostataka. Dok sam upravljao tunerom u bučnoj učionici, programu je bilo jako teško odrediti što je buka i koji se ton svira. To je vjerojatno zbog toga što je sklop pretpojačala vrlo jednostavan, a mikrofon vrlo jeftin. Međutim, kad je bilo tiho, program je s dobrom pouzdanošću radio na utvrđivanju note koja se pokušavala svirati. Zbog vremenskih ograničenja nisam napravio nikakve dodatne promjene, ali ako bih ponovio projekt, kupio bih bolji mikrofon i proveo bih više vremena na krugu pretpojačala.

Preporučeni: