Co zrobić kiedy popsuł nam się oryginalny pilot tak, że nie działa część przycisków i nie pomaga czyszczenie i/lub wymiana gumek, nie chcemy kupować oryginału ani zamiennika tylko kupić od razu pilot uniwersalny, którym możemy zastąpić kilka pilotów?
Kupując zamiennik nie ma 100% pewności iż będą działać wszystkie fukcje z oryginalnego pilota a uniwersalny - zwłaszcza starszy, tańszy może nie mieć w bazie naszego urządzenia lub mogą nie działać wszystkie przyciski, co właśnie mi się przydarzyło. Kupiłem pilot uniwersalny z funkcją uczenia. Niestety okazało się, iż nie ma on w bazie kodów do mojego urządzenia ale udało mi się go nauczyć działających przycisków z uszkodzonego pilota. No ale w tym momencie wyszło na to iż "Zamienił stryjek siekierkę na kijek" bo mam już drugi pilot w którym działa tylko ta sama część przycisków
Pomyślałem iż nie będę znowu kupował innego pilota, nie mając 100% pewności czy zadziała z moim urządzeniem. Zastanawiałem się jakby tu nauczyć pilot brakujących przycisków - kody przycisków musimy skądś wziąć i czymś wysłać.
I tu z pomocą przychodzi mój projekt: Arduino, dioda IR, dosłownie jeden rezystor 100om i kilka kabelków + płytka stykowa bo wybrałem wersję Arduino Nano (zlutowane goldpiny). Nie trzeba nawet żadnego mikroprzełącznika czy ATtiny a kody wysyłamy z poziomu konsoli szeregowej. Dodatkowo wykorzystałem jeszcze odbiornik IR TSOP 1736 aby odczytać wartości i protokół w jakim nadaje pilot oryginalny i wyszło mi iż to protokół NEC. Uważam iż schematu nie ma co zamieszczać bo zrobiłem wyraźne zdjęcie na którym wszystko widać:
No dobra ale skąd wziąć kody brakujących przycisków?
Arduino jest na tyle popularne iż wielu użytkowników nagrało już takie kody i udostępnia je w Internecie w formacie HEX 32-bit unsigned integer np. 0x807F08F7 - a to za sprawą tego iż Arduino IDE zawiera przykładowe szkice do odbioru i wysyłania kodów w takim formacie.
Wystarczy skopiować dany kod - nawet jak jest od innego przycisku, wysłać go przez Arduino do urządzenia, sprawdzić za jaką funkcję odpowiada w naszym urządzeniu a następnie nagrać sygnał pilotem uczącym.
Niektórzy producenci udostępniają takie dane (format NEC) w tabelce np. w instrukcji serwisowej ale jako adres urządzenia i polecenie - ADDR, CMD np. 04 08
W Internecie można też znaleźć dane przycisków wielu urządzeń w formacie LIRC, Pronto czy innym.
Jest bardzo dobry konwerter sygnałów IR działający pod Javą - IR Scrutinizer. Potrafi on także wygenerować kod Pronto po podaniu danych ADDR, CMD a także eksportować go do innego formatu np. ICT który z kolei odczyta program IR Scope 2.01 w którym odczytamy wartość 32-bit unsigned int - patrz A=$xxxxxxxx w IRP Form:
Dodano po 25 [minuty]:
Na upartego znając parametr NEC ADDR wartość CMD przycisku można zgadnąć w ciemno:
Kupując zamiennik nie ma 100% pewności iż będą działać wszystkie fukcje z oryginalnego pilota a uniwersalny - zwłaszcza starszy, tańszy może nie mieć w bazie naszego urządzenia lub mogą nie działać wszystkie przyciski, co właśnie mi się przydarzyło. Kupiłem pilot uniwersalny z funkcją uczenia. Niestety okazało się, iż nie ma on w bazie kodów do mojego urządzenia ale udało mi się go nauczyć działających przycisków z uszkodzonego pilota. No ale w tym momencie wyszło na to iż "Zamienił stryjek siekierkę na kijek" bo mam już drugi pilot w którym działa tylko ta sama część przycisków


Pomyślałem iż nie będę znowu kupował innego pilota, nie mając 100% pewności czy zadziała z moim urządzeniem. Zastanawiałem się jakby tu nauczyć pilot brakujących przycisków - kody przycisków musimy skądś wziąć i czymś wysłać.
I tu z pomocą przychodzi mój projekt: Arduino, dioda IR, dosłownie jeden rezystor 100om i kilka kabelków + płytka stykowa bo wybrałem wersję Arduino Nano (zlutowane goldpiny). Nie trzeba nawet żadnego mikroprzełącznika czy ATtiny a kody wysyłamy z poziomu konsoli szeregowej. Dodatkowo wykorzystałem jeszcze odbiornik IR TSOP 1736 aby odczytać wartości i protokół w jakim nadaje pilot oryginalny i wyszło mi iż to protokół NEC. Uważam iż schematu nie ma co zamieszczać bo zrobiłem wyraźne zdjęcie na którym wszystko widać:



No dobra ale skąd wziąć kody brakujących przycisków?
Arduino jest na tyle popularne iż wielu użytkowników nagrało już takie kody i udostępnia je w Internecie w formacie HEX 32-bit unsigned integer np. 0x807F08F7 - a to za sprawą tego iż Arduino IDE zawiera przykładowe szkice do odbioru i wysyłania kodów w takim formacie.
Wystarczy skopiować dany kod - nawet jak jest od innego przycisku, wysłać go przez Arduino do urządzenia, sprawdzić za jaką funkcję odpowiada w naszym urządzeniu a następnie nagrać sygnał pilotem uczącym.
Niektórzy producenci udostępniają takie dane (format NEC) w tabelce np. w instrukcji serwisowej ale jako adres urządzenia i polecenie - ADDR, CMD np. 04 08
W Internecie można też znaleźć dane przycisków wielu urządzeń w formacie LIRC, Pronto czy innym.
Jest bardzo dobry konwerter sygnałów IR działający pod Javą - IR Scrutinizer. Potrafi on także wygenerować kod Pronto po podaniu danych ADDR, CMD a także eksportować go do innego formatu np. ICT który z kolei odczyta program IR Scope 2.01 w którym odczytamy wartość 32-bit unsigned int - patrz A=$xxxxxxxx w IRP Form:



Dodano po 25 [minuty]:
Na upartego znając parametr NEC ADDR wartość CMD przycisku można zgadnąć w ciemno:
- w IrScrutinizer w menu Options -> Output Text Format wybieramy Pronto Hex ("CCF")
- na zakładce Generate wybieramy Protocol: nec1, podajemy wartości D (ADDR) oraz F (CMD)
- klikamy Generate i "To Scrutinize signal" po czym przechodzimy na zakładkę Scrutinize signal
- klikamy Scrutinize, usuwamy 4 ostatnie wartości word xxxx xxxx xxxx xxxx na końcu i ponownie klikamy Scrutinize
- zamieniamy czwartą wartość 0002 na 0000 i jeszcze raz na Scrutinize
- eksportujemy kod do pliku ICT, otwieramy w IR Scope 2.01 i odczytujemy wartość A=$xxxxxxxx
- za pomocą Arduino testujemy kod
Cool? Ranking DIY