Spisu treści:
- Krok 1: Standardowe strojenie Ukelele
- Krok 2: Tworzenie czysto cyfrowego modelu teoretycznego
- Krok 3: Następnie obwód analogowy
- Krok 4: Odczytywanie sygnałów analogowych za pomocą DAQ Assistant
- Krok 5: Wniosek
Wideo: Ukelele Tuner przy użyciu LabView i NI USB-6008: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Jako projekt nauczania oparty na problemach dla mojego kursu LabVIEW & Instrumentation w Humber College (technologia inżynierii elektronicznej), stworzyłem tuner ukulele, który pobierał wejście analogowe (dźwięk struny ukulele), znajdował podstawową częstotliwość, decydował, jaka nuta była próbowana dostrojenia i poinformuj użytkownika, czy struna musi zostać podniesiona w górę lub w dół. Urządzeniem, którego użyłem do tłumaczenia wejścia analogowego na wejście cyfrowe, był National Instruments USB-6008 DAQ (urządzenie do akwizycji danych), a interfejs użytkownika został zaimplementowany za pomocą LabVIEW.
Krok 1: Standardowe strojenie Ukelele
Pierwszym krokiem było ustalenie podstawowych częstotliwości dźwięków i zakresu, w jakim zwykle nastrojone są struny ukulele. Użyłem tych dwóch wykresów i zdecydowałem, że mój zakres tonów będzie mieścił się w zakresie od 262 Hz (C) do 494 Hz (High B). Wszystko poniżej 252 Hz byłoby uważane za zbyt niskie, aby program mógł rozszyfrować, jaką nutę próbuje zagrać, a wszystko powyżej 500 Hz byłoby uważane za zbyt wysokie. Program jednak nadal informuje użytkownika, o ile Hz znajduje się on od najbliższej możliwej do odczytania nuty i czy struna powinna zostać podniesiona (nuta zbyt nisko) czy w dół (nuta zbyt wysoka), aby osiągnąć dostępną nutę.
Dodatkowo stworzyłem zakresy dla każdej nuty, a nie tylko pojedynczą częstotliwość, aby program mógł łatwiej znaleźć nutę, która jest grana. Na przykład program poinformuje użytkownika, że grane jest C, jeśli nuta ma częstotliwość podstawową między 252 Hz (w połowie drogi do B) a 269 Hz (w połowie drogi do C#), ale w celu podjęcia decyzji, czy trzeba ją dostroić lub w dół, nadal porównuje odtwarzaną nutę z podstawową częstotliwością C, która wynosi 262 Hz.
Krok 2: Tworzenie czysto cyfrowego modelu teoretycznego
Zanim zagłębiłem się w analogową stronę projektu, chciałem sprawdzić, czy mógłbym stworzyć program LabVIEW, który wykonałby przynajmniej główne przetwarzanie próbki dźwiękowej, takie jak odczytywanie próbki dźwiękowej.wav, znajdowanie częstotliwości podstawowej i tworzenie wymagane porównania z wykresem częstotliwości, aby dowiedzieć się, czy dźwięk powinien być dostrojony w górę czy w dół.
Użyłem SoundFileSimpleRead. VI dostępnego w LabVIEW, aby odczytać plik.wav ze ścieżki, którą wyznaczyłem, umieściłem sygnał w indeksowanej tablicy i wprowadziłem ten sygnał do HarmonicDistortionAnalyzer. VI w celu znalezienia częstotliwości podstawowej. Wziąłem również sygnał z SoundFileSimpleRead. VI i podłączyłem go bezpośrednio do wskaźnika wykresu przebiegu, aby użytkownik mógł zobaczyć przebieg pliku na przednim panelu.
Stworzyłem 2 struktury przypadków: jedną, aby przeanalizować, jaka nuta została zagrana, a drugą, aby określić, czy struna musi być podkręcona, czy opuszczona. W pierwszym przypadku stworzyłem zakresy dla każdej nuty i jeśli podstawowy sygnał częstotliwości z HarmonicDistortionAnalyzer. VI był w tym zakresie, powiedziałby użytkownikowi, jaka nuta jest odtwarzana. Po ustaleniu nuty, wartość granej nuty została odjęta od rzeczywistej częstotliwości podstawowej nuty, a następnie wynik został przeniesiony do drugiego przypadku, który określił, co następuje: jeśli wynik jest powyżej zera, struna musi zostać dostrojona; jeśli wynik jest fałszywy (nie powyżej zera), to sprawa sprawdza, czy wartość jest równa zero, a jeśli prawda, to program powiadomi użytkownika, że nuta jest nastrojona; jeśli wartość nie jest równa zero, oznacza to, że musi być mniejsza od zera i że struna musi zostać dostrojona. Wziąłem wartość bezwzględną wyniku, aby pokazać użytkownikowi, o ile Hz są oddaleni od prawdziwej nuty.
Zdecydowałem, że wskaźnik miernika będzie najlepszym, aby wizualnie pokazać użytkownikowi, co należy zrobić, aby nuta była dostrojona.
Krok 3: Następnie obwód analogowy
Mikrofon, którego użyłem w tym projekcie, to pojemnościowy mikrofon elektretowy CMA-6542PF. Karta katalogowa tego mikrofonu znajduje się poniżej. W przeciwieństwie do większości mikrofonów pojemnościowych tego typu nie musiałem martwić się o polaryzację. Karta katalogowa pokazuje, że napięcie robocze dla tego mikrofonu wynosi 4,5 - 10 V, ale zalecane jest 4,5 V, a jego pobór prądu wynosi maksymalnie 0,5 mA, więc należy na to uważać przy projektowaniu obwodu przedwzmacniacza. Częstotliwość robocza wynosi od 20 Hz do 20 kHz, co jest idealne dla dźwięku.
Zaimplementowałem prosty projekt obwodu przedwzmacniacza na płytce stykowej i wyregulowałem napięcie wejściowe, upewniając się, że na mikrofonie nie ma więcej niż 0,5 mA. Kondensator służy do filtrowania szumu stałego, który może być sprzężony z sygnałami elektrycznymi (wyjściem), a kondensator ma polaryzację, więc upewnij się, że dodatni koniec jest podłączony do pinu wyjściowego mikrofonu.
Po zakończeniu obwodu podłączyłem wyjście obwodu do pierwszego analogowego pinu wejściowego (AI0, pin 2) USB-6008 i podłączyłem masę płytki stykowej do analogowego pinu masy (GND, pin 1). Podłączyłem USB-6008 do komputera za pomocą USB i nadszedł czas, aby wprowadzić poprawki w programie LabVIEW, tak aby odbierał rzeczywisty sygnał analogowy.
Krok 4: Odczytywanie sygnałów analogowych za pomocą DAQ Assistant
Zamiast używać SoundFileSimpleRead. VI i HarmonicDistortionAnalyzer. VI, użyłem DAQ Assistant. VI i ToneMeasurements. VI do obsługi wejścia analogowego. Konfiguracja Asystenta DAQ jest dość prosta, a sam VI prowadzi Cię przez kolejne kroki. ToneMeasurements. VI ma wiele wyjść do wyboru (amplituda, częstotliwość, faza), więc użyłem wyjścia częstotliwościowego, które daje podstawową częstotliwość tonu wejściowego (z DAQ Assistant. VI). Wyjście ToneMeasurements. VI musiało zostać przekonwertowane i umieszczone w tablicy, zanim mogło być użyte w strukturach spraw, ale reszta programowania/wskaźników LabVIEW pozostała taka sama.
Krok 5: Wniosek
Projekt zakończył się sukcesem, ale na pewno było wiele wad. Kiedy obsługiwałem tuner w hałaśliwej klasie, programowi bardzo trudno było określić, co to był hałas i jaki ton był odtwarzany. Jest to prawdopodobnie spowodowane tym, że obwód przedwzmacniacza jest bardzo prosty, a mikrofon jest bardzo tani. Jednak gdy było cicho, program działał z dużą niezawodnością, aby określić nutę, która próbowała zostać zagrana. Ze względu na ograniczenia czasowe nie wprowadziłem żadnych dodatkowych zmian, ale gdybym miał powtórzyć projekt, kupiłbym lepszy mikrofon i poświęciłbym więcej czasu na układ przedwzmacniacza.
Zalecana:
Tablica LED DIY (przy użyciu Arduino): 7 kroków
DIY LED Array (przy użyciu Arduino): WSTĘP: Czy kiedykolwiek chciałeś stworzyć prosty projekt, w którym diody LED wydają się być w ruchu? Nie? Tak myślałem. Cóż, jeśli kiedykolwiek chciałeś zrobić coś podobnego, jesteś we właściwym miejscu
Chrome T-rex Game Hack przy użyciu Arduino: 5 kroków
Hack gry Chrome T-rex za pomocą Arduino: W tym samouczku zhakujemy grę chrome t-rex za pomocą arduino
Neopixel Ws2812 Rainbow LED Glow z M5stick-C - Uruchamianie Rainbow na Neopixel Ws2812 przy użyciu M5stack M5stick C przy użyciu Arduino IDE: 5 kroków
Neopixel Ws2812 Rainbow LED Glow z M5stick-C | Uruchamianie Rainbow na Neopixel Ws2812 Używając M5stack M5stick C Używając Arduino IDE: Cześć chłopaki, w tej instrukcji dowiemy się, jak używać neopikselowych ws2812 LED lub taśmy LED lub matrycy LED lub pierścienia LED z płytką rozwojową m5stack m5stick-C z Arduino IDE i zrobimy wzór tęczy z nim
EKG DIY przy użyciu Analog Discovery 2 i LabVIEW: 8 kroków
EKG DIY przy użyciu Analog Discovery 2 i LabVIEW: W tej instrukcji pokażę, jak zrobić domowy elektrokardiograf (EKG). Celem tej maszyny jest wzmocnienie, pomiar i rejestracja naturalnego potencjału elektrycznego wytwarzanego przez serce. EKG może ujawnić wiele informacji o
DIY lutownica na gorące powietrze przy użyciu 12-18 woltów prądu stałego przy 2-3 amperach: 18 kroków (ze zdjęciami)
DIY lutownica na gorące powietrze przy użyciu 12-18 woltów prądu stałego przy 2-3 amperach: to moja pierwsza publikacja eva artykułu o majsterkowaniu w Internecie. Więc przepraszam za literówki, protokoły itp. Poniższe instrukcje pokazują, jak zrobić PRACOWĄ lutownicę na gorące powietrze odpowiednią do WSZYSTKICH zastosowań wymagających lutowania. To lutowanie gorącym powietrzem