Pilot komputerowy
P
i
l
o
t
k
o
m
p
u
t
e
r
o
w
y
Pilot komputerowy
P
i
l
o
t
k
o
m
p
u
t
e
r
o
w
y
µ
µ
P-3007
Czy ktokolwiek z Was, użytkowników scalonym, którym jest mikrokontroler Komenda odebrana od pilota za pośrednic-
komputera, nie odczuwał nigdy po- AT89C2051. Układ zasilany jest z linii kla- twem układu U3 wpisywana jest do pamięci
trzeby sterowania swoim PC-tem wiatury, dzięki czemu nie potrzeba zewnętrz- szeregowej jako adres, z którego odczyty-
z pewnej odległości, np. z łóżka czy nego zasilania. Serce układu (U1) komuniku- wany jest bajt. Bajt ten nie jest niczym in-
biurka? Czy nigdy nie musieliście pod- je się z pamięcią szeregową (U2) po szynie nym jak kodem odpowiadającym danemu
chodzić do komputera tylko po to, że- I2C, odbiera sygnały od scalonego odbiorni- przyciskowi klawiatury, którego wciśnięcie
by przełączyć słuchaną "empetrójkę" ka podczerwieni (U3) oraz steruje czterema
lub zmienić kanał TV? Przykładów za- tranzystorami (T1-T4) potrzebnymi przy
stosowania pilota komputerowego transmisji i dwoma diodami (D1, D2) sygna-
można wymieniać wiele. Wykorzysta- lizującymi, czy sygnał z pilota został zinter-
cie go do różnych celów, aby sterować pretowany, czy odrzucony.
komputerem za pomocą dowolnego pi- Nasz układ to jednak nie wszystko, czego
lota RC-5. Co ważne, jest to przystaw- potrzebować będziemy do sterowania kompu-
ką, która nie zakłóca normalnej pracy terem. Niezbędny będzie jeszcze pilot. No
klawiatury. właśnie, pilot, ale jaki? Dowolny pilot RC-5
lub "Minipilot RC5", kit AVT-2427 opisany
w EdW 9/2000 na stronie 77. Ma on wystar-
Opis układu czającą liczbę przycisków (16) i jest stosunko-
Omawiane urządzenie jest dość nietypowe, wo tani. Poza tym dokładnie wiemy, jaki kod
mianowicie udaje klawiaturÄ™ po otrzymaniu odpowiada danemu przyciskowi (komendy
odpowiednich instrukcji od pilota. Jak zwy- podane zostały na rysunku 2, adres dla wszy-
kle w przypadku stosowania techniki mikro- stkich przycisków równy jest 0), w przeci-
procesorowej, układ pod względem budowy wieństwie do fabrycznych pilotów uniwersal-
jest bardzo prosty. Jego schemat ideowy nych, które potrafią zachowywać się różnie. Rys. 2
przedstawiony został na rysunku 1. Cała in- Po zaznajomieniu się ze schematem,
teligencja mieści się w głównym układzie zajmijmy się pracą układu "od kuchni". Rys. 1
Elektronika dla Wszystkich
17
symulować miała obsługa
Program mikroprocesorowy:
P
r
o
g
r
a
m
m
i
k
r
o
p
r
o
c
e
s
o
r
o
w
y
:
pilota. Właściwie wiemy
już skąd układ zna kod
$crystal = 11059200
klawisza, ale przecież nie-
Dim Nowy As Bit : Dim E As Bit : Dim P As Bit
które przyciski (np.
Dim Com As Byte : Dim Adr As Byte
"strzałki") są klawiszami
Dim K As Byte : Dim X As Byte : Dim A As Byte
specjalnymi i aby je wy-
wołać, trzeba przed ich Ziel Alias P1.0 : Czerw Alias P1.1 : Dta Alias P1.2
Clk Alias P1.3 : Blk Alias P3.5
kodem wysłać kompute-
rowi poprzednik klawisza Rys. 3
Config Sda = P3.0 : Config Scl = P3.1
specjalnym (szesnastko- Config I2cdelay = 1
wo E0). Problem ten moż- Rys. 4
Reset Tcon.0 : On Int0 Rc5
na rozwiązać całkiem pro-
Enable Int0 : Enable Interrupts
sto. Ponieważ pilot może
Do
przesyłać komendy od 0-
Bitwait Nowy , Set
63, połowa pamięci U2 le-
Disable Int0 : Reset Nowy
ży odłogiem. Nic nie stoi
I2cstart : I2cwbyte 160 : I2cwbyte Com
na przeszkodzie, aby wy- I2cstart : I2cwbyte 161 : I2crbyte K , Nack : I2cstop
If K = &HFF Then
korzystać tę część pamię-
Com = Com + 64
ci na rzecz klawiszy spe-
I2cstart : I2cwbyte 160 : I2cwbyte Com
cjalnych. W tym celu,
I2cstart : I2cwbyte 161 : I2crbyte K , Nack : I2cstop
If K <> &HFF Then : Set E
w nieużywanej dotąd przestrzeni adresowej T4). Ale czy aby na pewno taki zabieg jest
Else : Reset Czerw : Waitms 240 : Set Czerw
od 63 do 127, zapisujemy kody odpowiada- konieczny? Przecież te linie sterowane są za
End If
jące klawiszom specjalnym pod adresami pomocą bramek typu otwarty kolektor, więc
End If
If K <> &HFF Then
będącymi komendą powiększoną o 64. Roz- czy nie można po prostu zwierać danej linii
While Clk = 0 : Waitms 2 : Wend : Reset Blk
patrzmy teraz zachowanie układu, gdy do masy? Odpowiedz na to pytanie i trochę
If E = 1 Then
otrzyma on komendę dotyczącą klawisza więcej szczegółów dotyczących transmisji
Reset E
specjalnego. Najpierw mikrokontroler (potrzebnych do napisania programu) zna- X = &HE0 : Gosub Przeslij
X = K : Gosub Przeslij
sprawdza, czy pod adresem odpowiadają- lezć można w EdW 1/2001 na stronie 25.
X = &HE0 : Gosub Przeslij
cym komendzie znajduje się jakiś kod. Kie- Żeby się zbytnio nie powtarzać, przypomnę
X = &HF0 : Gosub Przeslij
dy upewni się, że kodu nie ma (odczytał jedynie, że linia klawiatury jest linią dwu-
X = K : Gosub Przeslij
Else
znak pusty - szesnastkowo FF), to spraw- kierunkową. Wynika z tego, że również
X = K : Gosub Przeslij
dza, czy pod adresem o 64 wyższym coś komputer może przesyłać rozkazy klawiatu-
X = &HF0 : Gosub Przeslij
jest. Jeśli jest, to już wie, że ma to być kla- rze (np. załącz/ wyłącz kontrolkę Caps
X = K : Gosub Przeslij
wisz specjalny i najpierw przesyła kompute- Lock) i dlatego, jeśli strona klawiatury nie End If
Set Blk : Reset Ziel : Waitms 240 : Set Ziel
rowi poprzednik klawisza specjalnego, a do- zostałaby podciągnięta do zasilania, oprócz
End If
piero potem kod klawisza odczytany z dane- komputera, również klawiatura mogłaby od-
Enable Int0
go adresu. Rysunek 3 przedstawia kody czytać transmisję jako rozkaz dla niej. W ta- Loop
wszystkich klawiszy klawiatury, z których kim przypadku nasz rozkaz zostałby za-
Przeslij:
możemy wybrać potrzebne i wpisać do pa- kłócony przez klawiaturę i z transmisji by-
A = 0
mięci U2 według szablonu z rysunku 4 pod łyby nici.
If X.0 = 1 Then : A = A + 1 : End If
adresy odpowiadające wybranym przyci- Teoretycznie wiemy już jak układ powi- If X.1 = 1 Then : A = A + 1 : End If
If X.2 = 1 Then : A = A + 1 : End If
skom pilota. Jeśli jakiś przycisk ma być nie- nien działać. Brakuje jeszcze tylko programu
If X.3 = 1 Then : A = A + 1 : End If
używany, to w miejsce kodu klawisza musi- obsługującego mikroprocesor. W artykule
If X.4 = 1 Then : A = A + 1 : End If
my wpisać szesnastkowo FF. znajdziecie jego listing w języku BASCOM. If X.5 = 1 Then : A = A + 1 : End If
If X.6 = 1 Then : A = A + 1 : End If
Mając pewne pojęcie na temat identyfi- Program ten z powodzeniem obsługiwał mój
If X.7 = 1 Then : A = A + 1 : End If
kacji klawisza, możemy przyjrzeć się bliżej model, więc prawdopodobnie będzie działać
A = A Mod 2
transmisji. Jak już wcześniej wspomniałem, i u Was. Ze względu na ograniczenia doty- If A = 0 Then : Set P : Else : Reset P : End If
Dta = 0 : Delay : Clk = 0 : Delay
mikrokontroler steruje kilkoma tranzystora- czące artykułu, obcięte zostały komentarze.
Dta = X.0 : Clk = 1 : Delay : Clk = 0 : Delay
mi. To one właśnie zarządzają szyną danych Podobnie jak w przypadku "Maszyny do pi-
Dta = X.1 : Clk = 1 : Delay : Clk = 0 : Delay
(DTA) i zegara (CLK) komputera, którymi sania", zachęcam jednak do napisania pro-
Dta = X.2 : Clk = 1 : Delay : Clk = 0 : Delay
zwykle "zajmuje się" klawiatura. Można po- gramu samemu i traktowanie mojego listingu Dta = X.3 : Clk = 1 : Delay : Clk = 0 : Delay
Dta = X.4 : Clk = 1 : Delay : Clk = 0 : Delay
wiedzieć, że nasze urządzenie wtrąca się po- jedynie jako działający punkt odniesienia.
Dta = X.5 : Clk = 1 : Delay : Clk = 0 : Delay
między klawiaturę i komputer. Takie brutal- Jeśli jednak ktoś nie ma ochoty tracić czasu
Dta = X.6 : Clk = 1 : Delay : Clk = 0 : Delay
ne działanie jest nieuniknione, ponieważ li- nawet na przepisywanie, z pomocą przycho- Dta = X.7 : Clk = 1 : Delay : Clk = 0 : Delay
Dta = P : Clk = 1 : Delay : Clk = 0 : Delay
nia klawiatury przystosowana jest tylko do dzi Internet. Ci, którzy mają do niego dostęp,
Dta = 1 : Clk = 1 : Delay : Clk = 0 : Delay : Clk = 1
jednego odbiornika i jednego nadajnika. Jak mogą zassać program oraz zawartości pa-
Return
w takim razie przystosować transmisję do mięci szeregowych do sterowania różnymi
Rc5:
naszych potrzeb? Całkiem prosto! Szerego- programami spod adresu www.edw.com.pl
Getrc5(adr , Com)
wo w linie musimy włączyć rezystory o nie- lub http://www.bloknet.pl/~rufus/pilot.zip,
If Adr = 0 Then : Set Nowy
dużej oporności (R1 i R2). Teraz wystarczy a ci, którzy dobrodziejstwa Internetu nie za-
Else
już tylko po stronie klawiatury "podcią- znali, zadowolić się muszą napisaniem pro- Reset Nowy
Reset Czerw : Waitms 240 : Set Czerw
gnąć" linię do napięcia zasilania (T1, T2), gramu samemu lub jego bezmyślnym
End If
a po stronie komputera, w takt transmisji, (?) przepisaniem, ale w końcu pisanie w
Return
zwierać końcówkę rezystora do masy (T3, BASCOM-ie to przyjemność!
Elektronika dla Wszystkich
18
Montaż
i uruchomienie z komputerem przez port szeregowy. DziÄ™-
Wykaz elementów
Układ jest bardzo prosty, więc montaż nie ki temu nie będziemy musieli walczyć
wymaga dużej uwagi. Należy zwrócić uwagę z niekompatybilnym systemem, który nigdy
jedynie na to, aby kable łączące urządzenie nie chce współpracować. Jedyne co trzeba
Rezystory:
R
e
z
y
s
t
o
r
y
:
z klawiaturą i komputerem nie były zbyt dłu- zrobić to połączyć układ z komputerem
R1,R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .560&!
R
1
,
R
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
6
0
&!
gie. Do obudowania urządzenia nadaje się, i klawiaturą. Będzie działać pod każdym
po małej obróbce, obudowa Z6. Przednią systemem i zawsze. To się dopiero nazywa
R3-R6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22k&!
R
3
R
6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
k
&!
ściankę zastąpić można prostokątem z ciem- "Plug and Play"!
R
7
,
R
8
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
k
&!
nego, półprzezroczystego pleksi. R7,R8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1k&!
Ponieważ nasz układ udaje klawiaturę,
R9,R10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3,3k&!
R
9
,
R
1
0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
,
3
k
&!
nie będą potrzebne żadne sterowniki, aby
go uruchomić. Jest to główna różnica po-
R11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220&!
R
1
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
0
&!
między tym urządzeniem a jego fabryczny- Rafał Baranowski
Kondensatory:
K
o
n
d
e
n
s
a
t
o
r
y
:
mi odpowiednikami, które komunikują się e-mail: Rafal.Baranowski@bloknet.pl
C1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100nF
C
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
0
0
n
F
C2,C6 . . . . . . . . . . . . . . . . . . . . . . . . . .100µF/16V
C
2
,
C
6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
0
0
µ
F
/
1
6
V
C3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10µF/16V
C
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
0
µ
F
/
1
6
V
C4,C5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33pF
C
4
,
C
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
p
F
Półprzewodniki:
P
ó
Å‚
p
r
z
e
w
o
d
n
i
k
i
:
U1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .AT89C2051
U
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A
T
8
9
C
2
0
5
1
U2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .AT24C01
U
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A
T
2
4
C
0
1
U3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .TFMS5360
U
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
T
F
M
S
5
3
6
0
T1-T4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .BC557
T
1
T
4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
B
C
5
5
7
D1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .LED zielona
D
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
L
E
D
z
i
e
l
o
n
a
D2 . . . . . . . . . . . . . . . . . . . . . . . . . . .LED czerwona
D
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
L
E
D
c
z
e
r
w
o
n
a
Pozostałe:
P
o
z
o
s
t
a
Å‚
e
:
X1 . . . . . . . . . . . .rezonator ceramiczny 11,0592MHz
X
1
.
.
.
.
.
.
.
.
.
.
.
.
r
e
z
o
n
a
t
o
r
c
e
r
a
m
i
c
z
n
y
1
1
,
0
5
9
2
M
H
z
W1 . . . . . . . . . . . . . . . .gniazdo 5 pin DIN lub PS/2
W
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
g
n
i
a
z
d
o
5
p
i
n
D
I
N
l
u
b
P
S
/
2
W2 . . . . . . . . . . . . . . . . . . .wtyk 5 pin DIN lub PS/2
W
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
w
t
y
k
5
p
i
n
D
I
N
l
u
b
P
S
/
2
Elektronika dla Wszystkich
19
Wyszukiwarka
Podobne podstrony:
komputerowy pilot RC52002 05 Wielofunkcyjny, komputerowy pilot RC5Sieci komputerowe wyklady dr FurtakInformacja komputerowaANALIZA KOMPUTEROWA SYSTEMÓW POMIAROWYCH — MSESciaga pl Podział drukarek komputerowychGenius nowe głośniki dla komputerowych melomanówJak oceniać pracę komputerową uczniówPrzydatne wpisy do rejestru na komputerach klienta uzupełniePorady komputerowe 38Wstęp do pakietu algebry komputerowej Maple4 Sieci komputerowe 04 11 05 2013 [tryb zgodności]Komputery PC dla bystrzakówwięcej podobnych podstron