Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Postanowiłem więc zrobić projekt, który odkładałem na jakiś czas: domowe, w pełni funkcjonalne radio internetowe, ze wzmacniaczem i głośnikiem, za mniej niż 15 €!.
Możesz przełączać się między wstępnie zdefiniowanymi strumieniowymi stacjami radiowymi za pomocą jednego przycisku, a głośność możesz kontrolować, obracając ładny potencjometr.
Krok 1: Zestawienie materiałów
- Płytka mikrokontrolera oparta na ESP-WROOM32. W rzeczywistości istnieją co najmniej dwa interesujące warianty tego układu mikrokontrolera (patrz zdjęcie) - użyłem WEMOS LOLIN32, który nie ma wbudowanego przycisku, ponieważ chciałem użyć własnego. Jeśli jednak chcesz uniknąć jak największego lutowania, możesz wybrać inny wariant, który jest wyposażony w przycisk i piny już wlutowane.
- Adafruit I2S 3W wzmacniacz klasy D Breakout - MAX98357A. Ta płytka zawiera cudowny układ firmy Maxim Electronics, który jest zarówno przetwornikiem cyfrowo-analogowym, jak i 3W wzmacniaczem klasy D! Przesyłasz do niego sygnał cyfrowy ze swojego mikrokontrolera i bezpośrednio napędzasz głośniki, żadne inne obwody nie są potrzebne.
- Głośnik 4Ω/8Ω. Użyłem SHARP RSP-ZA249WJZZ L, 8 Ω, 10 W, resztki telewizorów Sharp, które kupiłem w sklepie internetowym.
- Tuleja drążona 5,5/2,1 mm
- Potencjometr liniowy 120Ω. Nie spowoduje to całkowitego wyciszenia radia po całkowitym wyłączeniu, ale dzięki niemu uzyskasz bardzo użyteczny zakres głośności głośnika.
- Miniaturowy przycisk (jeśli ślepo podążasz za tym przewodnikiem, upewnij się, że przycisk, którego używasz, jest normalnie w pozycji wyłączonej i włączony po naciśnięciu). Może być również konieczne zmodyfikowanie kodu źródłowego, aby poprawić zachowanie przycisku (patrz krok oprogramowania). Pomiń to, jeśli masz mikrokontroler z przyciskiem na pokładzie.
- Cienki drut (w różnych kolorach)
- Rurki termokurczliwe
- Zasilacz 5V z wtyczką wyjściową 5,5/2,1
- Sprawa. Jeśli uda Ci się znaleźć głośnik o podobnych wymiarach powierzchni do tego, którego użyłem (11cm x 4cm), to możesz wydrukować etui na podstawie dostarczonego przeze mnie pliku stl. W przeciwnym razie możesz improwizować: na przykład karton doskonale sprawdzi się!
Możesz iść jeszcze taniej, by
- oczyszczenie głośnika z wyrzuconej elektroniki (zrobiłem to za pierwszym razem, a potem szukałem czegoś lepszego).
- z pominięciem dedykowanego zasilacza i tulei 5,5/2,1 i po prostu za pomocą portu microUSB mikrokontrolera i ładowarki telefonu. Pamiętaj, aby podłączyć 5V/GND mikrokontrolera z końcówką wzmacniacza, a także użyć wystarczająco mocnej ładowarki do telefonu.
- pominięcie dedykowanego przycisku i korzystanie z wbudowanego.
W ten sposób możesz obniżyć koszty do mniej niż 10 USD!
Krok 2: Lutowanie elektroniki razem
Aby wykonać ten krok, potrzebujesz podstawowych umiejętności lutowania
Podłącz zasilanie
Przylutuj dwa przewody na każdym z zacisków przepustu zasilającego 5,5/2,1. Jeśli masz różne kolory, nie jest złym pomysłem użycie czerwonego lub brązowego dla dodatniego (5V) i czarnego lub zielonego dla ujemnego (GND). W ten sposób zawsze wiesz, który kabel jest napięciowy/dodatni, a który uziemiony/ujemny.
Drugi koniec kabli przylutuj do płyt ESP32 i MAX98357A (patrz schemat).
Podłącz ESP32 do MAX98357A
następująco:
ESP pin ----------------- Sygnał I2S GPIO25/DAC1 --------- LRCKGPIO26/DAC2 --------- BCLK GPIO22 --- --------------- Źródło danych:
Miniaturowy przycisk
Połącz miniaturowy przycisk z pinem GPIO0 i GND. Służy do zmiany między stacjami radiowymi.
Głośnik i potencjometr
Połącz wyjście głośnikowe MAX98357A szeregowo z głośnikiem i potencjometrem.
Zakończyć
Po zakończeniu zawiń wszystko w koszulkę termokurczliwą. W zależności od tego, jak planujesz pakować radio, możesz nawet zamaskować tylną powierzchnię głośnika taśmą maskującą, aby uniknąć przypadkowych styków elektrycznych.
Krok 3: Oprogramowanie (oprogramowanie układowe)
Oprogramowanie do radia internetowego jest już dostępne tutaj:
Wszystko co musisz zrobić to:
-
Skonfiguruj zaszyfrowane środowisko do tworzenia ESP o nazwie ESP-IDF. Proces konfiguracji różni się nieznacznie w zależności od systemu operacyjnego. Szczegółowe instrukcje znajdziesz tutaj:
docs.espressif.com/projects/esp-idf/en/lat… To nie jest zbyt przyjazne dla użytkownika, ale niech cię to nie przeraża!
- Pobierz lub (git clone) kod źródłowy z powyższego adresu.
- Skonfiguruj dostęp do sieci WLAN: wykonaj menuconfig i wprowadź swoje dane uwierzytelniające Wi-Fi.
-
zmodyfikuj listę Radia Internetowego zgodnie z własnymi preferencjami: Listę odtwarzania można znaleźć pod adresem
ESP32_MP3_Decoder/main/playlist.pls
- Jeśli podłączyłeś swój własny przycisk (w przeciwieństwie do korzystania z wariantu płytki z wbudowanym przyciskiem), możesz zastąpić plik web_radio.c w ESP32_MP3_Decoder/components/web_radio/ tym dostarczonym tutaj. Wprowadziłem pewne modyfikacje, aby zapobiec zniekształcaniu radia internetowego przez wielokrotne naciśnięcia przycisków. Tak przynajmniej stało się w moim przypadku z niezmodyfikowanym kodem.
- wgraj całość do swojego mikrokontrolera ESP32: make a następnie (jeśli build nie pokazuje błędów) make flash. W moim przypadku make flash nie działał, ale po uruchomieniu make sugeruje to polecenie (coś w stylu python ~/esp/esp-idf/components/esptool_py/esptool/esptool.py bla bla), które powinno działać w większości sprawy.
Krok 4: Wykończenie
Umieść wszystko w etui, uważając, aby żadne powierzchnie przewodzące nie stykały się ze sobą. Do tego celu można użyć rurki termokurczliwej, taśmy izolacyjnej z PVC, a nawet pistoletu do kleju. Do unieruchomienia wszystkiego potrzebny jest również pistolet do kleju. Zrób to po przetestowaniu wszystkiego i upewnieniu się, że wszystko działa zgodnie z oczekiwaniami!
To było to, ciesz się!