Indholdsfortegnelse:
- Trin 1: Standard Ukelele Tuning
- Trin 2: Oprettelse af en rent digital teoretisk model
- Trin 3: Dernæst det analoge kredsløb
- Trin 4: Læsning af analoge signaler med DAQ Assistant
- Trin 5: Konklusion
Video: Ukelele-tuner ved hjælp af LabView og NI USB-6008: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Som et problembaseret læringsprojekt for mit LabVIEW & Instrumentation-kursus på Humber College (Electronics Engineering Technology) skabte jeg en ukulele-tuner, der ville tage en analog indgang (ukulele-strengetone), finde den grundlæggende frekvens, bestemme hvilken note der prøvede for at blive indstillet, og fortæl brugeren, om strengen skulle justeres op eller ned. Enheden, jeg brugte til at oversætte det analoge input til digital input, var National Instruments USB-6008 DAQ (dataopsamlingsenhed), og brugergrænsefladen blev implementeret med LabVIEW.
Trin 1: Standard Ukelele Tuning
Det første trin var at finde ud af de grundlæggende frekvenser for musiknoter, og hvilket område ukulele -strengene typisk er indstillet til. Jeg brugte disse to diagrammer og besluttede, at jeg ville lave mit toneområde mellem 262 Hz (C) og 494 Hz (High B). Alt mindre end 252 Hz ville blive betragtet som for lavt til, at programmet kunne tyde, hvilken note der forsøgte at blive spillet, og alt større end 500 Hz ville blive betragtet som for højt. Programmet fortæller dog stadig brugeren, hvor mange Hz de er væk fra den nærmeste dekrypterbare note, og om strengen skal indstilles (note for lav) eller ned (note for høj) for at nå en tilgængelig note.
Derudover oprettede jeg intervaller for hver note, frem for kun en enkelt frekvens, så det ville være lettere for programmet at finde, hvilken note der blev spillet. For eksempel ville programmet fortælle brugeren, at der spilles et C, hvis noten havde en grundlæggende frekvens mellem 252 Hz (halvvejs til B) og 269 Hz (halvvejs til C#), men for at afgøre, om den skulle justeres eller ned, ville det stadig sammenligne den tone, der spilles, med grundfrekvensen for C, som er 262Hz.
Trin 2: Oprettelse af en rent digital teoretisk model
Inden jeg dykkede ind i den analoge side af projektet, ville jeg se, om jeg kunne oprette et LabVIEW -program, der i det mindste ville udføre hovedbehandlingen af en lydprøve, såsom at læse en lyd.wav -prøve, finde den grundlæggende frekvens og lave de nødvendige sammenligninger med frekvensdiagrammet for at finde ud af, om lyden skal stemmes op eller ned.
Jeg brugte SoundFileSimpleRead. VI til rådighed i LabVIEW til at læse en.wav -fil fra en sti, jeg angav, sætte signalet i et indekseret array og matede det signal ind i HarmonicDistortionAnalyzer. VI for at finde grundfrekvensen. Jeg tog også signalet fra SoundFileSimpleRead. VI og sluttede det direkte til en kurveformindikator, så brugeren kan se bølgeformen for filen på frontpanelet.
Jeg oprettede 2 sagsstrukturer: den ene for at analysere, hvilken note der blev spillet, og den anden for at afgøre, om strengen skulle skrues op eller ned. I det første tilfælde oprettede jeg intervaller for hver note, og hvis grundfrekvenssignalet fra HarmonicDistortionAnalyzer. VI var i dette område, ville det fortælle brugeren, hvilken note der blev spillet. Når noten var bestemt, blev den spillede toneværdi trukket fra notens faktiske grundfrekvens, og derefter blev resultatet flyttet ind i den anden sag, der bestemte følgende: Hvis resultatet er over nul, skal strengen nedstilles; hvis resultatet er falsk (ikke over nul), kontrollerer sagen, om værdien er lig med nul, og hvis det er sandt, vil programmet meddele brugeren, at noten er i harmoni; hvis værdien ikke er lig med nul, betyder det, at den skal være mindre end nul, og at strengen skal justeres. Jeg tog den absolutte værdi af resultatet for at vise brugeren, hvor mange Hz de er væk fra den sande note.
Jeg besluttede, at en målerindikator ville være den bedste til visuelt at vise brugeren, hvad der skal gøres for at få noten til at stemme.
Trin 3: Dernæst det analoge kredsløb
Mikrofonen, jeg brugte til dette projekt, er CMA-6542PF kondensatorelektretmikrofon. Databladet for denne mikrofon er nedenfor. I modsætning til de fleste kondensatormikrofoner af denne type behøvede jeg ikke bekymre mig om polaritet. Databladet viser, at driftsspændingen for denne mikrofon er 4,5 - 10V, men 4,5 V anbefales, og dets nuværende forbrug er max 0,5mA, så det er noget at være forsigtig med, når man designer et forforstærkerkredsløb til det. Driftsfrekvensen er 20Hz til 20kHz, hvilket er perfekt til lyd.
Jeg implementerede et enkelt forforstærkerkredsløbsdesign på brødbrættet og justerede indgangsspændingen og sørgede for, at der ikke var mere end 0,5mA på tværs af mikrofonen. Kondensatoren bruges til at filtrere DC -støj, der kan kobles sammen med de elektriske signaler (output), og kondensatoren har polaritet, så sørg for at tilslutte den positive ende til mikrofonudgangsstiften.
Efter at kredsløbet var færdigt, sluttede jeg kredsløbets udgang til den første analoge indgangsstift (AI0, pin 2) på USB-6008 og tilsluttede brødbrættets jord til den analoge jordstift (GND, pin 1). Jeg sluttede USB-6008 til pc'en med en USB, og det var på tide at foretage justeringer af LabVIEW-programmet for at modtage et egentligt analogt signal.
Trin 4: Læsning af analoge signaler med DAQ Assistant
I stedet for at bruge SoundFileSimpleRead. VI og HarmonicDistortionAnalyzer. VI brugte jeg DAQ Assistant. VI og ToneMeasurements. VI til at håndtere den analoge indgang. DAQ Assistant-opsætningen er ret ligetil, og selve VI tager dig gennem trinene. ToneMeasurements. VI har mange udgange at vælge imellem (amplitude, frekvens, fase), så jeg brugte frekvensoutput, der giver inputfonen grundfrekvens (fra DAQ Assistant. VI). Outputtet fra ToneMeasurements. VI skulle konverteres og sættes i en matrix, før det kunne bruges i sagsstrukturer, men resten af LabVIEW -programmeringen/indikatorerne forblev den samme.
Trin 5: Konklusion
Projektet var en succes, men der var bestemt mange fejl. Da jeg betjente tuneren i et støjende klasseværelse, var det meget svært for programmet at afgøre, hvad der var støj, og hvilken tone der blev spillet. Dette skyldes sandsynligvis, at forforstærkerkredsløbet er meget grundlæggende, og mikrofonen er meget billig. Når det var stille, fungerede programmet imidlertid med god pålidelighed for at bestemme den note, der forsøgte at blive spillet. På grund af tidsbegrænsninger foretog jeg ikke yderligere ændringer, men hvis jeg skulle gentage projektet, ville jeg købe en bedre mikrofon og bruge mere tid på forforstærkerkredsløbet.
Anbefalede:
DIY -- Sådan laver du en edderkoprobot, der kan kontrolleres ved hjælp af smartphone ved hjælp af Arduino Uno: 6 trin
DIY || Sådan laver du en edderkoprobot, der kan styres ved hjælp af smartphone Brug af Arduino Uno: Mens du laver en edderkoprobot, kan man lære så mange ting om robotik. Ligesom at lave robotter er underholdende såvel som udfordrende. I denne video vil vi vise dig, hvordan du laver en Spider -robot, som vi kan betjene ved hjælp af vores smartphone (Androi
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: 4 trin
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: Hej, jeg er Rithik. Vi kommer til at lave en internetstyret LED ved hjælp af din telefon. Vi kommer til at bruge software som Arduino IDE og Blynk.Det er enkelt, og hvis det lykkedes dig, kan du styre så mange elektroniske komponenter, du ønskerTing We Need: Hardware:
Sådan laver du en drone ved hjælp af Arduino UNO - Lav en quadcopter ved hjælp af mikrokontroller: 8 trin (med billeder)
Sådan laver du en drone ved hjælp af Arduino UNO | Lav en Quadcopter ved hjælp af mikrokontroller: Introduktion Besøg min Youtube -kanal En Drone er en meget dyr gadget (produkt) at købe. I dette indlæg vil jeg diskutere, hvordan jeg gør det billigt ?? Og hvordan kan du lave din egen sådan til en billig pris … Nå i Indien alle materialer (motorer, ESC'er
RF 433MHZ radiostyring ved hjælp af HT12D HT12E - Lav en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: 5 trin
RF 433MHZ radiostyring ved hjælp af HT12D HT12E | Oprettelse af en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: I denne instruktør vil jeg vise dig, hvordan du laver en RADIO -fjernbetjening ved hjælp af 433mhz sendermodtagermodul med HT12E -kode & HT12D -dekoder IC.I denne instruktive kan du sende og modtage data ved hjælp af meget meget billige KOMPONENTER SOM: HT
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter - Rc Helikopter - Rc -fly ved hjælp af Arduino: 5 trin (med billeder)
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter | Rc Helikopter | Rc -fly ved hjælp af Arduino: At betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båd, vi har altid brug for en modtager og sender, antag at vi til RC QUADCOPTER har brug for en 6 -kanals sender og modtager, og den type TX og RX er for dyr, så vi laver en på vores