Elektroda.pl
Elektroda.pl
X
Relpol przekaźniki
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Emulator zmieniarki Ford - Arduino Mega 2560

niou_ns 18 Gru 2013 10:27 29577 25
  • Jestem szczęśliwym posiadaczem Forda Focusa MK1. Na starcie w samochodzie wbudowane było radio Ford 6000 z odtwarzaczem cd, co było w pełni wystarczające.
    Niestety, jak to radio 6000, tuner FM odmówił posłuszeństwa, pod ręką miałem jedynie radio 5000, kaseciaka. Jednakże zaciekawił mnie napis "cd changer compatibile", pomyślałem, że być może zmieniarka wyjdzie taniej, niż radio z odtwarzaczem (generalnie chciałem pozostać przy oryginalnym radiu Forda).

    Przeszukując znany portal aukcyjny natknąłem się na emulatory zmieniarki, stwierdziłem więc, że skoro coś takiego można kupić, to można samemu zbudować.
    Wujek google naprowadził mnie na projekt yampp przerobiony przez pana Andrew Hammond'a, przystosowany do radia Ford.
    Jednakże nie po mojej myśli było budowanie całego odtwarzacza mp3 opartego o atmegę, a jedynie modułu emulatora. W szufladzie leżała porzucona rok temu Mega2560, więc pomyślałem - dlaczego nie...
    Po żmudnych poszukiwaniach, przekopaniu dokumentacji Arduino, wielu różnych stron internetowych udało mi się osiągnąć mój cel.

    W załącznikach pełny schemat oraz kod - można korzystać, jednakże proszę o zachowanie nagłówka w kodzie.

    Początkowe testy:

    Link


    Działająca beta:

    Link


    Części niezbędne:
    - Arduino Mega 2560 (nie testowałem na innych, nie miałem możliwości, kod przystosowany jest do Megi)
    - układ MAX485
    - opornik 100ohm
    - dioda led
    - sensowny kabel 9 żył (ja póki co używam 8)
    - lcd zgodny z hd44780 (ja używałem jhd162a)
    - wtyczka Ford Multilock 12pin (da się wygooglać dwa sklepy, które posiadają w ofercie)
    - l7809cv - opcjonalnie (Mega działa szybko i sprawnie przy zasilaniu 9V, szybciej i stabilniej niż przy 5V).
    - tranzystor mosfet (łączymy pin control z pinem radia CD-Enable - ACP-CD)

    Niezbędne programy
    - Arduino 1.0.5
    - biblioteka TimerOne

    Kilka słów nt działania
    Należy wystrzegać się stosowania biblioteki Serial wbudowanej w Arduino - powoduje powstawanie błędów komunikacji i brak synchronizacji już na etapie handshake'ów.
    Do debbugingu lepiej użyć wyświetlacza LCD, ale trzeba uważać.
    Znaki na wyświetlaczu LCD są wyliczone - każdy znak więcej bądź mniej może powodować błędy synchronizacji (spowolnienie działania układu).
    Generalnie cały problem synchronizacji spowodowany jest taktowaniem Arduino (16 mhz) a radia (7.3728 mhz), ale udało się to wysterować.

    Na czym to tak właściwie polega?
    Fordowskie radia, które wspierają zmieniarki, posiadają swego rodzaju wejście aux, tzn. wejście audio dla zmieniarki. Cały układ ma za zadanie oszukanie radia, że jest zmieniarką, która posiada płytę i ją odtwarza, dzięki czemu radio wycisza pozostałe źródła dźwięku (wbudowany odtwarzacz cd, wbudowany kaseciak, radio fm) i pozwala przesłać dowolne źródło dźwięku na piny audio. W planach biorę pod uwagę choćby nawet układ bluetooth ze słuchawek, żeby pozbyć się kabla łączącego telefon z radiem, chociaż wiadomo, że kabel pozwala podpiąć więcej urządzeń.
    Arduino oczekuje na sygnał nadawany z pinów ACP, rozkodowuje i wysyła odpowiednio spreparowane wiadomości zwrotne, ustalając łączność z radiem. Całość odbywa się automatycznie, zaraz po załączeniu radia oraz układu, sterowanie zewnętrzne jest w tym momencie zbędne.
    LCD wyświetla jedynie statusy pracy (oczekiwanie na połączenie / połączenie), ale zaważyło również na synchronizacji (co okazało się zupełnie przypadkowo).
    W planach mam również próbę podpięcia się pod aplikację iPod w iPhone, żeby zmieniać utwory za pomocą pilota z kierownicy.

    Lista TODO:
    - ładne pudełko :)
    - lepszy kabel (użyłem kabla ethernet, który się do tego nie nadaje)
    - użycie wzmacniacza operacyjnego (?). Planowałem zbudować coś w deseń OPA! Amp, jednakże okazało się to zbędne - po wstawieniu kondensatorów elektrolitycznych pomiędzy źródło dźwięku a radio (dokładniej na linii R+ i L+) sygnał okazał się w pełni wystarczający - sygnałem jest gniazdo słuchawkowe w iPhone. Może przydałby się nieco głośniejszy sygnał.

    Emulator zmieniarki Ford - Arduino Mega 2560 Emulator zmieniarki Ford - Arduino Mega 2560 Emulator zmieniarki Ford - Arduino Mega 2560 Emulator zmieniarki Ford - Arduino Mega 2560 Emulator zmieniarki Ford - Arduino Mega 2560

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    niou_ns
    Poziom 9  
    Offline 
    Specjalizuje się w: informatyka
    niou_ns napisał 7 postów o ocenie 16, pomógł 0 razy. Mieszka w mieście Nowy Sącz / Kraków. Jest z nami od 2010 roku.
  • Relpol przekaźniki
  • #2
    adambyw
    Moderator Akustyka
    Ostatnio naprawiałem urządzenie gdzie włączanie zasilania było zrealizowanie na scalaku przełączniku RES060L03. To tranzystor mosfet. Na szczęście kostka sprawna bo może być ciężka do zdobycia, ale możesz potraktować to jako pomysł na rozwiązanie włączenia.

    Drugie chyba najprostsze i najpewniejsze rozwiązanie to przekaźnik na 5V włączający projekt. Chyba rozwiązanie najlepsze bo fizyczne odłączenie daje Ci pewność że projekt nie będzie rozładowywał akumulatora. Istotne zwłaszcza przy dłuższych kilku(nasto)dniowych postojach.
  • Relpol przekaźniki
  • #3
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #4
    niou_ns
    Poziom 9  
    burrakasistema napisał:
    Właściwie nie napisałeś jak to działa, do czego LCD, w jaki sposób ta emulacja przebiega, jak sterujesz tym emulatorem itd.

    Uzupełniłem post, mam nadzieję, że tyle informacji wystarczy :-)

    burrakasistema napisał:

    a słyszałeś może o czymś takim jak tranzystor

    Słyszałem :-) Aczkolwiek nie wiedziałem, że w ten sposób się robi bramkę. Dzięki za wskazówki, uzupełnię post kiedy odpowiednio to dopieszczę.

    Na moje usprawiedliwienie - generalnie rzecz ujmując - jestem informatykiem (programista webowy), elektroniki miałem tyle co na studiach (czyli pożal się Boże) - czysta teoria, zero praktyki, dlatego wiem o istnieniu bramek, ale nie mam pojęcia jak je realizować. Dlatego można powiedzieć, że mam polot do pojmowania elektroniki, potrafię czytać dokumentacje, aczkolwiek mogę strzelać takie gafy, jak właśnie z kwestią "jak zbudować bramkę".
  • #5
    domints
    Poziom 13  
    W sumie to potrzebujesz po prostu jakiegoś prostego MOSFETa, żeby działał jako klucz tak jak mniej-więcej tu:
    Emulator zmieniarki Ford - Arduino Mega 2560
    Zamiast przycisku masz ten pin ACP-CD, a zamiast tego AMC-coś prostokąta podłączasz + i - zmieniarki.
    R1 może być w zasadzie jakikolwiek, nie masz raczej sygnałów szybkozmiennych, więc rezystory rzędu kΩ do MΩ powinny działać. Myślę, że 10-470kΩ byłby w sam raz, jednak nie jest to element aż tak istotny, ważne, żeby nie był za mały, bo może się palić lub mocno przegrzewać, gdy zmieniarka będzie włączona.
    Tranzystor jaki będzie dobry to chyba z zapasem i najpopularniejszy BUZ11 - dość popularny, wytrzymujący takie napięcia, stosunkowo niedrogi (góra kilka złotych), a jest w stanie wysterować nawet 5A. Oczywiście zawsze możesz poszukać czegoś mniejszego i tańszego, byle było w stanie otwierać się i działać przy odpowiednich napięciach i było conajmniej na prąd pobierany przez ten emulator.

    P.S. Oczywiście nie jestem jakimś mistrzem elektroniki, jeśli palnąłem jakąś głupotę, proszę, niech ktoś mnie poprawi ;)
  • #6
    Jacek Rutkowski
    Poziom 26  
    Witam,
    niestety odcinanie - zasilania jest złym pomysłem. Niech autor tematu wypowie się jak jest przekazywany sygnał audio?
    Czy masa czyli - zasilania nie jest na sztywno podpięty przy wejściu a sygnał przez kondensatory?
    Na 99% tak więc pozostaje odcinanie + zasilania.
  • #7
    mkpl
    Poziom 37  
    Jako klucz zasilania dowolny mosfet typu P wpięty w plus. Bramka sterowana z wyjścia sterującego zasilaniem anteny/ zewnętrznym akcesorium

    " l7809cv - opcjonalnie (Mega działa szybko i sprawnie przy zasilaniu 9V, szybciej i stabilniej niż przy 5V)" - NIE zgadzam się!! Herezja !!

    Producent w karcie katalogowej podaje: "ATmega2560 / ATmega2561:  0 - 16MHz(malpa)4.5V - 5.5V" Więc jest to tu błędy i szkodliwy wpis. Popraw to!


    Jeśli chodzi o sam emulator fajnie że sam coś robisz ale po co ten LCD i dlaczego taki przerośnięty procesor?

    Piszesz, że LCD do podglądnięcia tego co się dzieje między radiem a emulatorem. W sumie bzdura. Wystarczy się podłączyć przed MAX485 i tam jest zwykły rs232. Błędy komunikacji (kwarcu) bardzo łatwo poprawić wystarczy zmienić kwarc na typowy do transmisji RS232 czyli 11.0592 MHz który kupisz w pierwszym lepszym elektronicznym.

    Co do biblioteki serial można z niej zrezygnować całkowicie. Obsługa UART nie jest wcale skomplikowana do tego sterowaniem przepływem przy 485 to w zasadzie wystawienie 1 lub 0 na port a potem wystarczy wysyłać gotowe kody.
  • #8
    niou_ns
    Poziom 9  
    mkpl napisał:
    Jako klucz zasilania dowolny mosfet typu P wpięty w plus. Bramka sterowana z wyjścia sterującego zasilaniem anteny/ zewnętrznym akcesorum

    " l7809cv - opcjonalnie (Mega działa szybko i sprawnie przy zasilaniu 9V, szybciej i stabilniej niż przy 5V)" - NIE zgadzam się!! Herezja !!

    Producent w karcie katalogowej podaje: "ATmega2560 / ATmega2561:  0 - 16MHz(malpa)4.5V - 5.5V" Więc jest to tu błędy i szkodliwy wpis. Popraw to!


    Jeśli chodzi o sam emulator fajnie że sam coś robisz ale po co ten LCD i dlaczego taki przerośnięty procesor?

    Piszesz, że LCD do podglądnięcia tego co się dzieje między radiem a emulatorem. W sumie bzdura. Wystarczy się podłączyć przed MAX485 i tam jest zwykły rs232. Błędy komunikacji (kwarcu) bardzo łatwo poprawić wystarczy zmienić kwarc na typowy do transmisji RS232 czyli 11.0592 MHz który kupisz w pierwszym lepszym elektronicznym.

    Co do biblioteki serial można z niej zrezygnować całkowicie. Obsługa UART nie jest wcale skomplikowana do tego sterowaniem przepływem przy 458 to w zasadzie wystawienie 1 lub 0 na port a potem wystarczy wysyłać gotowe kody


    Proszę przeczytać dokładnie - jak wspomniałem, Arduino leżało nieużywane (od ponad roku), zrobiłem więc z niego użytek.

    Co do 5V vs 9V - przy zastosowaniu 5V z po kablu z USB wyraźnie wolniej pracował wyświetlacz, jeszcze gorzej w momencie aktywacji jego podświetlenia, co odbijało się na prędkości działania układu (zasilanie dla lcd leci z bezpośrednio z Arduino). "Producent w karcie podaje" - ale dla Atmegi, dla Arduino: Input Voltage (recommended) 7-12V, Input Voltage (limits) 6-20V. Tak więc rozpatrując dokumentację od producenta Arduino - wstrzeliłem się w średnią zalecanej wartości napięcia wejściowego.

    Idąc dalej - wymiana kwarcu w Arduino ? Podobno się da, ale czy warto ? Nie jest to więcej wysiłku, niż korzyści ?
  • #9
    mkpl
    Poziom 37  
    Arduino ma samo w sobie stabilizator na 5V i jest owszem zasilane zewnętrznym zasilaczem do 12V co potem jest zbijane na 7805. Procesor idzie z dymem gdy dostanie 9V a o wyświetlaczu to już nie wspominam bo on bardziej wyczulony na zasilanie niż sama atmega.

    Jeśli kolega faktycznie tam chce zapakować całe arduino to ok. Ja osobiście zrobił bym to nawet na attiny13 które spokojnie tu wystarczy
  • #10
    niou_ns
    Poziom 9  
    Dziękuję za wskazówkę o tranzystorze mosfet - płytka przerobiona i śmiga jak się patrzy.
  • #11
    kuba2509
    Poziom 12  
    Witam
    Niestety rozczaruje autora postu radio Ford 6000 CD posiada wejście AUX {na kostce z tyłu} i potrzebny jest tylko kabelek,do jego podłączenia.Link
    Pozdrawiam
    Kuba2509
  • #12
    niou_ns
    Poziom 9  
    kuba2509 napisał:
    Witam
    Niestety rozczaruje autora postu radio Ford 6000 CD posiada wejście AUX {na kostce z tyłu} i potrzebny jest tylko kabelek,do jego podłączenia.Link
    Pozdrawiam
    Kuba2509


    Kolego, nie rozczarowałeś mnie, za to ja postaram się Ci coś naprostować - Ford 6000 Fordowi 6000 nierówny:
    6000 z Focusa MK1: http://www.szrot.net/userdata/gfx/e3354c1c72a3f47e386de92cd8d4cd31.jpg
    6000 z Focusa MK2:
    http://rford.pl/data/gfx/pictures/large/4/9/3394_1.jpg

    Modele od Focusa MK2 posiadają wejście aux, wcześniejsze - niestety nie.
    Z resztą - z linku, który sam podajesz - pierwsza aukcja z góry - i wyraźnie jest napisane: Fordy 2005 > ++ .
  • #13
    kuba2509
    Poziom 12  
    Witam
    Chylę czoło masz kolego racje 100% jezdziłem kiedyś fordem z tym radiem ale wyglądało pomimo numeru całkiem inaczej .Zwracam honor

    Kuba2509
  • #14
    Piotrek1970
    Poziom 17  
    Witam,
    widzę że kolega niou_ns trochę namieszał z tym zasilaniem i pomylił zasilanie układu Arduino z zasilaniem samego procesora. Na schemacie widać tą różnicę. Jak zwykle u "facetów", jest to skrót myślowy Arduino = Atmega, co w tym przypadku jest nadużyciem i powodem do rozpętania dyskusji na ten temat.

    Pozdrawiam,
    Piotrek -jak najbardziej "facet" ;-)

    p.s.: ilu fachowców tyle rozwiązań
  • #15
    rogeros
    Poziom 13  
    Witam.
    Dziękuje autorowi za udostępnienie kodów źródłowych co bardzo pomoże mi
    przy uruchomieniu swojego układu.

    Ale napotkałem na samym początku na inny problem. Otóż nie mogę uruchomić radia na biurku.

    Emulator zmieniarki Ford - Arduino Mega 2560

    Podłączyłem w Connector a
    pin 1 - 12V +
    pin 6 - 12V -
    obudowę radia - 12V -

    i radio się uruchamia ale po podaniu prawidłowego kodu pojawia się
    częstotliwość "FM 95.8" i radio nie reaguje na żaden przycisk poza
    ON/OFF w gałce od regulacji głośności. (Po włączeniu za każdym razem prosi o kod)

    Gdy dodałem do
    pin 3 - 12V +

    to objawy są podobne ale po wpisaniu poprawnego kodu radio "resetuje się"
    i od nowa prosi o podanie kodu.

    Podłączyłem również jeden głośnik ale to nic nie dało.

    Dlatego zwracam się do kolegi z pytanie czy potrzebne są jakieś dodatkowe
    podłączenia aby uruchomić radio "na biurku" ??

    Z góry dziękuję za odpowiedź. Pozdrawiam.
  • #16
    lukaszguzik
    Poziom 11  
    Wybaczcie za odkop, aczkolwiek jestem na etapie projektowania podobnego projektu (w wersji uproszczonej). Nie rozumiem dlaczego powinienem odcinać +, zamiast masy przy użyciu mosfetu. Podobnie, niezbyt wychodzi mi ogarnięcie w jaki sposób użyć mosfetu typu P do takich celów.
    Prosiłbym o wskazówki :)

    Dodano po 1 [godziny] 55 [minuty]:

    Udało mi się stworzyć coś takiego. Byłbym wdzięczny za uwagi, czy ma to jakikolwiek sens i prawo działania :)
    Na schemacie wkradł się błąd - mosfet Q2, którego zamierzam użyć to IRF9530.
  • #17
    niou_ns
    Poziom 9  
    @lukaszguzik mam jeszcze zbudowany (wciąż działąjący) emulator, pojutrze będę mógł zweryfikować jak to ostatecznie rozwiązałem (radio włączało emulator), ale muszę fizycznie wziąć to do ręki :-) Pozdrawiam!
  • #18
    lukaszguzik
    Poziom 11  
    Rozwiązanie z mojego schematu powyżej działa jak należy. Gdy tylko napiszę program i uruchomię układ w samochodzie zaprezentuję całość ;)
  • #19
    upanie
    Poziom 21  
    No jak odkupujemy to odkopujemy.
    Zrobiłem sobie coś takiego klejąc ze sobą dwie różne, stare, znalezione płytki i działa.
    Jednak zadziwia mnie jedna rzecz. Radio nie "widzi" zmieniarki zaraz po włączeniu zasilania.
    Od włączenia radia do załapania zmieniarki mija czasami nawet ponad minutę a czasami jest od razu.
    Sprawdzałem na oscyloskopie i konwersacja radio-emulator działa od początku.
    Miał któś cóś takiego?

    Cytat:
    Nie rozumiem dlaczego powinienem odcinać +, zamiast masy przy użyciu mosfetu.

    To zależy do czego to zasilanie. Generalnie lepiej jest odłączać plusa z co najmniej dwóch powodów:
    1. Wstawienie tranzystora od strony masy zmienia potencjał tejże masy i jeśli to jest istotne by urządzenie włączane miało ten sam potencjał co urządzenie włączające to nie będzie poprawnie działać.
    2. Odłączenie masy może być zgubne w skutkach gdy podłączone zostaną jakieś inne sygnały. Może się zdarzyć, że napięcie na jakimś wejściu może uszkodzić urządzenie gdy nie ma ustalonego wspólnego potencjału masy.
  • #20
    lukaszguzik
    Poziom 11  
    Dzięki za wyjaśnienie dlaczego odcinamy + :)
    Ostatecznie stworzyłem całość schematu od nowa na bazie ATmegi 8, później płytka dwustronna i całość zamknięta w hermetycznej obudowie w schowku (aczkolwiek mieści się też w przestrzeni obok radia).

    Radio wykrywa emulator od razu, aczkolwiek czasem nie wykrywa wcale - wystarczy wtedy je ponownie włączyć.
  • #21
    upanie
    Poziom 21  
    Może właśnie wykryje tylko musisz poczekać z minutę albo dłużej.

    Tak swoją szosą to też zaprojektuję jakieś PCB żeby mi się to nie rozpadło i ja osobiście dodam jeszcze mały wzmacniaczyk bo poziom sygnału z tabletu czy smartfona jest dużo niższy niż radia FM co zmusza mnie do kręcenia głośnością przy przełączaniu zmieniarka/radio.
  • #22
    lukaszguzik
    Poziom 11  
    Pomyślałem o tym już po uruchomieniu całości. Czekam nadal na przesyłkę z Chin z modułem A2DP - chciałem spróbować wersji bezprzewodowej :P

    Mogę udostępnić swój schemat/płytkę, chciałbym w zamian jedynie konstruktywną krytykę :)
  • #23
    upanie
    Poziom 21  
    Śmiało, ja tam i tak zrobię po swojemu ale skrytykować zawsze można :D
  • #24
    lukaszguzik
    Poziom 11  
    Schemat w załączniku, do tego zdjęcia płytki z drobnym błędem - brakowało rezystora pomiędzy liniami ACP+ i ACP-.
    Przy takim zastosowaniu MOSFETu pobór prądu przy stanie niskim na CD_ENABLED jest równy zeru (wg miernika uniwersalnego). Podstawowym założeniem przy projektowaniu płytki był jej niewielki rozmiar - stąd wersja dwustronna (moje pierwsze podejście do wykonywania takich płytek). Przewód to skrętka kat. 5e drut, natomiast przewód sygnałowy audio jest poprowadzony bezpośrednio z wtyczki do radia.
    Kod napisałem od zera w C++, wzorując się jedynie na kodzie autora tematu w kwestii obsługi protokołu ACP (wraz z dokumentacją dostępną w sieci).
    Jakość lutów możemy pominąć, podobnie jedna warstwa płytki nie jest idealnie wyrównana z wierceniami... nie jest wcale wyrównana, stąd w kilku miejscach lutowanie było podwójnie problematyczne.

    Emulator zmieniarki Ford - Arduino Mega 2560 Emulator zmieniarki Ford - Arduino Mega 2560 Emulator zmieniarki Ford - Arduino Mega 2560 Emulator zmieniarki Ford - Arduino Mega 2560 Emulator zmieniarki Ford - Arduino Mega 2560 Emulator zmieniarki Ford - Arduino Mega 2560

    Całość działa i spełnia swoje zadanie, aczkolwiek podpinanie kabla do telefonu jest uciążliwe. Z tego powodu z urządzenia skorzystałem zaledwie kilka razy. Nadal czekam na moduł BT A2DP z Chin (paczka w drodze od ponad dwóch miesięcy), by spróbować sił z wersją bezprzewodową.
  • #25
    Jezzman
    Poziom 21  
    Jaki zamówiłeś moduł BT ?? Jeżdżąc focusem w uk korzystałem z twojego rozwiązania i problemów z nim nie miałem, tyle że woziłem całe arduino w schowku :D
  • #26
    mattek97
    Poziom 12  
    Pozwolę sobie odświeżyć temat, ponieważ jestem na etapie budowania takiej zmieniarki.
    Postanowiłem skorzystać z projektu Ansona Liu, który bazuje zaś na emulatorze autora postu. Stworzyłem według załączonego schematu płytkę, na Arduino wgrałem plik z instrukcji.
    Następnie złożyłem całość i zszedłem do samochodu. Arduino zasiliłem tymczasowo z powerbanka, wtyczkę wpiąłem z tyłu radia - niestety, nie wykrywa ono emulatora. Jedyna reakcja to pulsowanie co sekundę diody odpowiedzialnej za ACP, od momentu połączenia z radiem. Ktoś ma jakiś pomysł co może być nie tak?

    Wykorzystałem przewód, który pierwotnie miał działać ze zmieniarką Yatour. Co ciekawe, zawierał on zworkę pomiędzy pinami GND ACP i GND AUD - ktoś wie czemu i czy jest to potrzebne? Ponadto, projekt z linku nie korzysta z linii ACP CD, jednak Yatour już jej używał.

    Jeśli byłby ktoś w stanie rozwiać moje wątpliwości i nakierować mnie, byłbym bardzo wdzięczny. To mój pierwszy raz, gdy korzystam z Arduino, jednak myślę, że zaprogramowałem wszystko dobrze.

    EDIT:
    Wszystko już działa. Okazało się, że jedno z moich Arduino nie działa na pinie VIN. Ponadto autor projektu na schemacie podał pin 8 jako komunikacja z radiem, zaś sam program ustawiony jest na pin 7. Po przelutowaniu wszystko działa.