Vous êtes sur la page 1sur 3

Dodatkowe materiay >>

Wideo gra Pikarzyki

Wideo gra Pikarzyki


Przedstawiamy projekt gry,
ktra w dzisiejszych czasach
trci (i to niele) myszk,
szczeglnie gdy porwnamy
j ze wspczesnymi grami
wykorzystujcymi penokolorow,
3wymiarow grak 3D
i wielokanaowy dwik.
Pikarzyki urzekaj jednak
swoj prostot i mog stanowi
mie wspomnienie dawnych lat.
Niezwyky jest rwnie sam
autor, ktry wkada p ycia
w to, co robi. Pikarzyki to
dopiero wstp do kolejnych jego
zamierze.
Rekomendacje:
idealny projekt dla
wytchnienia po godzinach
przy stosunkowo niewielkim
nakadzie pracy zapewni duo
zadowolenia.

AVT5162

Pikarzyki to gra, ktra umoliwia rozgrywanie mini meczy pikarskich. Konstrukcja minigry
jest bardzo prosta i prezentuje due moliwoci
obliczeniowe mikrokontrolera 89C2051.
Kady z nas zapewne pamita pikarzyki gr
zrcznociow, jedn z bardziej ulubionych na
koloniach, gdy pada deszcz. Tym razem jest to
gra wideo dla jednego gracza, lekka atwa i przyjemna, a co wicej prosta w realizacji, gdy
zawiera tylko jeden popularny ukad 89C2051
i bufor 74HCT14. Ze wzgldu na odpowiednie
ustawienie pikarzy zachowane s w niej prawie wszystkie reguy zwykej gry w pik non,
tak wic s tu: rozpoczcie meczu od rodka
boiska, odbicia w przd i podania pomidzy
pikarzami od bramkarza i zawodnikw obrony
do zawodnikw ataku, rzuty z autu, wybicia
od bramkarza, gdy pika przejdzie obok bramki, i rozpoczcia od rodka, gdy zdobdziemy
punkt. Druyny w grze przyjmuj trzy pozycje
strategiczne: obrony, rozgrywki i ataku odpowiadajce odpowiednio wysuniciu zawodnikw druyny do przodu, w pozycji rodkowej
i do tyu. Zawodnicy mog take przemiesz-

W ofercie AVT:
AVT5162A pytka drukowana AVT5162B pytka + elementy
PODSTAWOWE PARAMETRY

Pytki o wymiarach: 63x48 mm


Zasilanie 9 VDC (bateria 6LR61)
Wyjcie composit video

PROJEKTY POKREWNE

Sterowanie gr za pomoc miniaturowego


joysticka

wymienione artykuy s w caoci dostpne na CD

Tytu artykuu

Nr EP/EdW

Kit

Snake czyli gra z lat 70

EdW 12/2006

AVT2806

Gra telewizyjna SQUASH

EdW 11/2004

AVT2739

EP 1/2008

AVT5122

Wolfenstein 3D na STR911

ELEKTRONIKA PRAKTYCZNA 12/2008

cza si pomidzy praw i lew stron boiska.


Zdobywanie punktw jest przyjemnoci wynikajc z tego, i zawodnicy podaj sobie pik
zazwyczaj od bramkarza do obrocy i napastnika, albo od bramkarza do napastnika. Staym
fragmentem gry s take pojedynki pomidzy
napastnikami, koczce si strzaem na bramk
lub rzutem z autu.
Obsuga wideo konsoli jest niezwykle prosta,
suy do tego joystick (odpowiednik czterech
przyciskw umoliwiajcych przesuwanie zawodnikw w prawo, w lewo, w przd i do tyu)
oraz jeden przycisk, ktrym rozpoczyna si gr.
Punktacja jest wywietlana w grnej czci ekranu, a punkty zwikszane s po kadorazowym
zdobyciu bramki. Druyna A poruszana jest prostym algorytmem realizowanym przez mikrokontroler, druyna B natomiast jest poruszana przez
gracza przy uyciu joysticka. Punkty s zliczane
od 0 do 99, a czas rozgrywki jest dowolny.

Budowa i zasada dziaania ukadu


Siln stron konsoli jest jej urzekajca prostota. Do budowy wystarczy dosownie kilka
bardzo popularnych elementw (patrz wykaz
elementw). Schemat ideowy gry przedstawiono na rys. 1.
Mikrokontroler 89C2051 z kwarcem 24 MHz
jest podczony poprzez port P1 do joysticka.
Wyjcia T0 i T1 poprzez bufor 74HCT14 wykorzystano w ukadzie formowania impulsw
synchronizacji i sygnau wideo, wejcie INT0
jest poczone z przyciskiem rozpoczcia nowej
gry. Wejcie INT0 i INT1 s podcignite rezystorami 1 kV do plusa zasilania ustalajc tym
samym stan 1 logicznej. Podobnie podcignite s wejcia 8bitowego portu P1, przy czym
zastosowano tu rezystory 4,7 kV. Przyciski P1...
P4 s stykami joysticka. W stanie zwarcia, na

39

Rys. 1. Schemat ideowy wideo konsoli


odpowiedni lini portu P1 podawane jest 0
logiczne. Stan klawiatury jest odczytywany programowo przez mikrokontroler. Inwertery U2A
i U2B stanowi separacj pomidzy mikrokontrolerem i wyjciem sygnau wideo. Na wejcie
bramki U2B podawane s sygnay synchronizacji
poziomej 15625 Hz i pionowej 50 Hz, ktre po
przejciu przez inwerter oraz diod D1 pracujc jako przecznik, wytwarzaj waciwe poziomy sygnau wideo. Zasad pracy przecznika
przedstawiono na rys. 2. Gdy na wyjciach inwerterw U2A i U2B jest stan 0 logicznego,
to na dzielniku napicia R2 i R3 panuje napicie
rwne napiciu przewodzenia diody krzemowej
D1, czyli okoo 0,7 V (rys. 2a). Na wyjciu dzielnika napiciowego R2, R3 (w punkcie w ktrym
wytwarzany jest sygna wideo), w stanie wyczenia obydwu diod D1 i D2 wystpuje napicie
rwne 2,5 V (rys. 2c). Gdy dioda D1 nie prze-

wodzi (na wyjciu bramki U2B jest 1 logiczna) i dioda D2 przewodzi (na wyjciu U2A jest
stan 1 logicznej) na wyjciu ukadu uzyskuje
si napicie ok. 2,93..3,1 V. Interpretacj napi
wyjciowych dzielnika R2, R3 odpowiadajcych
poszczeglnym stanom bramek U2A i U2B
przedstawiono w tab. 1.
Zgodnie z norm sygnau wideo, impuls synchronizacji powinien stanowi w przyblieniu nie
mniej ni 30% amplitudy sygnau wideo. Poziomom poszczeglnych stanw przyporzdkowane
s nastpujce napicia: poziomowi czerni 2,5 V,
impulsowi synchronizacji obnienie napicia
o 1,8 V, a biaym (szarym) punktom podniesienie
napicia o 0,6 V. Jeeli uzyskuje si zbyt sab biel,
to naleay zmniejszy rezystancj opornika R1,
pamitajc jednak o wydajnoci prdowej wyjcia
bramki. Dodatkowo opornik ten chroni wyjcia
bramek U2A i U2B przed zwarciem, gdy przyj-

yby one jednoczenie stan 1 i 0, w ktrym


przewodz obydwie diody D1 i D2. Zastosowanie
jednak szarych pikarzykw dobrze odpowiada
scenerii gry, gdy obserwujemy zawodnikw przemieszczajcych si po murawie boiska.

Program konsoli
Oprogramowanie gry skada si z generatora
obrazu wideo wytwarzajcego sygnay synchronizacji na wyjciu T0 i sygna wideo na wyjciu
T1. Tre obrazu jest wytwarzana i zapisywana
w 84 bajtach 128bajtowej pamici mikrokontrolera AT89C2051 i wysyana na wyjcie wideo
w przerwaniu Timera0. Program obsugujcy
klawiatur, procedury graczne, procedury zliczajce punkty i generowanie ruchw druyny
A wykonywany jest w wolnym czasie mikrokontrolera, gdy ten nie wywietla obrazu wideo
i jest synchronizowany jednobitowym semafo-

Rys. 2. Zasada generowania sygnau wideo w przeczniku diodowym D1, D2

40

ELEKTRONIKA PRAKTYCZNA 12/2008

Wideo gra Pikarzyki


Na CD karty katalogowe i noty aplikacyjne elementw
oznaczonych na Wykazie Elementw kolorem czerwonym

WYKAZ ELEMENTW
Rezystory
R1...R3, R5, R6: 1 kV
R4: 300 V
R7: 100 kV
Kondensatory
C1: 10 mF/16 V
C2, C3: 22 mF/16 V
C4: 4,7 nF
Pprzewodniki
U1: AT89C2051
U2: 74HCT14
U3: LM7805
D1, D2: 1N4148
D3: 1N4007
Inne
Q1: rezonator kwarcowy 24 MHz
P1...P5: joystick miniaturowy
B1: Bateria 9 V (6LR61)
gniazdo chinch

rem z cyklicznym przerwaniem, dla rytmicznego


odliczania czasu.
Obraz jest wywietlany 50 razy na sekund
w standardzie 312 linii, ktry jest uproszczeniem normy telewizyjnej 625 linii, ale bez midzyliniowoci.
Wywietlanie obrazu wideo zajmuje 224 linii
x 64 ms x 50 razy na sekund x 100%, co daje
71,68% czasu mikrokontrolera. Na obliczenia
pozostaje wic 28,32%, co podczas wywietlania
pojedynczego obrazu oznacza 5,632 milisekundy. W tym czasie mikrokontroler moe wykona
11264 instrukcji jednocyklowych, albo 5632 instrukcji dwucyklowych. Jest to wic wystarczajcy
czas na narysowanie nieskomplikowanych obiektw gracznych i animacj.
Wan czci oprogramowania konsoli s
procedury graczne, w tym m.in.: nakadanie
animacji na pami obrazu, zawiecania, gaszenia i badania stanu punktu o wsprzdnych X,Y.
Nakadany obraz animacji moe by przesuwany
w prawo i w lewo, w gr i w d po caym
wywietlanym obrazie. Ten efekt powsta pod-

czas projektowania animacji wstpnej, ktra jest


wywietlana przed rozpoczciem gry. Animacja
ta polega na kolejnym wywietlaniu zapisanych
w pamici EEPROM plansz prezentujcych boisko
do piki nonej, na ktre nakadany jest generowany programowo obraz odbijajcej si piki.
Procedura wywietlania pojedynczego punktu
o wsprzdnych X,Y zajmuje sporo czasu mikrokontrolera. Konieczne jest do tego przeliczenie
wsprzdnych pikselowych odpowiadajcych
pojedynczym bitom na wsprzdne wyraone
w bajtach i wyliczenie pozycji piksela w bajcie.
Z tego wzgldu obraz boiska podczas gry jest
rysowany jako plansza, na ktr nakadane s
z odpowiednimi przesuniciami pikarzyki, i do
tak powstaego obrazu dodawany jest piksel pieczki. Rysowanie obrazu w pamici mikrokontrolera musiao by ograniczone do 12,5 razy na
sekund ze wzgldu na zachowanie mocy obliczeniowej potrzebnej do obsugi klawiatury i strategii
druyny A (dla ktrej ruchy wylicza mikrokontroler). Przykadowe procedury zamieszczamy na
CD12/2008B.
Na rys. 3 przedstawiono organizacj ekranu.
Pami ekranu w wideo konsoli jest podzielona
na cz wywietlajc wynik rozgrywki i pami
wywietlajc obrazy graczne i animacje. Do
zapisywania tych dwch obszarw pamici su
oddzielne procedury.
Oprogramowanie konsoli powstawao wieloetapowo. Piszc kolejne wersje konieczne byo
wprowadzanie pewnych ogranicze w stosunku
do zaoe wstpnych, wynikajce z niewielkiej
wielkoci pamici programu mikrokontrolera
80C2051 (2 kB). Konieczna bya np. rezygnacja
z czci animacji, ktrych liczba pocztkowa wynosia 8, a ostatecznie po uwzgldnieniu obsugi
przyciskw i strategii druyny A zmiecio si 6
plansz i efekt animowanej piki. Do rozgrywania
meczw dostpne s 4 obiekty graczne (pocztkowo 6). Konieczne te byo poczenie bramkarza
z lini zawodnikw obrony, niezalenie dziaa linia

Tab. 1. Interpretacja napi wyjciowych dzielnika R2, R3 dla poszczeglnych stanw na wyjciach bramek U2A i U2B
Wyjcie Wyjcie
U2A
U2B
Napicie na wyjciu dzielnika napiciowego R2 R3
74HCT14 74HCT14

Stan

0,7 V przewodzi dioda D1

Impuls synchronizacji

2,5 V nie przewodzi D1 i D2

Czarne to

Przewodz D1 i D2, napicie wyjciowe jest uzalenione od charakterystyki wyjciowej bramek U2A i U2B

2,93...3,1V przewodzi dioda D2

Rys. 4. Schemat montaowy konsoli


zawodnikw ataku. Pocztkowo przewidywano
niezalen animacj ruchw bramkarza, zawodnikw linii obrony i zawodnikw linii ataku, ktrzy
mogliby by sterowani oddzielnymi algorytmami.
Ostatecznie kada z druyn przyjmuje 9 pozycji,
ktre s osigalne dla druyny B poprzez manipulacj przyciskami od P1 do P4, a dla druyny
A poprzez algorytm sterujcy przemieszczaniem
si caego zespou zawodnikw.
Sporo czasu wymagaa rwnie optymalizacja
programu wynikajca z ogranicze czasowych.
Przykadowo mnoenie MUL AB jest instrukcj
czterocyklow i trwa 2 ms przy zegarze 24 MHz.
Mnoenie liczby A przez 3 (szeroko w bajtach
pamici ekranu) zostao zastpione dodawaniem
3*A=A+A+A wykonywanym przez 3 instrukcje 1cyklowe (MOV przesanie bajtu do rejestru
A i ADD dodanie bajtu do rejestru A, kada z tych
instrukcji wykonuje si tylko przez 0,5 ms).

Monta i uruchomienie
Schemat montaowy konsoli przedstawiono na rys. 4. Ukad jest na tyle prosty, e nie
wymaga specjalnego komentarza. Po prawidowym przylutowaniu elementw dziaa od razu
po wczeniu zasilania. Trzeba jednak pamita
o wczeniejszym zaprogramowaniu mikrokontrolera. Autor udostpni wersje oprogramowania, ktre powstaway w kolejnych etapach
pracy nad projektem (zamieszczamy je na CD).
Ostatecznie mikrokontroler naley zaprogramowa wersj Pikarzyki_ver10.hex. Niestety ze
wzgldu na brak interfejsu mikrokontroler musi
by programowany poza ukadem w zewntrznym programatorze.

Artur Bieliski

Biay punkt

Rys. 3. Organizacja pamici ekranu, obszar wywietlania punktacji meczu: 24x6, obszar wywietlania obrazw gracznych i animacji: 24x22
ELEKTRONIKA PRAKTYCZNA 12/2008

41

Vous aimerez peut-être aussi

  • Podwójny Woltomierz I Amperomierz
    Podwójny Woltomierz I Amperomierz
    Document4 pages
    Podwójny Woltomierz I Amperomierz
    netzeh
    100% (1)
  • AVT3500
    AVT3500
    Document5 pages
    AVT3500
    netzeh
    100% (1)
  • AVT1919
    AVT1919
    Document2 pages
    AVT1919
    netzeh
    100% (2)
  • AVT1474
    AVT1474
    Document4 pages
    AVT1474
    netzeh
    100% (1)
  • AVT2550
    AVT2550
    Document21 pages
    AVT2550
    netzeh
    100% (1)
  • AVT1593
    AVT1593
    Document1 page
    AVT1593
    netzeh
    100% (1)
  • AVT1462
    AVT1462
    Document4 pages
    AVT1462
    netzeh
    100% (1)
  • AVT5311
    AVT5311
    Document12 pages
    AVT5311
    netzeh
    100% (1)
  • AVT1661
    AVT1661
    Document4 pages
    AVT1661
    netzeh
    100% (1)
  • AVT5468
    AVT5468
    Document9 pages
    AVT5468
    netzeh
    100% (1)
  • AVT1683
    AVT1683
    Document2 pages
    AVT1683
    netzeh
    100% (1)
  • AVT1770
    AVT1770
    Document2 pages
    AVT1770
    netzeh
    100% (1)
  • AVT5459
    AVT5459
    Document3 pages
    AVT5459
    netzeh
    100% (1)
  • AVT5402
    AVT5402
    Document4 pages
    AVT5402
    netzeh
    100% (1)
  • AVT790
    AVT790
    Document2 pages
    AVT790
    netzeh
    100% (1)
  • AVT1709
    AVT1709
    Document1 page
    AVT1709
    netzeh
    100% (1)
  • AVTMOD10
    AVTMOD10
    Document2 pages
    AVTMOD10
    netzeh
    100% (1)
  • AVT5468
    AVT5468
    Document9 pages
    AVT5468
    netzeh
    100% (1)
  • AVT1618
    AVT1618
    Document4 pages
    AVT1618
    netzeh
    100% (1)
  • AVT3111
    AVT3111
    Document4 pages
    AVT3111
    netzeh
    100% (1)
  • AVT987
    AVT987
    Document4 pages
    AVT987
    netzeh
    100% (1)
  • AVT1695
    AVT1695
    Document1 page
    AVT1695
    netzeh
    100% (1)
  • AVT2861
    AVT2861
    Document6 pages
    AVT2861
    netzeh
    100% (1)
  • AVT1870
    AVT1870
    Document4 pages
    AVT1870
    netzeh
    100% (1)
  • AVT736
    AVT736
    Document3 pages
    AVT736
    netzeh
    100% (1)
  • AVT3103
    AVT3103
    Document5 pages
    AVT3103
    netzeh
    100% (1)
  • AVT1868
    AVT1868
    Document4 pages
    AVT1868
    netzeh
    100% (1)
  • AVT1867
    AVT1867
    Document2 pages
    AVT1867
    netzeh
    100% (1)
  • Napoleon
    Napoleon
    Document2 pages
    Napoleon
    Joanna Stańczuk
    Pas encore d'évaluation
  • Jaspers - Filozofia Egzystencji. Wybà R Pism
    Jaspers - Filozofia Egzystencji. Wybà R Pism
    Document468 pages
    Jaspers - Filozofia Egzystencji. Wybà R Pism
    blofeld
    Pas encore d'évaluation
  • Test A2
    Test A2
    Document6 pages
    Test A2
    Maria
    Pas encore d'évaluation
  • ESET Cennik
    ESET Cennik
    Document12 pages
    ESET Cennik
    Piotr Maslak
    Pas encore d'évaluation
  • Augermatic 2019
    Augermatic 2019
    Document119 pages
    Augermatic 2019
    Gregor
    Pas encore d'évaluation