- Wymagany sprzęt:
- Przygotowanie z plikami audio WAV:
- Obwód i sprzęt:
- Programowanie Arduino:
- Działanie tego odtwarzacza muzycznego Arduino:
Dodanie dźwięków lub muzyki do naszego projektu zawsze sprawi, że będzie wyglądał fajnie i brzmiał znacznie atrakcyjniej. Zwłaszcza jeśli używasz Arduino i masz wiele wolnych pinów, możesz łatwo dodać efekty dźwiękowe do swojego projektu, po prostu inwestując w dodatkowy moduł karty SD i normalny głośnik. W tym artykule pokażę, jak łatwo jest odtwarzać muzykę / dodawać efekty dźwiękowe za pomocą tablicy Arduino. Podziękowania dla społeczności Arduino, która opracowała kilka bibliotek, aby zbudować to w szybki i łatwy sposób. Użyliśmy tutaj również układu scalonego LM386 do celów wzmocnienia i redukcji szumów.
W tym projekcie będziemy odtwarzać pliki muzyczne.wav zapisane na karcie SD. Zaprogramujemy Arduino, aby odczytywał te pliki.wav i odtwarzał dźwięk na głos przez wzmacniacz audio LM386. Ponieważ ten kod może odczytywać tylko pliki.wav, technicznie rzecz biorąc, tego projektu nie można nazwać odtwarzaczem Arduino Mp3, ale hej, nadal będziesz mógł słuchać z nim piosenek. Jeśli szukasz prostych alternatyw, takich jak odtwarzacz muzyki Arduio bez karty SD, powinieneś sprawdzić odtwarzacz melodii Arduino, który zbudowaliśmy wcześniej.
Wymagany sprzęt:
- Arduino UNO
- Moduł czytnika kart SD
- karta SD
- Wzmacniacz audio LM386
- Kondensator 10uf (2 numery)
- Kondensator 100uf (2 numery)
- Rezystor 1K, 10K
- Przyciski (2 numery)
- Płytka prototypowa
- Podłączanie przewodów
Przygotowanie z plikami audio WAV:
Do odtwarzania dźwięków z karty SD za pomocą Arduino potrzebujemy plików audio w formacie.wav, ponieważ Arduino Board może odtwarzać plik audio w określonym formacie, czyli w formacie wav. Aby stworzyć arduino odtwarzacz mp3, dostępnych jest wiele tarcz mp3, których można używać z arduino. Lub też do odtwarzania plików mp3 w arduino, istnieją strony internetowe, za pomocą których można przekonwertować dowolny plik audio na komputerze na ten konkretny plik WAV.
Aby przekonwertować dowolny plik audio na format wav, wykonaj poniższe czynności:
Krok 1: Kliknij „Online Wav Converter”, aby wejść na stronę internetową.
Krok 2: Arduino może odtwarzać plik wav w następującym formacie. Możesz bawić się ustawieniami później, ale te ustawienia były eksperymentalne, aby zapewnić najlepszą jakość.
Rozdzielczość bitowa |
8 bitowy |
Częstotliwość próbkowania |
16000 Hz |
Kanał audio |
Mononukleoza |
Format PCM |
PCM 8-bitowy bez znaku |
Krok 3: Na stronie kliknij „wybierz plik” i wybierz plik, który chcesz przekonwertować. Następnie podaj powyższe ustawienia. Po zakończeniu powinno wyglądać mniej więcej tak na poniższym obrazku
Krok 4: Teraz kliknij „Konwertuj plik”, a Twój plik audio zostanie przekonwertowany do formatu.Wav. Zostanie również pobrany po zakończeniu konwersji.
Krok 5: Na koniec sformatuj kartę SD i zapisz w niej plik audio.wav. Upewnij się, że sformatowałeś go przed dodaniem tego pliku. Zapamiętaj również nazwę swojego pliku audio. Podobnie możesz wybrać dowolne z czterech plików audio i zapisać je pod nazwami 1, 2, 3 i 4 (nazwy nie powinny być zmieniane). Przekonwertowałem cztery utwory i zapisałem je jako 1.wav, 2.wav, 3.wav i 4.wav, jak pokazano poniżej.
Obwód i sprzęt:
Schemat obwodu dla tego Arduino Audio File Player jest prosty. Pełny schemat obwodu pokazano na poniższym obrazku.
Jak wiemy, nasze pliki audio są zapisywane na karcie SD, stąd łączymy moduł czytnika kart SD z naszym Arduino. Arduino i karta SD komunikują się za pomocą protokołu komunikacyjnego SPI. Dlatego moduł jest połączony z pinami SPI Arduino, jak pokazano powyżej na schemacie. Jest on dodatkowo wyszczególniony w poniższej tabeli.
Arduino |
Moduł karty SD |
+ 5V |
Vcc |
Gnd |
Gnd |
Kołek 12 |
MISO (Master In Slave out) |
Pin 11 |
MOSI (Master Out Slave In) |
Kołek 13 |
SCK (zegar synchroniczny) |
Pin 4 |
CS (wybór chipa) |
Teraz Arduino będzie w stanie odczytać plik muzyczny z karty SD i odtworzyć go na pinie numer 9. Ale sygnały audio wytwarzane przez Arduino na pinie 9 będą mało słyszalne. Dlatego wzmacniamy go za pomocą niskonapięciowego układu scalonego wzmacniacza audio LM386.
Wzmacniacz pokazany powyżej jest zaprojektowany dla wzmocnienia 200, a Vdd (pin 6) jest zasilany przez pin 5 V Arduino. Jeśli chcesz zwiększyć / zmniejszyć dźwięk, możesz zwiększyć / zmniejszyć napięcie dostarczane do tego pinu. Może wytrzymać maksymalnie 15 V. Dowiedz się więcej o tej konfiguracji wzmocnienia 200 wzmocnienia dla LM386 tutaj.
Mamy też dwa przyciski podłączone do pinów 2 i 3 Arduino. Te przełączniki służą do odtwarzania następnej ścieżki utworu i odpowiednio do odtwarzania / wstrzymywania muzyki. Użyłem tych przycisków tylko po to, aby zademonstrować jego możliwości; możesz odtworzyć piosenkę w dowolnym momencie. Sprawdź wideo demonstracyjne na końcu.
Możesz zmontować ten obwód całkowicie na płycie prototypowej, jak pokazano na poniższym obrazku
Programowanie Arduino:
Gdy jesteśmy już gotowi ze sprzętem i kartą SD, jesteśmy tylko o krok od odtwarzania tych piosenek. Włóż kartę do modułu karty SD i wykonaj poniższe czynności.
Krok 1: Jak wspomniano wcześniej, będziemy używać biblioteki, aby ten projekt działał. Link do biblioteki znajduje się poniżej. Kliknij go i wybierz „Klonuj lub pobierz” i wybierz pobieranie jako ZIP.
- Biblioteka TMRpcm
Krok 2: Dodaj ten plik Zip do swojego Arduino IDE, wybierając Szkic-> Dołącz bibliotekę -> Dodaj bibliotekę.ZIP, jak pokazano poniżej, i wybierz plik ZIP, który właśnie pobraliśmy.
Krok 3: Pełny program projektu odtwarzacza muzyki arduino znajduje się na końcu tego artykułu, po prostu skopiuj go i wklej w programie Arduino. Teraz kliknij Prześlij i przygotuj się do odtwarzania plików audio.
Program jest oczywisty, ponieważ mają linie komentarzy. Ale poniżej wyjaśniłem również możliwości biblioteki TMRpcm.
Odtwarzanie pliku audio:
Możesz odtworzyć dowolny dźwięk zapisany w formacie Wav wewnątrz modułu karty SD, korzystając z poniższej linii.
music.play ("3.wav"); // nazwa obiektu.play („NazwaPliku.wav”);
Możesz użyć tej linii w miejscach, w których chcesz wyzwolić dźwięk
Wstrzymaj plik audio:
Aby wstrzymać plik audio, możesz po prostu zadzwonić na poniższą linię.
music.pause (); // nazwaobiektu.pause ();
Przekazywanie / przewijanie dźwięku:
Nie ma bezpośrednich sposobów przewijania pliku audio do przodu lub do tyłu, ale możesz użyć poniższej linii, aby odtworzyć piosenkę w określonym czasie. Można to wykorzystać do przewijania do przodu / do tyłu z dodatkowym programowaniem.
music.play ("2.wav", 33); // Odtwarza utwór od 33 sekundy // nazwa_obiektu.play(DiplotopFilename.wav”, czas w sekundach);
Ustawianie jakości dźwięku:
Biblioteka daje nam dwie cechy do odtwarzania muzyki, jedna polega na graniu w trybie normalnym, a druga w odtwarzaniu z dwukrotnym nadpróbkowaniem.
music.quality (0); // Tryb normalny music.quality (1); // 2X ponad tryb próbkowania
Ustawianie głośności dźwięku:
Tak, możesz kontrolować głośność dźwięku za pomocą oprogramowania. Możesz po prostu ustawić głośność, korzystając z poniższej linii. Wyższa głośność muzyki zwykle wpływa na jakość dźwięku, dlatego w miarę możliwości należy używać sterowania sprzętowego.
music.setVolume (5); // Odtwarza piosenkę z głośnością 5 //objectname.setVolume(Volume level);
Działanie tego odtwarzacza muzycznego Arduino:
Po zaprogramowaniu Arduino wystarczy nacisnąć przycisk podłączony do pinu 2, a Arduino odtworzy dla Ciebie pierwszy utwór (zapisany jako 1.wav). Teraz możesz ponownie nacisnąć przycisk, aby zmienić ścieżkę na następny utwór, który ma być odtwarzany w formacie 2.wav. Podobnie możesz przejść do wszystkich czterech piosenek.
Możesz także odtworzyć / wstrzymać utwór, naciskając przycisk podłączony do styku 3. Naciśnij go raz, aby wstrzymać utwór i naciśnij go ponownie, aby odtworzyć go od miejsca, w którym został zatrzymany. Obejrzyj poniższy film, aby w pełni pracować (a może zrelaksować się przy niektórych piosenkach).
Mam nadzieję, że projekt Ci się podobał. Teraz od Twojej kreatywności zależy, czy wykorzystasz je w swoich projektach. Możesz zrobić mówiący zegar, asystenta głosowego, mówiącego robota, system ostrzegania głosowego i wiele więcej. Daj mi znać, w jaki sposób planujesz go używać, w sekcji komentarzy, a także, jeśli masz jakiekolwiek problemy z uruchomieniem tej rzeczy, możesz skontaktować się ze mną za pośrednictwem forum lub sekcji komentarzy poniżej.