![Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota](https://obrazki.elektroda.pl/100_1287497582.gif)
Witam,
Dekoder + Nadajnik testowy (odebranego kodu).
Bardzo często zdarza się potrzeba sprawdzenia w jakim standardzie nadaje pilot, który wpadł nam w ręce a nie mamy żadnego symbolu lub nawet jeśli mamy to nie występuje jego dokładny opis na www.lirc.org/remotes W takiej sytuacji ciężko go wykorzystać do swoich projektów. Od dawna nosiłem się z zamiarem przygotowania jakiegoś maksymalnie prostego narzędzia, które pozwoliłoby na dokonywanie precyzyjnej analizy kodów z pilotów IR ale nie tylko z pilotów IR. Mogą to być także piloty radiowe albo dowolne inne przebiegi cyfrowe. Oczywiście w przypadku tych "innych przebiegów" nie będzie to w pełni funkcjonalny analizator gdyż występują pewne ograniczenia, ale nie taki był też cel tego narzędzia.
![Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota](https://obrazki.elektroda.pl/83_1287743678_thumb.jpg)
Jego główne zadanie to przyjemna dla oka prezentacja graficzna ale co najważniejsze podanie dokładnie co do 1us czasów poszczególnych impulsów. Poniżej umieszczam kilka fotek z działania na żywo. Wykres można przełączać na widok 2D lub 3D. Można załączać etykiety z dokładnymi czasami, można robić na wykresie ZOOM.
![Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota](https://obrazki.elektroda.pl/62_1287481811_thumb.jpg)
Ważną opcją w tej pierwszej wersji programu na PC jest możliwość zapisu podsłuchanych danych do pliku aby później można było je wygodnie analizować i tworzyć własne programy w oparciu o te dane.
Całość złożyłem w oparciu o własną płytkę testową. Cały program na PC został napisany w Delphi, natomiast program do mikrokontrolera oczywiście w C.
Program w mikrokontrolerze wysyła dane do PC przez dowolne łącze RS232. Ja akurat wykorzystałem gotową przejściówkę USB/RS232 na mojej płytce, dzięki czemu dane program pobiera niejako przez USB.
1. Taktowanie procesora - wewn. oscylator 8MHz
2. Prędkość RS232 - 38400 bps
Program na PC jak i skompilowany wsad dla ATmega8 można pobrać stąd Link (tym razem udostępniam wsad i program na PC)

UWAGA! Właśnie w trakcie pojawiła się nowsza wersja tego układu, schemat już jest zaktualizowany, tym razem mamy możliwość skorzystania także z NADAJNIKA IR testowanego - odebranego kodu z pilota - w podczerwieni. Wystarczy w tym celu podłączyć także linię RxD mikrokontrolera oraz diodę nadawczą IR do wyprowadzenia PB3. W programie jest już klawisz pozwalający na emisję testowo odebranego kodu pilota. Działa wyśmienicie.
Całość przepięknie spełnia moje oczekiwania i już udało się rozpoznać kilka starych pilotów z szuflady, tzn. wskrzesić je do działania, gdyż napisanie procedur odbiorczych na podstawie tak precyzyjnych danych jest po prostu bajką.
Tutaj widać ATmega8L na pokładzie mojej płytki testowej

![Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota](https://obrazki.elektroda.pl/25_1287235468_thumb.jpg)
A tu przykłady z dekodowania różnych pilotów:
![Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota](https://obrazki.elektroda.pl/41_1287235525_thumb.jpg)
![Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota](https://obrazki.elektroda.pl/58_1287235541_thumb.jpg)
![Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota](https://obrazki.elektroda.pl/15_1287235554_thumb.jpg)
![Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota](https://obrazki.elektroda.pl/83_1287235567_thumb.jpg)
![Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota](https://obrazki.elektroda.pl/87_1287235578_thumb.jpg)
![Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota](https://obrazki.elektroda.pl/55_1287235595_thumb.jpg)
![Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota](https://obrazki.elektroda.pl/76_1287235610_thumb.jpg)
![Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota](https://obrazki.elektroda.pl/82_1287235620_thumb.jpg)
![Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota](https://obrazki.elektroda.pl/57_1287235634_thumb.jpg)
O proszę, właśnie zabrałem się za dorobienie dodatkowych pilotów do pewnej fajnej świetlówki, którą kiedyś kupiłem. Okazało się, że 1 pilot to tragicznie mało na kampingu

![Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota](https://obrazki.elektroda.pl/9_1287242896_thumb.jpg)
Prototyp nowego pilocika już działa!
EDIT
POWSTAŁY NOWE OPCJE:
1. Można zapisywać graficzny obraz ramki podczerwieni.
2. Można zapisywać ramkę jako plik tekstowy, który zawiera poszczególne czasy.
3. Można odczytywać ramkę z pliku tekstowego.
4. Można wyemitować ramkę wczytaną tylko z pliku (nie musi być wcześniej odebrana do mikrokontrolera)
Daje to możliwość zapisania do pliku *.TXT dowolnej własnej ramki, wprowadzonej ot tak "z ręki". Można zatem sobie tym narzędziem przetestować czy pilot opisany na www.lirc.org/remotes ma poprawnie opisany format ramki i czy będzie sterował naszym urządzeniem, do którego nie mamy pilota.
Np posiadasz jakiś aparat fotograficzny Nikon czy Olympus czy Canon - ale nie masz pilota. Szukasz sobie w necie także na powyższej stronce opisu standardu i jak wygląda ramka, sam tworzysz plik *.TXT podając czasy dla odpowiedniego kodu/ramki i testujesz czy działa. Jeśli działa - to już możesz spokojnie sam sobie zrobić pilocika na AVR'ku
Poniżej przykład jak wyglądają zapisane tekstowo ramki - prosto jak drut, po prostu po kolei lecą czasy impulsów podane w mikrosekundach

Pierwszy parametr na górze, musi przybierać zawsze wartość 0 lub 1. Nie reprezentuje on wartości czasu żadnego impulsu w ramce tylko mówi o tym jak ją przedstawić na wykresie:
0 - jak w nadajniku
1 - jak w odbiorniku
Obojętnie jednak jak będzie przedstawiony wykres to i tak ramka zostanie wyemitowana prawidłowo z mikrokontrolera

![Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota](https://obrazki.elektroda.pl/15_1287744837_thumb.jpg)
Cool? Ranking DIY