Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 29 gru 2024, o 19:21


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 7 mar 2012, o 21:38 
Offline
Użytkownik

Dołączył(a): 02 gru 2011
Posty: 87
Pomógł: 0

Witam posiadając takie dane ze strony

Kod:
#
# this config file was automatically generated
# using lirc-0.7.1pre2(any) on Sun Apr  9 14:51:46 2006
#
# contributed by Thomas Creutz
#
# brand:   Epson
# model no. of remote control: 126644900 / ELPST12
# devices being controlled by this remote: ??
#

begin remote

  name  Epson_ELPST12
  bits           16
  flags SPACE_ENC|CONST_LENGTH
  eps            30
  aeps          100

  header       9028  4409
  one           621  1626
  zero          621   494
  ptrail        621
  pre_data_bits   16
  pre_data       0xC1AA
  gap          107631
  toggle_bit      0


      begin codes
          POWER                    0x09F6
          INPUT-A-B                0xB946
          VIDEO                    0x39C6
          COLOR-MODE               0xF10E
          ASPECT                   0x51AE
          MEMORY                   0xD12E
          MENU                     0x59A6
          ESC                      0x21DE
          MUTE                     0xC936
          PAUSE                    0x49B6
          AUTO                     0x7986
          UP                       0x0DF2
          DOWN                     0x4DB2
          LEFT                     0xCD32
          RIGHT                    0x8D72
          SELECT                   0xA15E
      end codes

end remote


Czy jestem w stanie stworzyć uniwersalny pilot do projektora Epson, czy potrzebowałbym jeszcze jakąś specyfikację od producenta z poszczególnymi czasami (co prawda coś w tym stylu jest na samym początku danych).

Druga opcja to wykorzystania programu do odczytu pilotów Pana Mirka, i wtedy zaimplementowanie danych do atmegi - tylko potrzebowanym org pilota.

Chyba, że ktoś zna jakaś drogę na skróty schemat nadajnika IR (com), jakieś oprogramowanie uniwersalnego pilota na PC

--- dobra doczytałem że na Com-ie będzie problem z 36kHz

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 mar 2012, o 22:49 
Offline
Użytkownik

Dołączył(a): 02 gru 2011
Posty: 87
Pomógł: 0

W międzyczasie szukam szukam (żeby nie było ) ;)

Pozwolę sobie po części odpowiedzieć na pytanie kopiując wypowiedź Pana Mirka z forum Elektrody.

Myślę że się nie obrazi a tu się przyda dla potomnych.


///////////////////////////////////////////////////////////////////////////////////////////////////////////////////


"na lircu w opisie pilota, którego będziesz posiadał Wink można zobaczyć":

Kod:
 name  Minolta_RC3
  bits            8              -----> ilość bitów w kodzie klawisza
  flags SPACE_ENC        -----> standard kodowania
  eps            25            --->
  aeps          100           ---> współczynnik wypełnienia nośnej 25/100

  header       3872  1708
  one           527   436
  zero          527  1331
  ptrail        527
  pre_data_bits   24
  pre_data       0xD3AC7D
  gap          9052
  toggle_bit      0


      begin codes
          one_sec                  0x000000000000007F
          two_sec                  0x00000000000000FF
      end codes



jak więc widać używane jest kodowanie typu SPACE Wink

i teraz zaczynając od linijki

header 3872 1708 - oznacza to, że na początku trzeba wyemitować header (nagłówek charakterystyczny dla danego pilota) w tym przypadku trzeba nadawać nośną powiedzmy 36KHz przez okres 3872us a następnie zrobić przerwę przez 1708us

gdy już to wyemitujesz Wink to trza się zabrać za przesłanie kodów klawiszy pilota. Ale uwaga - widzisz tam powyżej coś takiego jak pre_data_bits 24 co oznacza, że bezpośrednio po headerze trzeba najpierw wyemitować przed kodem każdego klawisza stałą 24 bitową paczuszkę danych a dopiero po tym należy wyemitować 1-dno bajtowy kod klawisza. W twoim przypadku te 24 bity mają wartość: pre_data 0xD3AC7D natomiast kody klawiszy (wygląda na to że pilot ma 2 klawisze)

Kod:
   begin codes
          one_sec                  0x000000000000007F
          two_sec                  0x00000000000000FF
      end codes


pierwszy ma wartość 0x7F a drugi 0xFF

Ok a teraz jak sobie poradzić z kodowaniem jednego bitu, otóż masz na to właśnie dokładny przepis. Trzeba tylko wiedzieć ile czasu zajmują dwa różne stany w trakcie emitowania jednego bitu. Jako, że jest to kodowanie typu SPACE to jak widać stan wysoki jest stały i wynosi zawsze w twoim przypadku 527us a zmienia się tylko czas stanu niskiego w zależności od bitu - czy JEDEN czy ZERO

Kod:
  one           527   436
  zero          527  1331


i tu znowu masz jak na dłoni podane. Jeśli masz zamiar wyemitować bit o wartości = JEDEN to musisz emitować nośną przez czas 527us i zrobić przerwę o czasie trwania 436us

Jeśli chcesz wyemitować bit o wartości ZERO to emitujesz nośną znowu przez czas 527us ale przerwa po nim już będzie wynosić 1331us

Teraz tylko poskładać to do kupy - czyli już chyba wiesz? skoro pre data bits = 24 to masz jakby 3 bajty - 0xD3 , 0xAC , 0x7D - więc już widzisz jakie bity po kolei musisz emitować prawda? gdy je nadasz po headerze to wtedy zabierzesz się za wysłanie bitów znajdujących się w bajtach kodów klawiszy

i UWAGA - na końcu gdy wystąpi przerwa po ostatnim nadanym bicie - musisz jeszcze wyemitować krótki sygnał (tzn nośną o długości 527us)


Kod:
ptrail        527


w twoim przypadku akurat ptrail = czasowi stanu wysokiego w każdym bicie.

i to koniec - tak złożona ramka dotrze do aparatu i zrobi co trzeba Wink
pozdrawiam

Aha na początku wspomniałem , że nośną można do testów ustawić na 36kHz bo nie jest tu ona podana tylko jakie powinno być wypełnienie (a nośne też raczej nigdy nie bywają wyższe niż 45kHz, więc przedział do sprawdzenia jest niewielki). Wypełnieniem jednak nie trzeba sobie koniecznie głowy zawracać. Natomiast jeśli nie wiadomo jaka nośna a jest inna niż 36kHz to efekt może być tylko taki że zamiast zasięgu kilku-kilkunastu metrów będziesz miał nie więcej niż tych kilka metrów (co czasem i tak w zupełności wystarcza). Ale jest na to rada - ja też nie wiedziałem na jakiej nośnej nadaje Olympus więc dobierałem ją doświadczalnie - zwiększałem o 1kHz powyżej 36kHz i sprawdzałem maksymalny interesujący mnie zasięg. Okazało się, że przy 38kHz jest dla mnie on najbardziej zadowalający - choć nie ma tak naprawdę aż tak wielkich różnic Wink

.. więc powodzenia - jak widzisz nie jest to takie trudne


:):)



Ostatnio edytowano 7 mar 2012, o 22:50 przez aothunterpl, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 mar 2012, o 22:49 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27322
Lokalizacja: Szczecin
Pomógł: 1041

Już odpowiadam ;) .... tak na prawdę mając te dane nie potrzebujesz oryginalnego pilota o ile sprawdziłeś że to dane dla tego oryginalnego pilota ;)


wszystko co ci potrzeba masz tutaj:

Kod:
  header       9028  4409
  one           621  1626
  zero          621   494
  ptrail        621
  pre_data_bits   16
  pre_data       0xC1AA
  gap          107631
  toggle_bit      0


no właśnie tylko jak to odczytać - teraz nie będę w stanie precyzyjnie tu wszystkiego wytłumaczyć bo zajęłoby to za dużo kartek na forum ;) .... ale spokojnie w drugiej części książki właśnie się tym w szczegółach i na przykładach konkretnych zajmuję....

teraz tylko skrót:

jest to kodowanie typu SPACE

1. trzeba wygenerować HEADER w postaci: NOŚNA-9029us i BRAK NOŚNEJ-4409us
2. trzeba generować bity wg przepisu:

a.) bit o wartości 1 to: NOŚNA-621us oraz BRAK NOŚNEJ-1626us
b.) bit o wartości 0 to: NOŚNA-621us oraz BRAK NOŚNEJ-494us

i z tych bitów musisz sobie wygenerować kody klawiszy podane tam niżej ;) ale musisz pamiętać że na końcu ramki MUSISZ dać jeszcze sygnał PTRAIL czyli NOŚNA-621us

oraz że odstęp pomiędzy ramkami musi wynosić koniecznie czas określony jako GAP-107631us

ale co ważne, każda ramka tzn wartość klawisza poprzedzona jest PRE_DATA_BITS w ilości 16 bitów o stałej wartości i to jest wmiksowane w te wartości HEX klawiszy na dole

wiem wiem - to może wyglądać na zagmatwany opis - ale uwierz mi - żeby to dobrze wyjaśnić musiałbym jeszcze sporo tu popisać i tylko dla ciebie - a tak? W książce będzie dużo , będzie z przykładami praktycznymi, ale także z kodami na DVD które działają ;) ... więc skorzysta więcej osób - OK

bo przecież jeszcze trzeba to jakoś zaimplementować w programie i masz rację że można rozwinąć te funkcje do RC5 z książki a nawet trzeba że tak powiem ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 mar 2012, o 22:54 
Offline
Użytkownik

Dołączył(a): 02 gru 2011
Posty: 87
Pomógł: 0

O prawie jednocześnie dopisaliśmy ;]

Prawdę mówiąc to był przykładowy kod do pilotów Epsona.

Mam jeszcze taki typowo pod projektory z strony LIRC-a


#
# this config file was automatically generated
# using lirc-0.8.2-CVS(default) on Sun Jul 8 19:51:46 2007
#
# contributed by Andrew Moore visual.effects.artist|gmail.com
#
# brand:Epson
# model no. of remote control:12807990
# devices being controlled by this remote:Epson 820 Projector


# This remote config will work with remotes for the Epson Powerlite
# Projectors, or EMP- Projectors. ((THIS WILL WORK MOST MODREN EPSON
# PROJECTOR REMOTES!!!))


Kod:
begin remote

  name  Epson_12807990
  bits           32
  flags SPACE_ENC|CONST_LENGTH
  eps            30
  aeps          100

  header       9022  4454
  one           593  1654
  zero          593   516
  ptrail        594
  gap          107808
  toggle_bit_mask 0x0

      begin codes
          pageup                   0xC1AA619E
          pagedown                 0xC1AAE11E
          zoom+                    0xC1AA11EE
          zoom-                    0xC1AA916E
          up                       0xC1AA0DF2
          down                     0xC1AA4DB2
          left                     0xC1AACD32
          right                    0xC1AA8D72
          power                    0xC1AA09F6
          enter                    0xC1AAA15E
          esc                      0xC1AA21DE
          1                        0xC1AAE916
          2                        0xC1AA6996
          3                        0xC1AA51AE
          4                        0xC1AA29D6
          5                        0xC1AAA956
          6                        0xC1AAF10E
          7                        0xC1AAD926
          8                        0xC1AAC936
          9                        0xC1AA49B6
          0                        0xC1AA7986
          search                   0xC1AA31CE
          vol-                     0xC1AA9966
          vol+                     0xC1AA19E6
          ?                        0xC1AAF906
          menu                     0xC1AA59A6
      end codes

end remote



A co do mojego pilota z tego co znalazłem:

model: 6004931

POWERLITE51C


Ale konkretnie do niego jeszcze nic ciekawego nie znalazłem chyba, że możesz mi polecić jakąś ciekawą stronę z bazą pilotów (wyłączając LIRC i nasza polską e-mak)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 mar 2012, o 23:47 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27322
Lokalizacja: Szczecin
Pomógł: 1041

Nie znam lepszej bazy niż lirc.org ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO