Innholdsfortegnelse:
- Trinn 1: Standard Ukelele Tuning
- Trinn 2: Lage en rent digital teoretisk modell
- Trinn 3: Deretter den analoge kretsen
- Trinn 4: Lese analoge signaler med DAQ Assistant
- Trinn 5: Konklusjon
Video: Ukelele-tuner ved hjelp av LabView og NI USB-6008: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Som et problembasert læringsprosjekt for mitt LabVIEW & Instrumentation-kurs ved Humber College (Electronics Engineering Technology), opprettet jeg en ukulele-tuner som ville ta en analog inngang (ukulele-strengetone), finne grunnfrekvensen, bestemme hvilken tone som prøvde for å bli innstilt, og fortell brukeren om strengen måtte stilles opp eller ned. Enheten jeg brukte til å oversette den analoge inngangen til digital inngang var National Instruments USB-6008 DAQ (datainnsamlingsenhet), og brukergrensesnittet ble implementert med LabVIEW.
Trinn 1: Standard Ukelele Tuning
Det første trinnet var å finne ut de grunnleggende frekvensene til musikknoter, og hvilket område ukulele -strengene vanligvis er innstilt på. Jeg brukte disse to diagrammene, og bestemte meg for at jeg ville gjøre mitt toneområde mellom 262 Hz (C) og 494 Hz (High B). Alt mindre enn 252 Hz vil bli ansett som for lavt til at programmet kan tyde hvilken tone som ble spilt, og alt større enn 500 Hz vil bli ansett som for høyt. Programmet forteller imidlertid fortsatt brukeren hvor mange Hz de er borte fra den nærmeste dekrypterbare noten, og om strengen bør stilles opp (note for lav) eller ned (note for høy) for å nå en tilgjengelig note.
I tillegg opprettet jeg områder for hver tone, i stedet for bare en enkelt frekvens, slik at det ville være lettere for programmet å finne hvilken tone som ble spilt. For eksempel vil programmet fortelle brukeren at en C spilles hvis noten hadde en grunnfrekvens mellom 252 Hz (halvveis til B) og 269Hz (halvveis til C#), men for å avgjøre om den måtte stilles opp eller ned, vil den fortsatt sammenligne noten som spilles med grunnfrekvensen til C som er 262Hz.
Trinn 2: Lage en rent digital teoretisk modell
Før jeg dykket ned i den analoge siden av prosjektet, ønsket jeg å se om jeg kunne lage et LabVIEW -program som i det minste ville gjøre hovedbehandlingen av et lydprøve, for eksempel å lese en lyd.wav -prøve, finne grunnfrekvensen og lage de nødvendige sammenligningene med frekvensdiagrammet for å finne ut om lyden skal stemmes opp eller ned.
Jeg brukte SoundFileSimpleRead. VI som var tilgjengelig i LabVIEW for å lese en.wav -fil fra en bane som jeg angav, sette signalet i en indeksert matrise og matet det signalet inn i HarmonicDistortionAnalyzer. VI for å finne grunnfrekvensen. Jeg tok også signalet fra SoundFileSimpleRead. VI og koblet det direkte til en kurveformindikator slik at brukeren kan se bølgeformen til filen på frontpanelet.
Jeg opprettet to saksstrukturer: en for å analysere hvilken tone som ble spilt, og den andre for å avgjøre om strengen måtte skrues opp eller ned. I det første tilfellet opprettet jeg områder for hver tone, og hvis det grunnleggende frekvenssignalet fra HarmonicDistortionAnalyzer. VI var i det området, ville det fortelle brukeren hvilken tone som ble spilt. Når noten var bestemt, ble den spilte notatverdien trukket fra notens faktiske grunnfrekvens, og deretter ble resultatet flyttet inn i det andre tilfellet som bestemte følgende: hvis resultatet er over null, må strengen stilles ned; hvis resultatet er usant (ikke over null), kontrollerer saken om verdien er lik null, og hvis det er sant, vil programmet varsle brukeren om at notatet er i harmoni; Hvis verdien ikke er lik null, betyr det at den må være mindre enn null, og at strengen må justeres. Jeg tok den absolutte verdien av resultatet for å vise brukeren hvor mange Hz de er borte fra den sanne noten.
Jeg bestemte meg for at en målerindikator ville være den beste for å visuelt vise brukeren hva som må gjøres for å gjøre notatet i harmoni.
Trinn 3: Deretter den analoge kretsen
Mikrofonen jeg brukte til dette prosjektet er CMA-6542PF kondensator elektretmikrofon. Dataarket for denne mikrofonen er nedenfor. I motsetning til de fleste kondensatormikrofoner av denne typen, trengte jeg ikke å bekymre meg for polaritet. Databladet viser at driftsspenningen for denne mikrofonen er 4,5 - 10V, men 4,5 V anbefales, og strømforbruket er maks 0,5mA, så det er noe å være forsiktig med når du designer en forforsterkerkrets for den. Driftsfrekvensen er 20Hz til 20kHz som er perfekt for lyd.
Jeg implementerte en enkel forforsterkerkretsdesign på brødbrettet og justerte inngangsspenningen, og passet på at det ikke var mer enn 0,5mA over mikrofonen. Kondensatoren brukes til å filtrere likestrømmen som kan kobles sammen med de elektriske signalene (utgang), og kondensatoren har polaritet, så sørg for å koble den positive enden til mikrofonutgangsstiften.
Etter at kretsen var fullført, koblet jeg utgangen til kretsen til den første analoge inngangspinnen (AI0, pin 2) på USB-6008, og koblet bakken på brødbrettet til den analoge jordpinnen (GND, pin 1). Jeg koblet USB-6008 til PCen med en USB, og det var på tide å gjøre justeringer i LabVIEW-programmet for å ta inn et faktisk analogt signal.
Trinn 4: Lese analoge signaler med DAQ Assistant
I stedet for å bruke SoundFileSimpleRead. VI og HarmonicDistortionAnalyzer. VI, brukte jeg DAQ Assistant. VI og ToneMeasurements. VI for å håndtere den analoge inngangen. DAQ Assistant-oppsettet er ganske rett frem, og selve VI tar deg gjennom trinnene. ToneMeasurements. VI har mange utganger å velge mellom (amplitude, frekvens, fase), så jeg brukte frekvensutgangen som gir grunnfrekvensen til inngangstonen (fra DAQ Assistant. VI). Utgangen fra ToneMeasurements. VI måtte konverteres og settes til en matrise før den kunne brukes i saksstrukturene, men resten av LabVIEW -programmeringen/indikatorene forble den samme.
Trinn 5: Konklusjon
Prosjektet var en suksess, men det var definitivt mange feil. Da jeg betjente tuneren i et støyende klasserom, var det veldig vanskelig for programmet å finne ut hva som var støy og hvilken tone som ble spilt. Dette skyldes sannsynligvis at forforsterkerkretsen er veldig grunnleggende, og mikrofonen er veldig billig. Når det var stille, jobbet programmet imidlertid med god pålitelighet for å bestemme noten som prøvde å bli spilt. På grunn av tidsbegrensninger gjorde jeg ingen ytterligere endringer, men hvis jeg skulle gjenta prosjektet, ville jeg kjøpe en bedre mikrofon og bruke mer tid på forforsterkerkretsen.
Anbefalt:
DIY -- Hvordan lage en edderkopprobot som kan kontrolleres ved hjelp av smarttelefon ved hjelp av Arduino Uno: 6 trinn
DIY || Hvordan lage en edderkopprobot som kan kontrolleres ved hjelp av smarttelefon ved hjelp av Arduino Uno: Mens du lager en edderkopprobot, kan du lære så mange ting om robotikk. Som å lage roboter er både underholdende og utfordrende. I denne videoen skal vi vise deg hvordan du lager en Spider -robot, som vi kan bruke ved hjelp av smarttelefonen vår (Androi
Få blind til å gjenkjenne ting ved å berøre ting rundt dem ved hjelp av MakeyMakey: 3 trinn
Gjør blinde gjenkjenne ting ved å berøre ting rundt dem ved hjelp av MakeyMakey: introduksjon Dette prosjektet tar sikte på å gjøre blindes liv lett ved å identifisere ting rundt dem gjennom berøringsfølelsen. Meg og min sønn Mustafa tenkte vi på å finne et verktøy for å hjelpe dem, og i perioden vi brukte MakeyMakey -maskinvaren til
Hvordan lage en drone ved hjelp av Arduino UNO - Lag en quadcopter ved hjelp av mikrokontroller: 8 trinn (med bilder)
Hvordan lage en drone ved hjelp av Arduino UNO | Lag en Quadcopter ved hjelp av mikrokontroller: Introduksjon Besøk min Youtube -kanal En Drone er en veldig dyr gadget (produkt) å kjøpe. I dette innlegget skal jeg diskutere hvordan jeg får det billig? Og hvordan kan du lage din egen slik til en billig pris … Vel, i India er alle materialer (motorer, ESCer
NODEMcu USB -port fungerer ikke? Last opp koden ved hjelp av USB til TTL (FTDI) -modulen på bare 2 trinn: 3 trinn
NODEMcu USB -port fungerer ikke? Last opp koden ved hjelp av USB til TTL (FTDI) -modulen på bare 2 trinn: Sliten av å koble til mange ledninger fra USB til TTL -modul til NODEMcu, følg denne instruksjonen for å laste opp koden på bare 2 trinn. Hvis USB -porten på NODEMcu fungerer ikke, ikke få panikk. Det er bare USB -driverbrikken eller USB -kontakten
DIY EKG ved hjelp av en analog oppdagelse 2 og LabVIEW: 8 trinn
DIY EKG ved hjelp av en analog oppdagelse 2 og LabVIEW: I denne instruksen vil jeg vise deg hvordan du lager en hjemmelaget elektrokardiograf (EKG). Målet med denne maskinen er å forsterke, måle og registrere det naturlige elektriske potensialet som hjertet skaper. Et EKG kan avsløre et vell av informasjon om