Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[BASCOM] - nadajnik IR odmierzanie czasu

rogeros 26 Lut 2014 10:31 756 0
  • #1 26 Lut 2014 10:31
    rogeros
    Poziom 13  

    Witajcie.

    Skusiłem się napisać ponieważ po tygodniu walki stwierdziłem, że już więcej nic nie wymyślę.

    Otóż chciałbym zbudować w oparciu o procesor atmega nadajnik IR który nada wybrany kod w określonych odcinkach czasu.

    Otóż korzystam z programu MKdecoder firmy atnel, który w bardzo fajny sposób dekoduje sygnały IR z dowolnego pilota przedstawiając czasy zmiany stanów.

    I po odczytaniu tych czasów chciałbym je za pomocą Atmegi wysłać do diody IR ale niestety mam problem z odstępami między zmianą stanu diody.

    Przykład. Kodu przycisku MUTE z pilota do dekodera NC+ Postaram się to zobrazować

    Code:

    stan niski
    odczekaj 249 mikrosekund (us)
    stan wysoki
    odczekaj 901 mikrosekund (us)
    stan niski
    odczekaj 252 mikrosekund (us)
    stan wysoki
    odczekaj 2042 mikrosekund (us)
    stan niski
    odczekaj 252 mikrosekund (us)
    stan wysoki
    odczekaj 1185 mikrosekund (us)
    stan niski
    odczekaj 247 mikrosekund (us)
    stan wysoki
    odczekaj 2904 mikrosekund (us)
    stan niski
    odczekaj 252 mikrosekund (us)
    stan wysoki
    odczekaj 1327 mikrosekund (us)
    stan niski
    odczekaj 273 mikrosekund (us)
    stan wysoki
    odczekaj 1307 mikrosekund (us)
    stan niski
    odczekaj 282 mikrosekund (us)
    stan wysoki
    odczekaj 1011 mikrosekund (us)
    stan niski
    odczekaj 242 mikrosekund (us)
    stan wysoki
    odczekaj 2195 mikrosekund (us)
    stan niski
    odczekaj 244 mikrosekund (us)
    stan wysoki
    odczekaj 13425 mikrosekund (us)
    stan niski
    odczekaj 271 mikrosekund (us)
    stan wysoki
    odczekaj 879 mikrosekund (us)
    stan niski
    odczekaj 274 mikrosekund (us)
    stan wysoki
    odczekaj 734 mikrosekund (us)
    stan niski
    odczekaj 273 mikrosekund (us)
    stan wysoki
    odczekaj 1878 mikrosekund (us)
    stan niski
    odczekaj 282 mikrosekund (us)
    stan wysoki
    odczekaj 1154 mikrosekund (us)
    stan niski
    odczekaj 278 mikrosekund (us)
    stan wysoki
    odczekaj 1015 mikrosekund (us)
    stan niski
    odczekaj 283 mikrosekund (us)
    stan wysoki
    odczekaj 1011 mikrosekund (us)
    stan niski
    odczekaj 276 mikrosekund (us)
    stan wysoki
    odczekaj 731 mikrosekund (us)
    stan niski
    odczekaj 276 mikrosekund (us)
    stan wysoki
    odczekaj 731 mikrosekund (us)
    stan niski
    odczekaj 276 mikrosekund (us)
    stan wysoki


    w moim układzie stan niski "zapala diodę" wysoki gasi.

    Chciałbym aby mój układ odbierał kody poprzez UART ale z tym to nie mam żadnego problemu aby odebrać dane i przetworzyć je na tablicę głównym problemem jest odmierzanie przerw które mógłbym sterować parametrem (wartością)


    Próbowałem to w bascom zrobić tak
    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    gdzie zmienne odczekaj i ile_odczekac były WORD

    natomiast do zmiennej ile_odczekać zapisywałem przed wykonamiem pętli wartość z tablicy.

    Niestety na moim analizatorze stanów logicznych czasy zupełnie różnią się od wymaganych. :(:( Wiem że procesor na wykonanie pozostałych czynności również potrzebuje czasu (nawet zapalenie diody IR) wymaga jakiegoś czasu co niestety mnie przerasta choć wydawałoby się to nie trudne.

    Program w procesorze nie wykonywałby nic poza nasłuchiwaniem uart a gdy w nim odbierze dane (sekwencje czasów oddzielone przecinkami) to nada kod poprzez diodę IR i będzie oczekiwał następnych danych.

    Bardzo proszę o pomoc w rozwiązaniu mojego problemu. Naprowadzeniu mnie na rozwiązania problemu.

    0 0
TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo