Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota

mirekk36 16 Oct 2010 15:28 80983 126
Optex
  • Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota
    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

    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

    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

    A tu przykłady z dekodowania różnych pilotów:
    Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilotaGraficzny dekoder pilotów IR [AVR -> PC] sprawdź pilotaGraficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota

    Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilotaGraficzny dekoder pilotów IR [AVR -> PC] sprawdź pilotaGraficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota

    Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilotaGraficzny dekoder pilotów IR [AVR -> PC] sprawdź pilotaGraficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota

    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 ;) a skąd tu wziąć dokumentację/standard nadawania. Teraz to nie problem:

    Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota

    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

    Cool? Ranking DIY
    About Author
    mirekk36
    Level 42  
    Offline 
    Ciekawy kurs VIDEO - EAGLE - zajrzyj na mój blog
    mirekk36.blogspot.com - VOLATILE ? to łatwe

    Has specialization in: programowanie: avr c, delphi pc, esp32, esp8266, Kursy ESP
    mirekk36 wrote 9195 posts with rating 2272, helped 964 times. Live in city Szczecin. Been with us since 2006 year.
  • Optex
  • #2
    Vietech
    Level 13  
    Fajna zabawka, ja szukałem czegoś takiego co by zapamiętywało kilka takich sygnałów, a potem mogło je wyemitować np. przez diodę IR albo jakiś inny nadajnik...
  • #3
    Tomekddd
    Level 23  
    Urządzenie bardzo ciekawe. A czy jest jakaś możliwość odczytu pilotów nadających radiowo? Co trzeba by było dorobić? Pytam bo mam kilkanaście starych pilotów od bramy garażowej ale nie mam do nich odbiorników. Piloty kiedyś za grosze kupiłem na szrocie.
  • #4
    mirekk36
    Level 42  
    Vietech -> no takie rozwiązanie dokładnie to umożliwia. Jak widać w tym przypadku stosuję tablicę 100 elementów (tak na zapas troszkę) 16bitowych i dokładnie do niej zapisywane są po kolei czasy każdego impulsu w mikrosekundach. Zatem odesłanie takiej ramki nie sprawia już najmniejszego problemu. W najprostszym wypadku wystarczy zwykła prosta pętla, która pobiera czasy oczekiwań wprost z takiej tablicy i nadaje w czasie gdy jest stan wysoki nośną np 36kHz ;)

    Dodano po 1 [minuty]:

    Tomekddd -> no trzeba by było się wpiąć przed samym nadajnikiem i zamienić sygnał na TTL i podać go tu na wejście procka. Albo podpiąć się w części odbiorczej jeśli jest.
  • #5
    Tomekddd
    Level 23  
    Ok rozumiem, teraz kwestia zbadania gdzie się wpiąć, z tego co pamiętam to w tych pilotach były zalane układy (czarne kropki na pcb) jak uda mi się je odkopać w warsztacie to pokombinuje.
  • Optex
  • #7
    piotrva
    VIP Meritorious for electroda.pl
    czy mógłbym prosić o wsad do mega168 i mega1280?
    bo mega8 to w dzisiejszych czasach trochę nieekonomiczne rozwiązanie, gdyż wymieniona wyżej 168 jest w tej samej cenie (a nawet tańsza) a ma większy FLASH
  • #8
    Klima
    Level 30  
    pkris74 wrote:
    szkoda tylko, że zrobiłeś układ tylko pod com, aby móc z korzystać z usb trzeba przejściówki


    Bez przesady. Taka przejściówka to już standardowe wyposażenie elektronika.

    pkris74 wrote:
    robi dokładnie to samo co twój program, z tym że jeszcze może nadawać kody ir. Obsługuje rs232, kartę dźwięków, usb.

    I kosztuje 20 euro.

    A co do projektu - bardzo fajne. Jak dla mnie, to projekt prezentuje się na piątkę. Jak zawsze - liczy się dobry pomysł i ładne opakowanie.
  • #9
    mirekk36
    Level 42  
    pkris74 --> o matko! ;) no ale mało szczęśliwy przykład podałeś, bo nie dość, że rzeczywiście kosztuje 20EU to jeszcze na dodatek jakieś wymagania odnośnie bazy danych. Nie, nie, zdecydowanie nie chciałbym się czymś takim posługiwać do takich celów no a poza tym to ma mi podać tylko dokładne czasy żebym sam sobie w procku oprogramował pilota. Cóż mi z tego, że jakiś tam program na PC wygeneruje kody IR ? - Ale może troszkę nie zrozumiałeś celu w jakim to małe i proste narzędzie powstało. Dodam, że jakoś tam podobnych programów jest sporo i to darmowych .... ale co z tego? ja wolę mieć "garnitur uszyty u krawca na miarę" a nie taki jak każdy ze swoimi wadami ;) (poza tym jak sam coś zrobię to będę wiedział więcej a jak skorzystam z jakiegoś gotowca - to co mi to da? - że sobie popatrzę na zmieniające się jakieś obrazki i kody?)
    A gdzie tam było napisane, że jest tylko pod COM? ;) toż napisałem wyraźnie, że podłączam się przez USB (przejściówka USB/RS232). Tak jak napisał Klima, ja nawet sobie nie wyobrażam nie mieć takiej czy takich przejściówek pod ręką w dzisiejszych czasach.
  • #10
    Vietech
    Level 13  
    Tomekddd--> możesz pokombinować z miernikiem mocy W.CZ wg. schematu, tylko zamiast miernika jakiś prosty układ co zrobi ładne logiczne 0 albo 1 w standardzie TTL. No i kondensator najlepiej przez parę zwojów do masy albo bezposrednio do anteny nadajnika, no i powinno działać
    Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota
  • #11
    Anonymous
    Anonymous  
  • #12
    Tomekddd
    Level 23  
    Ok dzięki za rady jak wygrzebie piloty to pokombinuje, może mój projekt będzie wersją drugą powyższego ;)
  • #13
    mirekk36
    Level 42  
    R-MIK wrote:
    ..., bo do tego wystarczy fotodioda/fototranzystor, rezystor zasilanie i oscyloskop, nawet taki z karty dzwiękowej kompa!


    ;) Tak, tak - masz rację, niektórym wystarczy nawet zwykłe liczydło zamiast komputera albo furmanka zamiast samochodu ;) ..... czyżby kolejny sfrustrowany czytelnik działu DIY, który nie otrzymał źródeł programów i się teraz wyrzyma? Jeśli nie rozumiesz funkcji poznawczej układu to korzystaj ze swojej furmanki (fotodioda/fototranzystor, rezystor i oscyloskop - a potem oglądaj sobie obrazki). Już pisałem, że można nawet nie stosować tych twoich wynalazków, o których mowy wyżej - tylko jakiś zwykły gotowiec - program na pc - i nawet bez mikrokontrolera! Ale widzę, że kolega za dużo komiksów się naczytał w życiu i teraz problemy z czytaniem).

    Przypomnę, że sam program do mikrokontrolera jest bardzo prosty, zajmuje kilkaset bajtów a można się uprzeć żeby jeszcze ciut mniej. Prezentowany tu projekcik ma zainspirować do przyjrzenia się zagadnieniom dekodowania i kodowania w podczerwieni, bo taka procedura to wstęp do tego zadania.

    1. warto samemu nauczyć się obsługi przerwania ICP (które w 90% leży odłogiem - niezagospodarowane
    - w przerwaniu wystarczy zmieniać na przeciwne zbocze wyzwalające i bardzo prosto zliczać czas w oparciu o 16-bitowy Timer1

    2. Napisać sobie obsługę USART

    3. Oprogramować odbiór paczki danych na PC

    (niby proste - a ilu ludzi ma z tym problemy - jak się poczyta elektrodę)

    co za różnica czy przez USB/RS232 czy przez V-USB, to nie jest tak istotne jak nauczenie się od podszewki dekodowania i kodowania w podczerwieni. To ma bardzo wiele zastosowań jeśli się wie jak ;) .... Natomiast ci którzy wolą jeździć furmanką i tak tego nie docenią ani ich taki pomysł nie zainspiruje (bo on nie ma wzbudzać zachwytu - powinien tylko zainspirować) - tylko trzeba mieć wyobraźnię i dużo własnych pomysłów a nie korzystania z gotowców podanych na talerzu.
  • #14
    hotdog
    Level 26  
    Ogólnie fajne, tylko że będzie działać tylko z pilotami na 36KHz (nie wiem jaki odłamek pilotów działa na tej freq, ale chyba dużo, może ktoś zna procent?).

    Ja kiedyś próbowałem zrobić dekoder w oparciu o sam fototranzystor ir. To już jest duże wyzwanie, trzeba w sumie dodać filtry pasmowo przepustowe, zrobić dynamiczne dopasowanie poziomów. Zagadnienie okazało się dużo trudniejsze niż mi się wydawało. Cały projekt z brak czasu i trochę wiedzy w zakresie DSP, odłożyłem na półkę.

    Te czujniki TSOP robią naprawdę dużo szarej roboty.

    Pozdrawiam
  • #15
    mirekk36
    Level 42  
    hotdog wrote:
    Te czujniki TSOP robią naprawdę dużo szarej roboty.

    To jest podstawa, a wykonanie tego co ty próbowałeś zrobić, to bardzo dobry przykład ale w innej dziedzinie niż zwykłe cyfrowe dekodowanie IR.

    hotdog wrote:
    Ogólnie fajne, tylko że będzie działać tylko z pilotami na 36KHz (nie wiem jaki odłamek pilotów działa na tej freq, ale chyba dużo, może ktoś zna procent?).


    Tak ja znam procent o który pytasz. Ze zwykłym odbiornikiem TSOP na 36kHz zadziała ci 99% pilotów podczerwieni w takim zastosowaniu. Jest to w zasadzie prawie srodkowa częstotliwość z tych jakich się wykorzystuje w tego typu pilotach. A żaden scalony odbiornik nigdy nie filtruje w ten sposób, żeby odcinać całkowicie powyżej lub poniżesz 36kHz w granicach powiedzmy +-100Hz ;) ... ta tolerancja jest dużo większa, wystarczy sobie spojrzeć na charakterystyke do PDF'a - a jak się porówna charakterystyki kilku różnych to wyjdzie ci , że wszystkie w sporym zakresie nakładają się na siebie - co wcale nie jest dziwne. Efektem tego jest tylko to, że jeśli już zależy komuś na transmisji na bardzo duże odległości np kilkdziesią metrów! to wtedy dopiero lepiej użyć dedykowanej częstotliwości. Ale nie po to produkuje się typowe piloty, żeby działały na takich odległościach ;) ... A scalone odbiorniki pełnią swoją podstawową rolę tj, odcinają wszystko to z czym ty walczyłeś próbując to zrobić na fototranzystorze czy fotodiodzie. Jak widzisz pomimo samozaparcia nie tak łatwo z marszu osiągnąć to, co zostało zawarte w tych "prostych" scalakach-odbiornikach. Zdaje się nawet, że widziałem ten temat na elektrodzie a zaczął się on od tego, że na początku chciałeś po prostu zrobić dekodowanie IR w oparciu o fototranzystor i wspominałem wtedy ja, że tak nie ma sensu lepiej wziąć się za scalone odbiorniczki - bo to wyważanie troszkę głową muru. Ale jak mówię, to, że postanowiłeś to zrobić dalej tylko po to aby samemu poznać od podstaw całe zagadnienie filtrowania to wielka chwała ;) Na pewno co by nie mówić, nawet jeśli odłożyłeś to na półkę (a szkoda) to i tak zdobyłeś drążąc ten temat sporo wiedzy, która się jeszcze przyda. I o to chodzi.
  • #16
    Resist_34
    Level 25  
    Tomekddd -sądzę,iż świetnie do tego celu nada się kompletny moduł odbiornika ze starej centralki alarmu samochodowego - wyjście modułu podłączone jest zazwyczaj do PIC-a (poziom TTL) a zasilanie to 5V
    Z całym szacunkiem do autora tematu,ale paradoksalnie właśnie moduł odbiornika ze starej centralki,zasilacz 5V i oscyloskop wystarczył,aby "widzieć" co,jak i czy w ogóle wysyła pilot i go naprawić (+odbiornik TSOP do sprawdzania np.kluczyków mercedesa)
  • #17
    mirekk36
    Level 42  
    Resist_34 wrote:
    ....,ale paradoksalnie właśnie moduł odbiornika ze starej centralki,zasilacz 5V i oscyloskop wystarczył,aby "widzieć" co,jak i czy w ogóle wysyła pilot i go naprawić (+odbiornik TSOP do sprawdzania np.kluczyków mercedesa)


    Panowie, nie żebym nogami i rękami bronił się przed jakimiś krytycznymi uwagami, ale co niektórzy patrzą przez wąski pryzmat tego co robią. Ktoś wcześniej porównał już np prosty program na PC podany jako przykład - że jest o tyle bez sensu gdyż kosztuje 20EU , a oscyloskop - DOBRY oscyloskop cyfrowy, który poda ci czasy z dokładnością do us kosztuje ooohohoh ;) ... więc co to za alternatywa szczególnie gdy ktoś w ogóle nie ma oscyla w domciu - no co to za alternatywa? A jak ma jakiś analogowy to można sobie co najwyżej popatrzeć na ładny obrazek na lampie. Toż to nie chodzi o naprawienie jakiegoś pilota czy zrobienie nie wiadomo jakiego narzędzia na nie wiadomo czym. Ludziska opanujcie się ;) Pokazuję i podpowiadam a nawet daję program dzięki któremu praktycznie zerowym nakładem sił gdy ktoś posiada jakiś AVR pod ręką i byle TSOP sprawdzać sobie dowolne piloty i to bardzo precyzyjnie.

    Poczytajcie sobie posty tu na elektrodzie w dziale mikrokontrolery. W co drugim dotyczącym podczerwieni są pytania typu: " Jak rozpoznać jakiego ja mam pilota? w jakim standardzie on nadaje? brak jego opisu na lirc.org i co mam zrobić żeby go rozpoznać i napisać własne procedury nadawcze? Potrzebne mi są dokładne parametry przebiegu. "

    czy wreszcie: "Jak nauczyć swój układ kodów dowolnego pilota tak żeby można było je retransmitować?"

    Zatem taki prosty - mega prosty układ - procek AVR+TSOP i kawałek programu na PC odpowiada w 100% na zdecydowaną większość tych pytań. Ale nie pokazuję źródeł - warto samemu to oprogramować wtedy nie dość, że będzie większa radocha to przynajmiej ktoś dużo się dowie jak się pracuje z takimi sygnałami i kodowanie, pozna sporo nowych rzeczy i wpadnie na nowe pomysły zastosowań w swoich urządzeniach nie tylko standardowego pilota RC5 opartego o gotowiec w Bascomie.

    Że też tak trzeba kawę na ławę wykładać. Ja osobiście dzięki rozgryzieniu od podstaw takich zagadnień stosuję je w ogromnej większości swoich układów, nawet niektórym się nie śni, że tak to można wykorzystać. No ale szkoda o tym pisać, bo zainteresowanie poznaniem czegoś nowego jest jak widzę słabe ;)
  • #18
    pkris74
    Level 13  
    Mirekk podałem przykład programu w całkiem innym celu, inspiracji, bo tworzysz naprawdę ciekawe i profesjonalne projekty, ale przejściówka usb rs232 to nie profesjonalizm w tym projekcie. Wykorzystałeś ułamek wielkości programu to dlaczego nie zaimplementowałeś usb? Proszę tu masz http://www.obdev.at/products/vusb/index.html łatwo szybko i przyjemnie.
  • #19
    mirekk36
    Level 42  
    pkris74 -> wiem, znam i używam czasem v-usb, ale uwierz mi proszę, że szybciej mi zrobić to było w ten sposób. No mógłbym to zrobić na v-usb i to w trybie HID .... i co? Mogę to zrobić nawet z komunikacją po UDP na łączach ETHERNET .... tylko po co? Ja mam i tysiąc osób ma pod ręką przejściówkę USB/R232 dzięki czemu połączenie z prockiem do takiego narzędzia jest - no nie aż ciężko mi to powtarzać - spójrz na schemat - wykorzystane tylko 2 połączenia z prockiem. KAŻDY może sobie to zrobić nawet najbardziej początkujący amator, ale już z podłączeniem USB do procka nie każdy sobie poradzi. Poczytaj proszę ile jest tematów o tym, że "mój komputer nie wykrywa V-USB"..... głupie diody zenera w układzie na napięcie 3,6V mogą powodować, że niektóre notebooki nie potrafią wykryć a wystarczy zastosować diody na 3,3V i zaczyna działać. I co miałbym dodatkowo opisywać dodatkowy hektar opisu jak uruchomić V-USB żeby kurczę zainstalować w nim tak prosty program ??? Też nie chcę się z tobą kłócić ale moim zdaniem to jest bez sensu w tym konkretnym przypadku. Bo z podłączeniem zwykłego RS232 czy przejściówki na MAX232 czy przejściówki USB/RS232 będzie o wiele mniej problemów jeśli ktoś będzie chciał się posłużyć moim programem na PC i zmajstrować sobie ten prosty układzik na AVR'ku.

    Jako ciekawostkę dodam, że w międzyczasie powoli tworzę własny bootloader obsługiwany przez HID. Tylko proszę mi nie mówić, że nie warto wyważać głową drzwi bo już taki jest. Wiem o tym, ale z mojego punktu widzenia ma pewne wady i ja zrobię go po swojemu zresztą jako kolejną opcję do programu Link - MkBootLoader
  • #21
    mirekk36
    Level 42  
    VSS wrote:
    aby był mega uniwersalny dobrze byłoby podłączać różne odbiorniki. obecnie odbiera tylko z nośna 36khz a tych częstotliwości jest kilka.


    No ależ przecież każdy może sobie podłączyć jaki mu się żywnie podoba TSOP na dowolną częstotliwość, przecież to w ogóle nie zależy od programu w procesorze. A poza tym już pisałem że to czy dasz TSOP'a na 36kHz czy 40kHz to nie ma żadnego znaczenia i tak każdy z nich wykryje ci pilota nadającego np z nośną 34kHz. A progam w mikrokontrolerze i na PC nie wymaga najmniejszych zmian w tej kwestii - więc spokojnie możesz podłączać różne.
  • #22
    satanistik
    Level 27  
    Ciekawy projekt , ciekawie było by dodać jeszcze funkcje wyświetlania precyzyjnego czasu między zboczami - niby są jakieś podziałki ale w praktyce ciężko czasem się dopatrzeć ile ma jakiś pik.
  • #23
    mirekk36
    Level 42  
    satanistik wrote:
    Ciekawy projekt , ciekawie było by dodać jeszcze funkcje wyświetlania precyzyjnego czasu między zboczami - niby są jakieś podziałki ale w praktyce ciężko czasem się dopatrzeć ile ma jakiś pik.


    Ale sprawdzałeś te dokładne czasy gdy włączy się tę opcję "Etykiety" ??? Może nieszczęśliwie ją nazwałem - ale na kilku fotkach widać, że podane są bardzo dokładne czasy każdziutkiego impulsu .... czy uważasz, że one są źle widoczne czy jak? Mógłbyś odpowiedzieć? Bo oczywiście jak coś to najwyżej jeszcze mogę wprowadzić jakąś dodatkową opcję jak jeszcze program mam że tak powiem "rozgrzebany".
  • #24
    satanistik
    Level 27  
    W takim razie przepraszam - musiałem tego nie zauważyć. Co do dodatkowych pomysłów można by dodać opcję odtwarzania sekwencji przez dioę ired w celu sprawdzenia poprawności/wyseparowania odpowiedniego fragmętu lub testowania np ukrytych funkcji dostępnych z pilotów serwisowych na bierząco (po stwierdzeniu części odpowiedzilnej za komędę).
  • #25
    mirekk36
    Level 42  
    satanistik wrote:
    ....można by dodać opcję odtwarzania sekwencji przez dioę ired w celu sprawdzenia poprawności/wyseparowania odpowiedniego fragmętu lub testowania np ukrytych funkcji dostępnych z pilotów serwisowych na bierząco (po stwierdzeniu części odpowiedzilnej za komędę).


    O! bardzo ciekawy pomysł ;) w końcu to dodanie tylko jednej diodki nadawczej IR do układu i linii RxD, żeby można było ją wysterować z PC'ta .... a przy okazji dodać jeszcze wygenerowanie jakiegoś podstawowego kodu np w języku C do AVR'ka (tzn utworzenie prostej tablicy z parametrami impulsów i króciutką funkcyjkę do wysłania tego na diodę nadawczą. Muszę się z tym pobawić w wolnej chwili.
  • #26
    pkris74
    Level 13  
    Podłącze się do pomysłu satanistik tylko, że ja to widzę tak: tą diodę ir mirku podłączyłbym nie do PC tylko do mikrokontrolera, jeśli już odbiera podczerwień to również może ją wysyłać. A co do samego programu dla PC to fajnie by było aby można było zrobić taką prostą bazę pilotów, którą można by było później wykorzystać do np. porównywania z innym pilotem, tzn biorę sobie nieznany pilot, naciskam przycisk i program pokazuje że pilot nadaje w kodach RC5 lub Nec itp.
  • #27
    piotrva
    VIP Meritorious for electroda.pl
    witam, ponawiam swoją prośbę o wsad do mega168, gdyż z miłą chęcią bym przetestował ten program.
  • #28
    Naimad_86
    Level 16  
    Witam Serdecznie. Chciałbym pogratulować udanego projektu i podziękować ponieważ ten D.I.V. zmotywował mnie do dokończenia mojego analizatora na ATmega8L taktowanego kwarcem 8MHz. Na chwilę obecną jest podłączony wyświetlacz LCD alfanumeryczny do oglądania czasów zebranych w tablicy. Aby zobaczyć wykres niestety muszę wpisywać je ręcznie do mojego programu na PC. W przyszłości będę chciał zaimplementować obsługę USB no i oczywiście możliwość wysłania kodu z uC. Mam pytanie do mirekk36, czy czasy przy kolejnych naciśnięciach tego samego przycisku bardzo Ci się różnią i jak tak to o ile?? Dołączam mój wykres dla pilota RC5-klawisz 3. Pozdrawiam
    Graficzny dekoder pilotów IR [AVR -> PC] sprawdź pilota
  • #29
    mirekk36
    Level 42  
    Naimad_86 --> tak, przy każdym kolejnym naciśnięciu tego samego klawisza (chociaż nie zawsze) widać wyraźnie, że czasy ale tylko niektórych impulsów się nieco różnią. Ale to naprawdę niewielkie różnice, mieszczące się w granicach niewielkiej tolerancji. U ciebie jednak na wykresie widzę jakieś hmm sporo i to dosyć mocno odbiegające od standardu czasy. Nie wiem czy to możliwe - no chyba, że to jakaś specyficzna odmiana RC5 w tym twoim pilocie. Standardowo czas półbitu powinien wynosić ok 889us a całego bitu nigdy więcej niż 1800-1900us, tymczasem u ciebie to aż ponad 2000us

    Ciekawy jestem jak wyszedłby test tego twojego pilota na moim urządzonku? Jakbyś spróbował to daj znać.

    Spójrz sobie na:

    https://obrazki.elektroda.pl/55_1287235595.jpg

    tutaj zobaczysz dokładne czasy w moim programie różnych półbitów, niektóre mają nawet ok 900us (ale to max) a u ciebie znowu dochodzą aż do 1090us!!!
  • #30
    Naimad_86
    Level 16  
    Też mi się nie zgadzało za bardzo to bo czytałem o RC5 ale zgadzał się wygląd fali prostokątnej. Użyłem pilota uniwersalnego URC22B-10B i zaprogramowałem mu opisany jako RC5 kod (027) Philipsa. Jak znajdę chwilę to zobaczę z innym ustawieniem pilota (uniwersalny działa poprawnie z TV na innych kodach). Znając życie to pewnie wina będzie po stronie odbiornika podczerwieni bo użyłem jakiegoś z demontażu (chyba stary dekoder thomson'a). Robiłem testy z generatorem na uC (wewnętrzny oscylator 1MHz i funkcja delay) który wysyłał impulsy testujące. Wtedy różnice wynosiły kilka us od wzorca ale założyłem że błąd powstał przez niedoskonałość funkcji opóźniającej i brak kwarcu.