
Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38


Jako učební projekt založený na problémech pro můj kurz LabVIEW & Instrumentation na Humber College (Electronics Engineering Technology) jsem vytvořil tuner ukulele, který by převzal analogový vstup (tón řetězce ukulele), našel základní frekvenci a rozhodl, o jakou notu se pokouší naladit a sdělit uživateli, zda je třeba řetězec naladit nahoru nebo dolů. Zařízení, které jsem použil k převodu analogového vstupu na digitální vstup, bylo National Instruments USB-6008 DAQ (zařízení pro sběr dat) a uživatelské rozhraní bylo implementováno pomocí LabVIEW.
Krok 1: Standardní ladění ukelele


Prvním krokem bylo zjištění základních frekvencí hudebních not a toho, v jakém rozsahu jsou struny ukulele obvykle naladěny. Použil jsem tyto dva grafy a rozhodl jsem se, že svůj rozsah tónů nastavím mezi 262 Hz (C) a 494 Hz (High B). Cokoli menší než 252 Hz by bylo považováno za příliš nízké na to, aby program rozluštil notu, kterou se pokoušel zahrát, a cokoli většího než 500 Hz by bylo považováno za příliš vysoké. Program však uživateli stále říká, kolik Hz jsou mimo nejbližší dešifrovatelnou notu, a pokud by měl být řetězec naladěn nahoru (příliš nízká nota) nebo dolů (příliš vysoká nota), aby dosáhl dostupné noty.
Navíc jsem pro každou notu vytvořil rozsahy, nikoli jen jednu frekvenci, aby bylo pro program jednodušší najít, která nota se hraje. Program by například sdělil uživateli, že se hraje C, pokud by nota měla základní frekvenci mezi 252 Hz (na půli cesty k B) a 269 Hz (na půli cesty k C#), ale aby se rozhodl, zda je třeba ji vyladit nebo dolů, stále by to srovnávalo přehrávanou notu se základní frekvencí C, která je 262 Hz.
Krok 2: Vytvoření čistě digitálního teoretického modelu


Než se ponořím do analogové stránky projektu, chtěl jsem zjistit, zda bych mohl vytvořit program LabVIEW, který by přinejmenším provedl hlavní zpracování zvukové ukázky, jako je čtení zvukové ukázky.wav, nalezení základní frekvence a vytvoření požadovaná srovnání s frekvenčním grafem, aby se zjistilo, zda má být zvuk naladěn nahoru nebo dolů.
Použil jsem SoundFileSimpleRead. VI dostupný v LabVIEW ke čtení souboru.wav z cesty, kterou jsem určil, vložil signál do indexovaného pole a přivedl tento signál do HarmonicDistortionAnalyzer. VI, abych našel základní frekvenci. Také jsem vzal signál z SoundFileSimpleRead. VI a připojil jej přímo k indikátoru křivky grafu, aby uživatel viděl průběh souboru na předním panelu.
Vytvořil jsem 2 případové struktury: jednu analyzovat, jaká nota se hraje, a druhou, abych určil, zda je třeba strunu otočit nahoru nebo dolů. V prvním případě jsem pro každou notu vytvořil rozsahy a pokud by byl základní frekvenční signál z HarmonicDistortionAnalyzer. VI v tomto rozsahu, řekl by uživateli, jaká nota se hraje. Jakmile byla nota určena, byla hodnota odehrané noty odečtena skutečnou základní frekvencí noty a poté byl výsledek přesunut do druhého případu, který určoval následující: pokud je výsledek nad nulou, pak je třeba strunu doladit; pokud je výsledek nepravdivý (ne nad nulou), pak případ zkontroluje, zda je hodnota rovna nule, a pokud je pravdivý, pak program upozorní uživatele, že nota je v souladu; pokud se hodnota nerovná nule, pak to znamená, že musí být menší než nula a že řetězec je třeba vyladit. Vzal jsem absolutní hodnotu výsledku, abych uživateli ukázal, kolik Hz jsou mimo skutečnou notu.
Rozhodl jsem se, že indikátor metru bude nejlepší k tomu, aby uživateli vizuálně ukázal, co je třeba udělat, aby byla poznámka v souladu.
Krok 3: Další, analogový obvod



Mikrofon, který jsem pro tento projekt použil, je kondenzátorový elektretový mikrofon CMA-6542PF. Datasheet k tomuto mikrofonu je níže. Na rozdíl od většiny kondenzátorových mikrofonů tohoto typu jsem se nemusel starat o polaritu. Datový list ukazuje, že provozní napětí pro tento mikrofon je 4,5 - 10 V, ale doporučuje se 4,5 V a jeho proudová spotřeba je max. 0,5 mA, na což je třeba při návrhu obvodu předzesilovače dávat pozor. Pracovní frekvence je 20 Hz až 20 kHz, což je ideální pro zvuk.
Implementoval jsem jednoduchý návrh obvodu předzesilovače na prkénko a upravil vstupní napětí, přičemž jsem se ujistil, že přes mikrofon není více než 0,5 mA. Kondenzátor se používá k filtrování stejnosměrného šumu, který může být spojen s elektrickými signály (výstup), a kondenzátor má polaritu, takže nezapomeňte připojit kladný konec k výstupnímu kolíku mikrofonu.
Poté, co byl obvod dokončen, připojil jsem výstup obvodu k prvnímu analogovému vstupnímu pinu (AI0, pin 2) USB-6008 a připojil jsem uzemnění nepájivého pole k analogovému zemnicímu pinu (GND, pin 1). Připojil jsem USB-6008 k počítači pomocí USB a bylo na čase provést úpravy programu LabVIEW tak, aby přijímal skutečný analogový signál.
Krok 4: Čtení analogových signálů pomocí DAQ Assistant


Místo toho, abych použil SoundFileSimpleRead. VI a HarmonicDistortionAnalyzer. VI, použil jsem DAQ Assistant. VI a ToneMeasurements. VI k řešení analogového vstupu. Nastavení DAQ Assistant je poměrně jednoduché a VI vás provede jednotlivými kroky. ToneMeasurements. VI má na výběr mnoho výstupů (amplituda, frekvence, fáze), takže jsem použil frekvenční výstup, který udává základní frekvenci vstupního tónu (z DAQ Assistant. VI). Výstup ToneMeasurements. VI musel být převeden a vložen do pole, než mohl být použit ve strukturách případu, ale zbytek programování/indikátorů LabVIEW zůstal stejný.
Krok 5: Závěr

Projekt byl úspěšný, ale rozhodně zde bylo mnoho nedostatků. Když jsem provozoval tuner v hlučné třídě, bylo pro program velmi těžké určit, co je hluk a jaký tón se hraje. To je pravděpodobně způsobeno tím, že obvod předzesilovače je velmi základní a mikrofon je velmi levný. Když bylo ticho, program pracoval s dobrou spolehlivostí, aby určil notu, která se pokoušela hrát. Kvůli časové tísni jsem neprováděl žádné další změny, ale kdybych měl projekt opakovat, koupil bych si lepší mikrofon a strávil bych více času na obvodu předzesilovače.
Doporučuje:
Robot Ukelele: 15 kroků

Ukelele Robot: El proyecto Consiste en un sistema para tocar melodías en un Ukelele introducaend ya sea acorde por acorde o la instrucción de tocar alguna de las melodías disponibles (en este caso la melodía se compone por los acordes C, G, Am, y F secuenciados)
Hacking TV tuner ke čtení fotografií Země ze satelitů: 7 kroků (s obrázky)

Hacking TV Tuner ke čtení fotografií Země ze satelitů: Nad našimi hlavami je spousta satelitů. Věděli jste, že přenosy z nich můžete přijímat pouze pomocí počítače, TV tuneru a jednoduché antény pro kutily? Například obrázky Země v reálném čase. Ukážu vám jak. Budete potřebovat:- 2 w
Ovládejte Arduino pomocí chytrého telefonu přes USB pomocí aplikace Blynk: 7 kroků (s obrázky)

Ovládejte Arduino pomocí smartphonu přes USB pomocí aplikace Blynk: V tomto tutoriálu se naučíme, jak používat aplikaci Blynk a Arduino k ovládání lampy, kombinace bude prostřednictvím sériového portu USB. Účelem tohoto pokynu je ukázat nejjednodušší řešení vzdáleného ovládání vašeho Arduina nebo
Tuner: 9 kroků

Tuner: Tento projekt byl navržen tak, aby vytvořil kytarový tuner pomocí Vivado a 7segmentového displeje. Jakmile tuner najde frekvenci vstupního zvuku, tuner tuto hodnotu porovná se seznamem pevně zakódovaných hodnot pro přesné frekvence, které jsou známé jako
DIY EKG pomocí Analog Discovery 2 a LabVIEW: 8 kroků

DIY EKG pomocí Analog Discovery 2 a LabVIEW: V tomto Instructable vám ukážu, jak si vyrobit domácí elektrokardiograf (EKG). Cílem tohoto stroje je zesílení, měření a záznam přirozeného elektrického potenciálu vytvářeného srdcem. EKG může odhalit velké množství informací o