Pilot Komputerowy

3
Czy ktokolwiek z Wa s, u ż ytkowni ków komp ut er a, ni e odczuwał nigdy potrzeby sterowania swoim PC’tem z pewnej odległości, np z łóżka czy biurka! Czy nigdy nie musiel i ś cie podc "o dz i# do komputera ty l ko po to, żeby  przeł$czy# słuc"an$ %empetrójk&' czy zmieni# kanał ()! Przykładów zastosowania pilota komputerowego mo żna wy mie ni a# wi el e, al e czy ta ki e ur z$ dz enie da si& zr ob i# mał y m nakł adem si ł i koszw! *czywiście+ pomoc$, jak zwykle w takic " przy padkac ", przy c"odz$ mikroprocesory i dobrze znany nam  pakiet -./C*0 Opis układu *mawiane urz$dzenie jest doś# niety powe, miano wicie udaje klawiatur&  po otrzymaniu odpowiednic" instrukc ji od  pilota 1ak zwykle w przypadku stosowani a tec" niki mikrop roce sorowe j, układ pod wzgl&dem budowy jest bardzo  prosty 1ego sc"emat ideowy  przedstawiony został na rysunku 1 Cała in te li ge nc ja mie ś ci si & w g ł ówny m układzie scalonym, którym jest mi kr okontr ol er .(23C456 7 8kł ad zas ila ny jes t z linii kla wia tury , dzi &ki cze mu ni e po tr ze ba ze wn &trzn ego zasilania /erce układu 9 U1) komunikuje si& z pami&ci$ szeregow$ 9 U2) po szynie : 4 C, odbiera sy gn a ł y od scalo ne go odbiornika podczerwieni 9U3) oraz steruje czterema tranzystorami 9T1-T4;  potrzebnymi przy transmisji i dwoma diodami 9D1, D2; syg nalizuj $cy mi, czy sygnał z pilota został zinterpretowany czy odrzucony  <asz układ to jednak nie wszystko czeg o potrz ebowa # b&dziemy do sterowania kompu terem <iezb &dny  b&dzie jeszcze pilot <o właśnie, pilot, ale  jaki! <ajlepszym wydaje si& by# %0inipilot =C6', kit .) (4>4? opisany w @dW 3A 4555 na st ro ni e ?? 0a on wyst arcza j$c$ liczb& przy ciskó w 97B; i  jest stosunkowo tani Poza tym dokładnie wi emy , jaki ko d od powiada da ne mu  przyciskowi 9komendy podane zostały na rys unku 2, adres dla wszy stkic "  przycisków równy jest 5;, w  przeciwiestwie do Dabrycznyc" pilotów uniwersalnyc", które potraDi$  zac"owywa# si& różnie Po zaznajomieniu si& ze sc"ema tem, zaj mij my si& prac$ ukł adu %od kuc"ni' Eomenda odebrana od pilota za pośrednictwem układu U3 wpisywana  jest do pami&ci szeregowej jako adres, z którego odczytywany jest bajt -ajt ten ni e je st ni czym in ny m ja k kodem odp owiada j$c ym danemu prz yc isk owi klawiatury , którego wci ś ni&cie symulo wa # mi a ł a obsł u ga pil ota Właściwie wiemy już sk$d układ zna kod klawisza, ale przecież niektóre przyciski 9np %strzałki'; s$ klawiszami specjalnymi i aby je wywoła#, trzeba przed ic" kodem wysła# komputerowi poprzednik klawisza spec jalny m 9szes nastkowo @5; Proble m te n mo żna ro zwi$ za # ca ł kiem pr osto Ponieważ pilot może przesyła# komendy Pilot komputerowy 7 Rys. 2 Rys. 1

Transcript of Pilot Komputerowy

Page 1: Pilot Komputerowy

7/26/2019 Pilot Komputerowy

http://slidepdf.com/reader/full/pilot-komputerowy 1/3

Czy ktokolwiek z Was,użytkowników komputera, nieodczuwał nigdy potrzeby sterowaniaswoim PC’tem z pewnej odległości,

np z łóżka czy biurka! Czy nigdynie musieliście podc"odzi# dokomputera tylko po to, żeby

przeł$czy# słuc"an$ %empetrójk&'czy zmieni# kanał ()! Przykładówzastosowania pilota komputerowegomożna wymienia# wiele, ale czytakie urz$dzenie da si& zrobi#małym nakładem sił i kosztów!*czywiście+ pomoc$, jak zwyklew takic" przypadkac", przyc"odz$ mikroprocesory i dobrze znany nam

pakiet -./C*0

Opis układu

*mawiane urz$dzenie jest doś#nietypowe, mianowicie udaje klawiatur&

po otrzymaniu odpowiednic" instrukcji od pilota 1ak zwykle w przypadkustosowania tec"niki mikroprocesorowej,układ pod wzgl&dem budowy jest bardzo

prosty 1ego sc"emat ideowy przedstawiony został na rysunku 1 Całainteligencja mieści si& w głównymukładzie scalonym, którym jestmikrokontroler .(23C4567 8kład

zasilany jest z linii klawiatury, dzi&kiczemu nie potrzeba zewn&trznegozasilania /erce układu 9U1) komunikujesi& z pami&ci$ szeregow$ 9U2) po szynie

:4C, odbiera sygnały od scalonegoodbiornika podczerwieni 9U3) oraz sterujeczterema tranzystorami 9T1-T4;

potrzebnymi przy transmisji i dwomadiodami 9D1, D2; sygnalizuj$cymi, czysygnał z pilota został zinterpretowany czyodrzucony

<asz układ to jednak niewszystko czego potrzebowa# b&dziemydo sterowania komputerem <iezb&dny

b&dzie jeszcze pilot <o właśnie, pilot, ale jaki! <ajlepszym wydaje si& by#%0inipilot =C6', kit .)(4>4? opisany w

@dW 3A4555 na stronie ?? 0a onwystarczaj$c$ liczb& przycisków 97B; i

jest stosunkowo tani Poza tym dokładniewiemy, jaki kod odpowiada danemu

przyciskowi 9komendy podane zostały narysunku 2, adres dla wszystkic"

przycisków równy jest 5;, w przeciwiestwie do Dabrycznyc" pilotówuniwersalnyc", które potraDi$ zac"owywa# si& różnie

Po zaznajomieniu si& zesc"ematem, zajmijmy si& prac$ układu%od kuc"ni' Eomenda odebrana od pilotaza pośrednictwem układu U3 wpisywana

jest do pami&ci szeregowej jako adres, z

którego odczytywany jest bajt -ajt tennie jest niczym innym jak kodemodpowiadaj$cym danemu przyciskowiklawiatury, którego wciśni&cie

symulowa# miała obsługa pilotaWłaściwie wiemy już sk$d układ zna kodklawisza, ale przecież niektóre przyciski9np %strzałki'; s$ klawiszami specjalnymii aby je wywoła#, trzeba przed ic" kodemwysła# komputerowi poprzednik klawiszaspecjalnym 9szesnastkowo @5; Problem

ten można rozwi$za# całkiem prostoPonieważ pilot może przesyła# komendy

Pilot komputerowy 7

Rys. 2

Rys. 1

Page 2: Pilot Komputerowy

7/26/2019 Pilot Komputerowy

http://slidepdf.com/reader/full/pilot-komputerowy 2/3

od 5FBG, połowa pami&ci U2 leżyodłogiem <ic nie stoi na przeszkodzie,aby wykorzysta# t& cz&ś# pami&ci narzecz klawiszy specjalnyc" W tym celu,w nieużywanej dot$d przestrzeniadresowej od BG do 74?, zapisujemy kodyodpowiadaj$ce klawiszom specjalnym

pod adresami b&d$cymi komend$ powi&kszon$ o B> =ozpatrzmy terazzac"owanie układu, gdy otrzyma onkomend& dotycz$c$ klawisza specjalnego

<ajpierw mikrokontroler sprawdza, czy pod adresem odpowiadaj$cym komendzieznajduje si& jakiś kod Eiedy upewni si&,że kodu nie ma 9odczytał znak pusty H szesnastkowo II;, to sprawdza, czy podadresem o B> wyższym coś jest 1eśli jest,to już wie, ze ma to by# klawisz specjalnyi najpierw przesyła komputerowi

poprzednik klawisza specjalnego, adopiero potem kod klawisza odczytany zdanego adresu Rysunek 3 przedstawiakody wszystkic" klawiszy klawiatury, zktóryc" możemy wybra# potrzebne i

wpisa# do pami&ci U2 według szablonu zrysunku 4 pod adresy odpowiadaj$cewybranym przyciskom pilota 1eśli jakiś

przycisk ma by# nieużywany, to wmiejsce kodu klawisza musimy wpisa#szesnastkowo II

0aj$c pewne poj&cie na tematidentyDikacji klawisza, możemy przyjrze#si& bliżej transmisji 1ak już wcześniej

wspomniałem, mikrokontroler sterujekilkoma tranzystorami (o one właśniezarz$dzaj$ szyn$ danyc" 9DTA; i zegara9CLK ; komputera, którymi zwykle%zajmuje si&' klawiatura 0ożna

powiedzie#, że nasze urz$dzenie wtr$casi& pomi&dzy klawiatur& i komputer(akie brutalne działanie jest nieuniknione,

ponieważ linia klawiatury przystosowana jest tylko do jednego odbiornika i jednegonadajnika 1ak w takim razie

przystosowa# transmisj& do naszyc" potrzeb! Całkiem prosto+ /zeregowo w

linie musimy wł$czy# rezystory oniedużej oporności 9R1 i R2; (erazwystarczy już tylko po stronie klawiatury

%podci$gn$#' lini& do napi&cia zasilania9T1, T2;, a po stronie komputera, w takttransmisji, zwiera# kocówk& rezystorado masy 9T3, T4; .le czy aby na pewnotaki zabieg jest konieczny! Przecież telinie sterowane s$ za pomoc$ bramek typuotwarty kolektor, wiec czy nie można po

prostu zwiera# danej linii do masy!*dpowiedz na to pytanie i troc"& wi&cejszczegółów dotycz$cyc" transmisji9potrzebnyc" do napisania programu;znaleJ# można w Ed 1!2""1 na s#r$nie

2% Keby si& zbytnio nie powtarza#, przypomn& jedynie, że linia klawiatury jest lini$ dwukierunkow$ Wynika z tego,że również komputer może przesyła#rozkazy klawiaturze 9np zał$cz A wył$czkontrolk& Caps Lock; i dlatego, jeślistrona klawiatury nie zostałaby

podci$gni&ta do zasilania, opróczkomputera, również klawiatura mogłabyodczyta# transmisj& jako rozkaz dla niejW takim przypadku nasz rozkaz zostałbyzakłócony przez klawiatur& i z transmisji

byłyby nici(eoretycznie wiemy już jak

układ powinien działa# -rakuje jeszczetylko programu obsługuj$cegomikroprocesor W dalszej cz&ści artykułuznajdziecie jego listing w j&zyku-./C*0 Program ten z powodzeniemobsługiwał mój model, wi&c

prawdopodobnie b&dzie działa# i Wame wzgl&du na ograniczenia dotycz$ceartykułu, obci&te zostały komentarzePodobnie jak w przypadku %0aszyny do

pisania', zac"&cam jednak do napisania programu samemu i traktowanie mojegolistingu jedynie jako działaj$cy punkt

odniesienia 1eśli jednak ktoś nie maoc"oty traci# czasu nawet na

przepisywanie, z pomoc$ przyc"odzi

:nternet Ci, którzy maj$ do niego dost&p,mog$ zassa# program oraz zawartości

pami&ci szeregowyc" do sterowaniaróżnymi programami spod adresu"ttpMAAwwwbloknetplANruDusA pilotzip, aci, którzy dobrodziejstwa :nternetu niezaznali, zadowoli# si& musz$ napisaniem

programu samemu lub jego bezmyślnym9!; przepisaniem, ale w kocu pisanie w-./C*0’ie to przyjemnoś#+

&$n#a' i uru($*ienie

8kład jest bardzo prosty, wi&cmontaż nie wymaga dużej uwagi <ależyzwróci# uwag& jedynie na to, aby kableł$cz$ce urz$dzenie z klawiatur$ ikomputerem nie były zbyt długie Ooobudowania urz$dzenia nadaje si&, pomałej obróbce, obudowa B Przedni$

ściank& zast$pi# można prostok$tem zciemnego, półprzezroczystego pleksiPonieważ nasz

układ udaje klawiatur&,nie b&d$ potrzebneżadne sterowniki abygo uruc"omi# 1est togłówna różnica

pomi&dzy tymurz$dzeniem a jegoDabrycznymi

odpowiednikami, które komunikuj$ si& zkomputerem przez port szeregowy Ozi&ki

temu nie b&dziemy musieli walczy# zniekompatybilnym systemem, który nigdynie c"ce współpracowa# 1edyne co trzebazrobi# to poł$czy# układ z komputerem iklawiatur$ -&dzie działa# pod każdymsystemem i zawsze (o si& dopieronazywa %Plug and Play'+

Ra+ał aran$ski

eFmailM =aDal-aranowskibloknetpl

Pilot komputerowy 4

Rys. 3

Rys. 4

/łpr0e$dniki

87.(23C456784.(4>C578G(I0/6GB5(7, (4, (G, (> -C66?O7L@O zielonaO4L@O czerwona

$0$s#ałe

Q7rezonatorceramiczny77,56340Rz

W7gniazdo 6 pin O:<lub P/A4

W4wtyk 6 pin O:<lub P/A4

yka0 ee*en#/

Re0ys#$ry

=7, =4 6B5Ω

=G, =>, =6, =B 44k Ω=?, =2 7k Ω

=3, =75 G,Gk Ω=77 445Ω

K$ndensa#$ry

C7 755nIC4, CB 755µICG 75µIC>, C6 GGpI

Page 3: Pilot Komputerowy

7/26/2019 Pilot Komputerowy

http://slidepdf.com/reader/full/pilot-komputerowy 3/3

Pilot komputerowy G

Scrystal T 77563455

Oim <owy .s -it M Oim @ .s -it M Oim P .s -itOim Com .s -yte M Oim .dr .s -yteOim E .s -yte M Oim Q .s -yte M Oim . .s -yte

iel .lias P75 M Czerw .lias P77 M Ota .lias P74Clk .lias P7G M -lk .lias PG6

ConDig /da T PG5 M ConDig /cl T PG7ConDig :4cdelay T 7

=eset (con5 M *n :nt5 =c6@nable :nt5 M @nable :nterrupts

Oo -itwait <owy , /et Oisable :nt5 M =eset <owy :4cstart M :4cwbyte 7B5 M :4cwbyte Com :4cstart M :4cwbyte 7B7 M :4crbyte E , <ack M :4cstop :D E T URII ("en

Com T Com V B>:4cstart M :4cwbyte 7B5 M :4cwbyte Com :4cstart M :4cwbyte 7B7 M :4crbyte E , <ack M :4cstop :D E X URII ("en M /et @ @lse M =eset Czerw M Waitms 4>5 M /et Czerw @nd :D @nd :D :D E X URII ("en W"ile Clk T 5 M Waitms 4 M Wend M =eset -lk :D @ T 7 ("en =eset @ Q T UR@5 M Yosub Przeslij Q T E M Yosub Przeslij

Q T UR@5 M Yosub Przeslij Q T URI5 M Yosub Przeslij Q T E M Yosub Przeslij @lse Q T E M Yosub Przeslij Q T URI5 M Yosub Przeslij

Q T E M Yosub Przeslij @nd :D /et -lk M =eset iel M Waitms 4>5 M /et iel @nd :D @nable :nt5Loop

PrzeslijM

. T 5 :D Q5 T 7 ("en M . T . V 7 M @nd :D:D Q7 T 7 ("en M . T . V 7 M @nd :D

:D Q4 T 7 ("en M . T . V 7 M @nd :D:D QG T 7 ("en M . T . V 7 M @nd :D:D Q> T 7 ("en M . T . V 7 M @nd :D

:D Q6 T 7 ("en M . T . V 7 M @nd :D :D QB T 7 ("en M . T . V 7 M @nd :D :D Q? T 7 ("en M . T . V 7 M @nd :D . T . 0od 4 :D . T 5 ("en M /et P M @lse M =eset P M @nd :D Ota T 5 M Oelay M Clk T 5 M Oelay Ota T Q5 M Clk T 7 M Oelay M Clk T 5 M Oelay

Ota T Q7 M Clk T 7 M Oelay M Clk T 5 M Oelay Ota T Q4 M Clk T 7 M Oelay M Clk T 5 M Oelay Ota T QG M Clk T 7 M Oelay M Clk T 5 M Oelay Ota T Q> M Clk T 7 M Oelay M Clk T 5 M Oelay Ota T Q6 M Clk T 7 M Oelay M Clk T 5 M Oelay Ota T QB M Clk T 7 M Oelay M Clk T 5 M Oelay Ota T Q? M Clk T 7 M Oelay M Clk T 5 M Oelay Ota T P M Clk T 7 M Oelay M Clk T 5 M Oelay Ota T 7 M Clk T 7 M Oelay M Clk T 5 M Oelay M Clk T 7=eturn

=c6M Yetrc69adr , Com;

:D .dr T 5 ("en M /et <owy @lse =eset <owy =eset Czerw M Waitms 4>5 M /et Czerw @nd :D =eturn

r$ra* *ikr$pr$(es$r$y