logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Odczyt kodów przycisków pilota RTV przez TSOP1736 i mikrokontroler na INT0

Kubbaz 03 Paź 2006 11:05 1928 7
REKLAMA
  • #1 3080457
    Kubbaz
    Poziom 26  
    Posty: 1237
    Pomógł: 9
    Ocena: 30
    Witam

    Temat wałkowany przynajmniej 150 razy - poważnie, ale .....

    Wpadłem na pomysł, sterowania jakimiś procesami przez uC używając dowolnego pilota sprzętu RTV.
    Jak zwykle pojawia sie problem tzw. kodów jakie stosowane są w pilotach RTV. Jak nie trudno sie zorientować zwykłe włączanie i wyłączanie to nie problem - po prostu pin OUT czujnika IR podłączmy do jakiegoś INT uC i już .... ale to że tak powiem nieco ogranicza możliwości - włącz i wyłącz, a pilot umożliwia znacznie więcej opcji.

    Toteż pytanie brzmi: jak za pomocą TSOP1736 na INT0 uC przy wykorzystaniu peryferiów uC "zczytać" kod jakiegoś przycisku na pilocie....

    Jest kilka możliwości ... jedna z nich to:

    1. zrobić bardzo szybkie - tzn. z duża częstotliwością odczytywanie przerwań na INT0 i informacje o stanie logicznym portu wysyłać po I2C do zewnętrznego EEPROM albo po RS232 do PC .....
    I tu pojawia się kolejny problem ... bo jak potem zrobić że jak akurat taki kod nadejdzie (na INT0 - to raczej nie będzie łatwe) to uC ma zrobić coś tam .... ;|

    Co o tym sądzicie??

    Jeśli znacie prostsze metody .... chętnie skorzystam ;).
  • REKLAMA
  • #2 3080477
    vaitek
    Poziom 12  
    Posty: 26
    Pomógł: 4
    z tego co sie orientuje to kody RC5 (bo tsop1736 akurat pod to podchodzi) maja ograniczona dlugosc...
    wiec jak pojawia sie przerwanie, to czytasz np te (strzelam) 24 bity - sklejasz z nich bajty i przez rs-232 do kompa, albo piszesz funkcje z czyms takim:
    
    switch(kod){
    case 0x10:
         zrob cos dla 0x10;
         break;
    case 0x12:
         .....
    


    a najlepiej google szukaj: microcontrolers RC5

    Pozdrawiam
    Vaitek
  • REKLAMA
  • #3 3080539
    Kubbaz
    Poziom 26  
    Posty: 1237
    Pomógł: 9
    Ocena: 30
    hmmm...właśnie wpadłem na pomysł "zczytania" kodu danego przycisku z pilota.....

    w oknie programu Girder jest takie małe okienko w którym jak sięwciśnie przycisk pilota to pojawiają się litery i cyfry. A wygląda to tak:

    Odczyt kodów przycisków pilota RTV przez TSOP1736 i mikrokontroler na INT0

    liczba hex(8C7348B7) wynosi bin (1000 1100 0111 0011 0100 1000 1011 0111)
    czyli 4 bajty (32 bity)
    czyli warotśc kodu już jakby nie stanowi problemu :)
    teraz tylko problem z tym jak na INT0 odebrać te 32 bity ?? (szeregowo)
  • REKLAMA
  • #4 3080564
    hunterhouse
    Poziom 26  
    Posty: 893
    Pomógł: 84
    Ocena: 3
    wiem że kolega bascoma nie lubi ale tam to 5 linijek kodu

    pilot RC5 przesyła:
    adres - stały dla danego pilota lub urządzenia (zakres 0-31)
    komendę czyli jaki klawisz został wciśnięty (zakres 0-127)
    dodatkowo co 2 wciśnięcia klawisza na pilocie pilot wysyła dodatkową 1 przed komendą

    czyli komenda ma zawsze 8 bitów z tym że najstarszy bit to bit toggle zmieniający sie co każdą transmisję i 7 bitów komendy

    do tego dochodzi kilka bitów startu i stopu które sie nie zmieniają.

    kiedyś w necie widziałem dokładny opis tego protokółu ale że w bascomie mam to gotowe to nie pamiętam dokładnej sekwencji bitów.

    add:

    wpisz w google tajemne słowa "rc5 protocols pdf" to wyskoczy kilka linków do dokładnego opisu transmisji
  • #5 3081172
    romek77r
    Poziom 17  
    Posty: 235
    Pomógł: 7
    Ocena: 16
    A co zrobic jesli mamy pilot o niewiadomym sposobie nadawania kodow ?
  • REKLAMA
  • #7 3081686
    Nerwus
    Poziom 18  
    Posty: 339
    Pomógł: 10
    Ocena: 23
    Jezeli masz dostep do archiwow EdW to w 98 lub 99 roku byl artykul na temat standarodow w pilotach oraz bardzo dokladnie omowiony standard RC5.
    Co do tego jezeli pilot wysyla nie standardowe komendy to odpowiedz jest prosta albo kupic za pare groszy pilot albo spedzic duzo czasu na rozgryzieniu kodu.

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy odczytu kodów przycisków pilotów RTV za pomocą czujnika podczerwieni TSOP1736 podłączonego do przerwania INT0 mikrokontrolera. Problemem jest rozpoznanie i zdekodowanie sygnałów IR, które umożliwiają więcej funkcji niż tylko włączanie i wyłączanie. Protokół RC5 jest najczęściej stosowany i charakteryzuje się stałą długością kodu (około 24 bity), zawierającą adres urządzenia oraz komendę klawisza, z dodatkowym bitem toggle zmieniającym się przy każdej transmisji. Proponowane rozwiązania to szybkie odczytywanie stanów logicznych na INT0 i przesyłanie ich do komputera przez RS232 lub zapis do EEPROM, a następnie analiza odebranego ciągu bitów. W przypadku pilotów o nieznanym protokole, np. oznaczonych jako RC283, konieczne jest samodzielne rozpracowanie kodów lub zakup pilota zgodnego ze standardem RC5. Wskazano również na dostępność dokumentacji i opisów protokołu RC5 w internecie oraz archiwach czasopism elektronicznych. Przykład programu Girder pokazuje, że kody pilotów mogą mieć długość 32 bitów, co wymaga implementacji odbioru szeregowego na przerwaniu INT0.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA