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

[BASCOM] Problem z sonysend.

Villen 10 Maj 2010 11:53 1016 2
REKLAMA
  • #1 8058045
    Villen
    Poziom 21  
    Witam!
    To już kolejny mój problem w ostatnim czasie :D
    Tym razem, po poradzeniu sobie z innymi rzeczami przygwoździł mnie do ziemi problem z bascomową komendą "sonysend".

    Wszystko mam zrobione jak każe dokumentacja - a więc bufor do portu atmegi16 złożony z darlingtona BC516, dioda IR to u mnie SFH415U (innej nie mogłem dostać na miejscu). Jedynie rezystor miedzy bazą tranzystora a portem mikrokontrolera ma wartość 3,3k zamiast 10k.
    Całość podłączona do wyjścia OC1A timera1. W programie umieszczony rozkaz:
    sonysend &H010

    który powinien włączać telewizor.
    No powinien, ale nie włącza. Obserwując diodę przez aparat w telefonie widać że "nadaje", ale nic pozatym. Myślałem że to wina mojego bufora, więc opdłączyłem diodę bezpośrednio pod wyprowadzenie mikrokontrolera, oczywiście przez rezystor 180omów. Efekt dokładnie taki sam.

    Dodatkowo wyprowadzenie OC1b timera1 pracuje jako wyjście PWM i działa dobrze do momentu wykonania sonysend'a - potem wypełnienie osiąga 100% i tak zostaje. Myślałem że problem powoduje własnie ten PWM, ale nawet kiedy nie jest wykorzystywany całość nie działa.

    Czy ktoś z was miał może podobny problem?
  • REKLAMA
  • #2 8058373
    mirekk36
    Poziom 42  
    To nie jest żaden problem tylko niestety niekompletny jeszcze dostatek wiedzy o kodowaniu w podczerwieni i standardach pilotów itp.

    Po pierwsze to sama firma SONY stosuje w swoich urządzeniach kilka standardów kodowania , które różnią się już nie tylko długością czasów poszczególnych nadawanych bitów ale także ilością przesyłanych bitów. Nie wiem co dokładnie robi Bascom ale chyba ty też nie wiesz - więc doczytaj

    Po drugie - spora część telewizorów SONY nawet jeśli masz akurat ten sam standard w Bascomie i w swoim TV (duże prawdopodobieństwo) to jednak telewizory nie reagują na pojedynczą nadlatującą ramkę. Trzeba ją najczęściej wysłać co najmniej dwukrotnie a dla niektórych trzykrotnie. Jednak żeby nie było tak prosto ;) .... trzeba zachować ściśle określony czas pomiędzy nadawanymi ramkami (tymi podwójnymi czy potrónymi) Ten czas zdefiniowany jest jako GAP

    możesz spróbować sobie znaleźć opis swojego pilota na

    www.lirc.org/remotes

    jak znajdziesz to w pliku opisującym super dokładnie parametry ramki znajdziesz także parametr o nazwie GAP. O ile samej ramki "własnoręcznie" nie potrafisz jeszcze nadawać to może jednak uda ci się zastosować odpowiednie przerwy podanej długości w parametrze GAP. Przy czym należy jeszcze pamiętać - że czasem GAP to tylko odstęp pomiędzy ramkami a czasem GAP to czas liczony od początku ramki do następnego jej powtórzenia - czyli zawiera w sobie także czas nadawania ramki. Jeśli by tak było w twoim przypadku - to będziesz miał ogromny problem żeby go wysterować w Bascomie.

    Ale nie martw się - na początek spróbuj nadać ze dwie takie same ramki jedna po drugiej i zobacz czy TV zareaguje na dany klawisz ;)
  • #3 8058695
    Villen
    Poziom 21  
    Cóż, na razie będę musiał sobie to darować. Brak czasu, sprzętu i chęci żeby dokładniej sprawę zbadać.
    Jak dorwę się do oscyloskopu to zbadam przebieg podawany na diodę IR oryginalnego pilota i porównam z tym, o czym powiedziałeś.
    Dzięki ;)
REKLAMA