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

Pilot do Winampa, schemat i program

Gordios 28 Kwi 2010 11:46 1111 0
REKLAMA
  • Na początek uściślenie faktów. Z tytułu wynika, ze będzie tu opisywany pilot to WinAmp'a. Siłą rzeczy nie jest to projekt pilota, lecz przystawki do komputera, która odbiera sygnały od każdego pilota pracującego w systemie RC5 a następnie poprzez łącze szeregowe steruje WinAmp'em. Niektórzy zapewne się zdziwią jak on może sobie tak porostu sterować programem? Możliwe to będzie dzięki dołączonemu pluginowi, który uczy się komend wysyłanych przez pilota a tym samym steruje WinAmp'em.

    Opis układu


    Układ składa się z dwóch układów scalonych, którymi są AT89C1051 (mikroprocesor), MAX232 (konwerter napięć), odbiornika podczerwieni SFH505 i kilku elementów dyskretnych. Pracą układu steruje mikroprocesor, który odpowiedzialny jest prawie za wszystko. Na jego wejście INT0\ dołączony jest odbiornik podczerwieni. Króciutki programik załatwia wszystko. Wystarczy tylko dołączyć układ MAX232, który służy do dopasowania napięć panujących na porcie RS232 i w naszym układzie. Do portu p3.7 dołączona jest dioda święcąca, stwierdzająca odebranie informacji od pilota.
    Układ zasilany jest z portu joya ze względu na spory pobierany prąd ok. 18mA (bez diody), 36mA(z dioda). Płytka zrobiona jest w EasyTrax.
    Przy ustawianiu portu należy wybrać odpowiedni port (np. COM2), koniecznie ustawić prędkość na 9600 bodów, 8bitow danych, bez kontroli parzystości, 1 bit stopu. Powtarzam koniecznie. Reszta konfiguracji należy do Was.
    Program został napisany w Bascom'ie (dla niewtajemniczonych jest to kompiler basic'a dla mikrokontrolerów z serii '51).

    Pamiętaj aby zachować odpowiednie środki ostrożności przy obsłudze portu szeregowego.

    Pilot do Winampa, schemat i program

    Dim Command As Byte , Subaddress As Byte
    P3.7 = 1
    Reset Tcon.0
    On Int0 Receiverc5
    Enable Interrupts
    Enable Int0
    
    Do
    Loop
    
    Receiverc5:
       Disable Int0
       Getrc5(subaddress , Command)
       Open "com3.1:9600,8N1" For Output As #1
       Put #1 , Command
       Put #1 , Subaddress
       Close #1
       P3.7 = 0
       Waitms 20
       P3.7 = 1
       Subaddress = &HFF
       Enable Int0
    Return
    


    nadesłał: maestr0(_at_)voodoo-chidls.prv.pl

    Fajne? Ranking DIY
    O autorze
    Gordios
    Poziom 18  
    Offline 
    Gordios napisał 395 postów o ocenie 269. Jest z nami od 2010 roku.
  • REKLAMA
REKLAMA