logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Modyfikacja chińskiego głośnika BT Feegar dance lub podobnych

Karol966 24 Paź 2022 12:45 3501 3
REKLAMA
  • Cześć,
    Razu pewnego, mając zlecenie w terenie gdzie długie dnie spędzałem w ciszy kupiłem głośnik BT z wbudowanym radiem na alledrogo za ok 200zł. Od początku wnerwiało mnie to, że włączając go głównym włącznikiem zasialnia zawsze uruchamiał się w trybie BT na 2/3 głośności (czytaj, bardzo głośno) a do tego jeszcze takim wrednym, krzykliwym "titu titu" witał całe otoczenie na dzień dobry. Teraz patrząc na te głośnik, widzę również identyczne pod inną nazwą ale z dokładnie takim samym problemem:
    Modyfikacja chińskiego głośnika BT Feegar dance lub podobnych
    Już raz się do tego przymierzałem ale nie specjalnie wpadłem na pomysł jak go zmodyfikować (wyciszyć chociażby cały start (dźwięk powitania + informację o "bluetooth mode"). Popatrzyłem na końcówki mocy (małe cyfrowe wzmacniacze MIX2018a)
    Modyfikacja chińskiego głośnika BT Feegar dance lub podobnych
    Bałem się uszkodzić główny procesor, który ma w sobie zintegrowane wszelkie układy/ systemy (odbiornik BT, radio FM, obsługę USB/ kart pamięci, interface...) wiec wnikliwie analizowałem malutką chińską płyteczkę zrobioną przez jeszcze mniejsze malutkie chińskie rączki. Okazało się, że linia SD jest podciągana do VCC rezystorem 100k a aktywacja końcówek obywa się poprzez ściągniecie tej linii do GND tranzystorem. Baza tego tranzystora była połączona z głównym CPU rezystorem 10k oraz ściągnięta do GND również 100k. Rozwiązanie polegało na wymuszeniu stanu niskiego na bazie tranzystora na wymagany czas rozruchu urządzenia - podłączyłem jeden z pinów mojego małego procka do bazy tego tranzystora poprzez pierwszy lepszy rezystor (330 w zasadzie nie potrzebnie ale akurat leżał na biurku) a program ustawia ten pin jako wyjście z domyślną wartością PORTx=0 (ściągam do masy a główny CPU próbując włączyć końcówki ma za obciążenie rezystor 10k więc nic mu się nie powinno stać bo płynie tam jedynie 330uA).
    OK, udało się wyciszyć cholernie głośne i tandetne powitanie, zostało wolnych pinów wiec czas zmniejszyć głośność z domyślnych 20/30 na 2 (wystarczy by w warsztacie spokojnie słuchać muzyki - na zewnątrz to za cicho ale praca w terenie się skończyła a głośnik używam na co dzień do radia). No to kolejne 2 piny i na tej samej zasadzie, manipulując jedynie rejestrem kierunku DDRx wygenerowałem interesującą mnie ilość impulsów. Trochę dziwne przebiegi obserwowałem (również na fabrycznym enkoderze - były 3 poziomy napięć: GND, 1/2VCC, VCC). No ale działa.
    Kolejna modyfikacja to przełączenie trybu BT na radio FM - znów prosta sprawa - zwieram na krótką chwilę linię podłączoną do przycisku MODE kolejnym pinem procesora.
    Modyfikacja chińskiego głośnika BT Feegar dance lub podobnych Modyfikacja chińskiego głośnika BT Feegar dance lub podobnych
    Robiąc to na ATtiny10 i chcąc wykorzystać wszystkie w/w funkcje trzeba pozbyć się pinu RESET (zmienić fusebit wyłączający tą funkcję) wiec bez adaptera HV blokujemy procesor przed dalszą modyfikacją. Program krótki napisałem, wgrałem, przetestowałem jeszcze z normalnym resetem (ale bez podłączonego fizycznie enkodera - panel był odpięty) no i wszystko działało OK. Złożyłem całość a tu zonk. Nie działa. W sumie nie jestem pewien dlaczego ale skoro miałem pod ręką również wersję na ATtiny13 to znudzony na szybko przełożyłem płyteczki:
    Modyfikacja chińskiego głośnika BT Feegar dance lub podobnych
    I ponownie - test bez panelu OK, skręciłem całość, posprzątałem i znów zonk - Ostatecznie mam wrażenie, że enkoder musi w losowych pozycjach wymuszać zwarcie kanału A/B do masy choć usilnie chciałem zobaczyć to na oscyloskopie bez skutku. Sprawdziłem kolejne 10 razy było zawsze OK więc zostało na pająku. Nieco większy procesor ma jeszcze jedną zaletę - można dopisać obsługę pilota IR i wyciszać również durne komunikaty przy jego obsłudze.
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Może komuś się przyda pomysł lub całość ;)

    PS. Zastanawiam się czy można by to zrobić lepiej, zapewne tak. Np wykorzystać wyłącznie 2 piny procesora (ew 3). Wyciszenie oraz wpiąć się do odbiornika podczerwieni (nie wiem jaki typ wyjścia posiada, jeśli nie jest to otwarty dren to trzeba by wykorzystać kolejny pin procka by z robić z niego most). Sprzętowe wyciszenie jest konieczne ponieważ przez czas startu sprzęt nie reaguje na żadne przyciski/ na pilota. Możliwe, że wyszło by to elegancko i lepiej ale zdecydowanie więcej pracy wymaga - trzeba sprawdzić jaki jest protokół (ok, to może być chwila, na arduino są gotowce IR decode) no ale obsługa w C nadajnika sama się nie napisze ;)

    Fajne? Ranking DIY
    O autorze
    Karol966
    Poziom 31  
    Offline 
    Karol966 napisał 2038 postów o ocenie 645, pomógł 83 razy. Mieszka w mieście Ciechocinek. Jest z nami od 2006 roku.
  • REKLAMA
  • #2 20262272
    metalMANiu
    Poziom 21  
    Posty: 619
    Pomógł: 11
    Ocena: 241
    Musisz być bardzo odważny publikując swoje rozwiązanie tu na forum.
    Aż dziwne, że jeszcze się nie znalazła osoba, która wytknęłaby Ci użycie procesora do tak prostej rzeczy :)

    Ode mnie +
    Lubię proste i szybkie rozwiązania problemów (na Księżyc ten głośniczek nie będzie leciał).
  • REKLAMA
  • #3 20263919
    Karol966
    Poziom 31  
    Posty: 2038
    Pomógł: 83
    Ocena: 645
    metalMANiu napisał:
    która wytknęłaby Ci użycie procesora do tak prostej rzeczy

    Zaproponujesz "lepsze" rozwiązanie? Użyłem dwóch elementów - mały procesor + kondensator a urządzenie realizuje 3 funkcje (4 linie I/O).

    metalMANiu napisał:
    na Księżyc ten głośniczek nie będzie leciał
    Chyba nie miałeś do czynienia z podobnym natrętnym powitaniem chińskiego urządzenia audio. Nie wyobrażasz sobie jak jestem bardzo zadowolony z tej modyfikacji.
  • #4 20264757
    metalMANiu
    Poziom 21  
    Posty: 619
    Pomógł: 11
    Ocena: 241
    Absolutnie nie. Ciężko o prostsze i efektywniejsze rozwiązanie niż to Twoje.
    Ja Cię pochwaliłem a nie skrytykowałem :)
REKLAMA