Dzisiaj chciałbym przedstawić interaktywny projekt muzyczny Arduino. Używając sześciu modułów unikania przeszkód i modułu MP3 DF, zbudujemy muzyczne pianino (pierwotnie miałem osiem modułów unikania przeszkód, ale podczas montażu okazało się, że dwa są niekompatybilne i nie mają wskaźników świetlnych. Ponieważ wymiana ich na czas była niewykonalna, napisałem kod dostosowujący system do sześciu modułów. Centralny kontroler wykorzystuje Arduino Nano sparowane z kartą rozszerzeń Nano. Próg (threshold) modułów unikania przeszkód musi być regulowany za pomocą wbudowanego regulatora modułu. W tym projekcie obwodu można również narysować podobieństwa do dioda lawinowa (choć nie jest bezpośrednio używana w sprzęcie tego projektu, pełni funkcje takie jak ochrona obwodu i szybkie przełączanie w złożonych obwodach elektronicznych, dzieląc podobne podstawowe zasady z dążeniem do stabilności obwodu i dokładności sygnału w naszym projekcie) Koncepcja ta może być dalej badana, jeśli projekt zostanie rozszerzony w przyszłości. Skoordynowane działanie różnych modułów w projekcie jest podobne do zrozumienia struktury i współpracy komponentów silnika prądu stałego, gdzie różne komponenty współpracują ze sobą w uporządkowany sposób, aby osiągnąć ogólną funkcję.
Krok 1: Proces działania
Podłącz 6 modułów unikania przeszkód: GND i VCC są podłączone do płytki prototypowej, a linie sygnałowe są podłączone do odpowiednich pinów na Nano.
Napisz i wypal kod.
Włącz zasilanie i przetestuj.
Wyreguluj trymer (urządzenie dostrajające): Na module powinna świecić się tylko jedna zielona dioda LED. Jeśli obie świecą się jednocześnie, moduł MP3 będzie emitował nieprawidłowy dźwięk.
Krok 2: Konfiguracja sprzętu
Nazwa Ilość
DFRobot nano 1
Moduł unikania przeszkód 6
Płytka prototypowa 1
Płytka rozszerzeń nano 1
5V Power Bank 1
Krok 3: Poznaj kluczowe parametry sprzętowe
Pobieranie pliku efektu dźwiękowego
1. Ten moduł posiada wbudowane efekty dźwiękowe. W razie potrzeby dodania lub wymiany efektów dźwiękowych można użyć kabla micro USB do podłączenia do komputera w celu aktualizacji i pobrania;
2. Metoda aktualizacji plików efektów dźwiękowych jest taka sama, jak w przypadku korzystania z napędu USB.
3. Urządzenie obsługuje pliki audio w formacie MP3 i MAV;
4. Pliki muszą być przechowywane w folderze "2H". Zaleca się używanie nazw numerycznych, np. 01.mp3, 02.mp3. Alternatywnie można użyć dwóch liter lub pojedynczego chińskiego znaku.
Schemat połączeń
Moduł Gravity UART posiada różnorodne funkcje pinów. Piny TX (T) i RX (R) są używane do komunikacji szeregowej; masa zasilania, dodatnie zasilanie (3.3V - 5V, w tym VCC) tworzą system zasilania, aby zapewnić stabilne zasilanie modułu; pin BUSY służy jako pin sygnału zajętości, prezentując wysoki poziom napięcia podczas odtwarzania i niski poziom napięcia w innych stanach; piny SP+ i SP- są podłączone do głośnika i są odpowiedzialne za wyjście audio; piny DACL i DACR odpowiadają odpowiednio lewemu i prawemu kanałowi wyjścia audio przetwornika cyfrowo-analogowego; pin ONE jest jednoprzewodowym pinem sterującym portu szeregowego, który może być używany do realizacji określonych funkcji sterowania; pin micro USB służy jako interfejs do aktualizacji plików audio.. Łączy się z komputerem przez USB, z metodą przechowywania podobną do napędu USB, ułatwiając aktualizację plików audio. Piny współpracują ze sobą, umożliwiając modułowi działanie w scenariuszach takich jak komunikacja szeregowa i przetwarzanie dźwięku. Dzieląc zadania pomiędzy różne piny, moduł realizuje transmisję danych, zasilanie, kontrolę wyjścia audio i funkcje aktualizacji plików, zapewniając elastyczne i praktyczne wsparcie sprzętowe dla powiązanych aplikacji.
Gdy moduł wykryje sygnał przeszkody z przodu, zaświeci się zielona lampka kontrolna na płytce drukowanej, a port 0UT w sposób ciągły wysyła sygnał niskiego poziomu. Moduł ma zasięg wykrywania 2-30 cm i kąt wykrywania 35°. Zasięg wykrywania można regulować za pomocą potencjometru: obracanie potencjometru zgodnie z ruchem wskazówek zegara zwiększa zasięg wykrywania, a obracanie go w kierunku przeciwnym do ruchu wskazówek zegara zmniejsza zasięg wykrywania.
Jest to aktywny czujnik wykrywania odbicia w podczerwieni z dużą zdolnością adaptacji do warunków oświetlenia otoczenia. Działa on w oparciu o parę lamp emitujących i odbierających podczerwień. Nadajnik emituje światło podczerwone o określonej częstotliwości. Gdy światło podczerwone napotka przeszkodę, jest odbijane i odbierane przez rurkę odbiornika. Po przetworzeniu przez obwód komparatora zapala się zielona lampka kontrolna, a interfejs wyjścia sygnału jednocześnie wysyła sygnał cyfrowy niskiego poziomu. Odległość wykrywania zależy od współczynnika odbicia i kształtu celu. Czarne cele i małe obiekty mają mniejszą odległość wykrywania, podczas gdy białe cele i duże obiekty mają większą odległość wykrywania. Efektywny zasięg detekcji wynosi 2-30 cm i jest regulowany za pomocą pokrętła potencjometru. Napięcie robocze wynosi 3,3 V-5 V i może wysyłać sygnał cyfrowy, aby pomóc urządzeniom zewnętrznym w określaniu statusu przeszkód.
KROK 4: Dostarczenie kilku obrazów sprzętu dla wizualnego odniesienia
Krok 5: Wprowadzenie kodu klucza
Kod: C / C++
Kod Funkcja Opis: Użyj biblioteki SoftwareSerial, aby utworzyć programowy port szeregowy do komunikacji z modułem MP3; zdefiniuj 6 pinów modułu unikania przeszkód i napisz funkcje do odtwarzania i regulacji głośności; funkcja setup inicjalizuje piny jako tryb wejściowy, konfiguruje port szeregowy i ustawia początkową głośność; funkcja loop stale monitoruje sygnały modułu unikania przeszkód, a sygnał niskiego poziomu wyzwala odpowiednie odtwarzanie audio.
Krok 6: Schemat okablowania
Krok 7: Podsumowanie
Projekt ten wykorzystuje sprzęt taki jak Arduino Nano do stworzenia interaktywnego pianina muzycznego przy użyciu modułów unikania przeszkód i modułów MP3, osiągając podstawową funkcję wykrywania przeszkód i odtwarzania dźwięku. W praktyce okazało się, że między modułami występują wzajemne zakłócenia. Załóżmy, że głowica modułu unikania przeszkód jest owinięta (np. materiałem, który nie zakłóca sygnałów podczerwieni, tworząc prostą osłonę). W takim przypadku prawdopodobieństwo zakłóceń może zostać zmniejszone, ponieważ owijanie zmniejsza rozpraszanie sygnału podczerwieni i fałszywe wyzwalanie. Dalsze ulepszenia można wprowadzić w następujących obszarach: po pierwsze, zoptymalizować logikę kodu, aby obsługiwać złożone scenariusze, w których wiele modułów unikania przeszkód uruchamia się jednocześnie, umożliwiając bardziej zróżnicowane odtwarzanie dźwięku (np, różne moduły wyzwalające różne melodie); po drugie, rozszerzyć funkcjonalność sprzętu poprzez włączenie diod lawinowych, które są używane do ochrony obwodu i optymalizacji sygnału, w celu zwiększenia odporności obwodu na zakłócenia i zapewnienia bardziej stabilnej transmisji sygnału; po trzecie, porównać tryby koordynacji systemu komponentów silnika prądu stałego i poprawić fizyczne mocowanie i koordynację sygnału między modułami w tym projekcie. Na przykład, należy zapewnić ujednoliconą osłonę ekranującą dla modułów, aby ustalić ich pozycje i zmniejszyć zakłócenia, dzięki czemu cały system będzie bardziej niezawodny i funkcjonalny.
Fajne? Ranking DIY