
Chciałbym przedstawić proste radio FM oparte o kilka chińskich modułów.
Cechy użytkowe:
- zasilanie z portu USB (u mnie: "pasożytnicze" współdzielone zasilanie z innym urządzeniem)
- zdalne sterowanie (standard NEC)
- sleep timer (5...45 minut) - przycisk [200+] + [1]...[9] gdy radio jest włączone
- "wake timer" (1...9 minut) - funkcja włączenia po ustalonym czasie, w założeniu przeznaczona do wyciszania reklam - sekwencja przycisków jak sleep timer ale gdy radio jest wyłączone
- pamięć 10 stacji (programowanie: po dostrojeniu przycisk [CH] + [1]...[9] + [CH])
- pamięć innych nastaw, w tym pamięć stanu włączenia/wyłączenia (możliwość obycia się bez pilota, tzn. po przywróceniu zasilania radio wraca do stanu poprzedniego)
- możliwość pracy jako aktywne głośniki PC (wejście AUX)
- 15 poziomów głośności, z wejścia AUX głośność stała

Użyte moduły z orientacyjnymi cenami:
- klon arduino nano (sterowanie oraz zasilanie) - ~$2
- RDA5807M (tuner FM) - $0.99 za 2 sztuki
- PAM8403 (stereofoniczny wzmacniacz audio klasy D) - $1.5 za 3 sztuki
- miniaturowy pilot "car mp3" w zestawie z odbiornikiem IR - ~$1.30

Płytka jest dosyć luźna, w większości użyte są elementy przewlekane. Kilka elementów jest nadmiarowych: złącze godpin J4 jako alternatywa dla wlutowanego TSOP17xx, złącze diody LED sygnalizującej pracę do ewentualnego wyprowadzenia na front.

Pilot (w zestawie z odbiornikiem IR, chociaż na PCB umieściłem "stary"/duży TSOP17xx) jest zasilany ogniwem CR2025, ale u mnie zmieściło się bardziej popularne i tanie CR2032.
Z pilotów do których miałem dostęp nadają się też piloty od DVB-T Wiwa (i pewnie innych podobnych tunerów opertych na układzie mstar) i miniaturowy pilot z zestawu USB DVB-T RTL2832U, ale przypisanie przycisków do funkcji wymagać będzie zmiany.
W stanie czuwania w obecnej wersji programu (AVR pracujący z domyślnym taktowaniem arduino, RDA5807M zawsze włączony, sterowany przez mute dla usunięcia stuków przy włączaniu) układ pobiera prąd około 50mA.

Potencjalne problemy, kompromisy:
- brak translacji poziomów I2C między arduino (5V) i RDA8705M (3,3V) - ryzyko uszkodzenia wydaje się niewielkie, użyte pullupy AVR mają relatywnie duże wartości, na wypadek błędnego skonfigurowania portów dodane są też szeregowe rezystory 3,3k
- pojemność obciążająca zasilanie przekracza dopuszczalną przez specyfikację USB - u siebie problemów nie obserwuję, stąd układ soft startu potraktowałem jako nadmierną komplikację
Używam modułów głośnikowych 5W/8Ohm pochodzących z demontażu TV (Link). Maksymalna moc wyjściowa nie przekracza raczej sumarycznie 1W.
Nie mam jeszcze pomysłu na obudowę.
Schemat i PCB zostały przygotowane w Kicadzie, firmware w WinAVR (ale do programowania dla wygody używałem standardowego bootloadera arduino).
Dodatkowy opis: http://tomeko.net/projects/RDA5807M_radio/.
Pliki Kicad:
Firmware:
Cool? Ranking DIY