Drążek sterowy przekazuje do komputera ruchy ręki gracza i pozwala całkowicie skoncentrować się na obrazie telewizyjnym. Posługiwanie się nim jest bardzo proste, wychylenie drążka w odpowiednim kierunku powoduje identyczny ruch kierowanego obiektu na ekranie telewizora. Ruch ten może odbywać się ośmiu podstawowych kierunkach (rys. 1). Oprócz tego każdy drążek sterowy posieda osobny przycisk pozwalający na włączanie dodatkowych czynności.
Ponieważ drążek sterowy zazwyczaj nie wchodzi w podstawowe wyposażcie mikrokomputera, podajemy sposób zbudowania go we własnym zakresie. Rozwiązanie zastosowane przeze mnie jest jednym z możliwych wariantów, a jego zaletą jest prostota konstrukcji.
Do budowy drążka sterowego potrzebne Ci będą:
- obudowa o wymiarach pozwalających na wygodne uchwycenie w dłoni (np. obudowa radiotelefonu)
- pięć miniaturowych astabilnych przełączników (np. PZG 3 lub DZG 1)
- rękojeść
- płyta montażowa
- gęsto nawinięta, mocna spreżyna o możliwie małej średnicy zwoju
- przewód sześciożyłowy
- odpowiednie gniazdko służące do połączenia drążka sterowego z komputerem (np. Eltra 881).
Po zgromadzeciu ww. elementów możemy przystąpić do montażu.
Konstrukcja przegubu
Istotą rozwiązania jest zastosowanie jako przegubu i równocześnie mechanizmu cofającego drążek do położenia neutralnego jednej, pionowo osadzonej sprężyny (podobnie jak zamoc-owane są figurki graczy w popularnym „footballu" dla dzieci). Sprężynę możemy zamocować na przyklejonej (klejem o dużej wytrzymałości mechanicznej np. „Epidianem") do płytki montażowej pinezce lub śrubce przykręconej do płytki. Otrzymujemy w ten sposób sprężysty przegub, do którego możemy zamocować rękojeść. W mojej konstrukcji wykorzystałem ołówek automatyczny. Średnica sprężyny była na tyle mała, że mogłem ją wsunąć w otwór służący normalnie do mocowania grafitu, otrzymując mocne osadzenie rączki (rys. 2). Można wykonać rękojeść z odpowiednio wyprofilowanego drewna i w dolnej części wywiercić otwór do którego należy wkręcić wolny koniec sprężyny.
Kolejnym etapem pracy będzie mocowanie przełączników
Ich układ przedstawia rys. 3. Maszą być usta wione w ten sposób, by niewielkim ruchem drążka można było uruchomić bądź jeden z przełączników, bądź też równocześnie dwa sąsiadujące ze sobą. Aby można było wygodnie i precyzyjnie manipulować drążkiem, przełącz niki należy umieścić nieco ponad płytką mon tażową na kawałku sklejki. Sposób zamocowania przełączników wraz z dodatkowym przyciskiem pokazano na rys. 4. Na tym samym rysunku przedstawiono również montaż płytki z przełączinikiem w obudowie radiotelefonu „Trop". W górnej części obudowy należy wywiercić odpowiednie otwory na drążek sterowy i przycisk.
Pozostaje nam już tylko
wykonanie połączeń elektrycznych
Cześć mikrokomputerów posiada specjalne wtyki umożliwiające przyłączenie jednego lub dwóch drążków sterowych (np. Atari, Commodore), do pozostałych niezbędny) jest odpowiedni interfejs. Standardowy wtyk połączeniowy zawiera 9 bolców, z których 6 wykorzystujemy do sterowania (rys. 5). Przesunięcie obiektu w wybranym kierunku osiągamy zwierając odpowiednie wyjścia z masą (oczywiście dodatkowo musimy dysponować odpowiednim programem) np.: zwierając wyjścia 1 i 8 otrzymujemy przesunięcie pionowe w górę (północ), a zwierając wyjścia 1 i 3 otrzymujemy przesunięcie poziomo w lewo (zachód). Kierunki pośrednie (o ile zostały uwzględnione w programie) otrzymujemy zwierając równocześnie dwa wyjścia z masą, np. — zwarcie wyjść 1 i 3 z wyjściem nr 8 daje nam przesunięcie na ukos w lewo i w górę (północny zachód).
Schemat połączeń elektrycznych układu przedstawia rys. .6. Przełączniki I, II, III i IV służą do poruszania obiektu po ekranie (w kierunkach zaznaczonych na rysunku) a przełącznik nr V — do włączania innych czynności.
Po wykonaniu połączeń możemy przystąpić do przetestowana drążka sterowego. Poniżej podaję przykład programu na mikrokomputer Commodore VC-20 umożliwiający sprawdzenie działania naszego urządzenia. Po podłączenia drążka sterowego na ekranie będą pojawiać się cyfry odpowiadające poszczególnym położeniom drążka:
- położenie neutralne — 8
- północny zachód — 7
- zachód— 6
- południowy zachód — 5
- południe — 4
- południowy wschód — 3
- wschód — 2
- północny wschód — 1
- północ — 0
W momencie naciśnięcia przycisku "ogniowego" na ekranie pojawi się napis "STRZAŁ":
0 DIM SK(2,2): D1=37139: D2=37154 1 POKE D1,0 2 PA=37137: PB=37152 3 FOR I=0 TO 2: FOR J=0 TO 2: READ SK (J,I): NEXT J,I 4 DATA 7,0,1,6,8,2,5,4,3 10 GOSUB 9500 20 CC=SK(x+1,y+1) 30 PRINT CC 40 IF FR= 1 THEN PRINT "strzal" 50 GOTO 10 9500 POKE D2,127: S3 =-((PEEK(PB) AND 128)=0) 9510 P = PEEK(PA): S1 =-((P AND 8)=0): S2 =((P AND 16)=0): S0=((P AND 4)=0) 9520 FR=-((P AND 32)=0): x = S2+S3: y = S0+S1 9530 print CHR$(147): RETURN
Dobrej zabawy!
Od redakcji
Popularny w Polsce ZX SPECTRUM nie ma — niestety — możliwości bezpośredniego podłączenia drążka sterowego, niezbędne jest więc zastosowanie interface'u. Pozwala on na współpracę komputera z dwoma drążkami.
Programy dla joysticków bywają zwykle układane z zastosowaniem kodu maszynowego, jednakie istnieje możliwość pisania ich w BASIC-u. Drążki spełniają identyczne funkcje co najwyższy rząd klawiszy. Zależność jest następują:
klawisz 1 = drążek 3 w lewo
klawisz 2 = drążek 2 w prawo
klawisz 3 = drążek 2 w dół
klawisz 4 = drążek 2 w górę
klawisz 5 = drążek 2 przycisk dodatkowy
klawisz 6 = drążek 1 w lewo
klawisz 7 = drążek 1 w prawo
klawisz 8 = drążek 1 w dół
klawisz 9 = drążek 1 w górę
klawisz 10 = drążek 1 przycisk dodatkowy
Pozycja drążka może być odczytywana za pomocą instrukcji: INKEY$
Wynika stąd pewna niedogodność: wyrażenie INKEY$ będzie jednocześnie przyjmowało wartości przyporządkowane tylko jednemu klawiszowi, a wiec np. nie będzie możliwe przesłanie polecenia "w górę" i "strzał" równocześnie.
Alternatywnym — i bardziej sensownym — sposobem tworzenia programów z użyciem joysticków będzie użycie funkcji:
IN 61438 (odczytuje pozycje drążka I) IN 63436 (odczytuje pozycje drążka II)
Przedstawiony poniżej program pozwala na rysowanie na ekranie monitora dowolnych kształtów poprzez odpowiednie poruszanie drążkiem. Naciśnięcie przycisku dodatkowego powoduje zniknięcie rysującego punktu. Będzie się on poruszał nadal, tak jak dotychczas, a ukaże się w chwili zwolnienia przycisku.
10 LET x=0: LET y=80 20 GOSUB 1000 30 IF rys=1 THEN PLOT x,y 40 GO TO 20 1000 LET a=IN 61438 1010 IF a>127 THEN LET a=a—128 1020 IF a>63 THEN LET a=a—64 1030 IF a>31 THEN LET a=a—32 1040 IF a>15 THEN LET a=a—16:IF x<255 THEN LET x=x+1 1050 IF a>7 THEN LET a=a—8:IF x>0 THEN LET x=x—1 1060 IF a>3 THEN LET a=a—4:IF y<175 THEN LET y=y+1 1070 IF a>1 THEN LET a=a—2:IF y>0 THEN LET y=y-1 1080 LET rys=a 1090 RETURN
O tym, jakie wartości przyjmują wyrażenia IN 61438 oraz IN 63486 możecie się przekonać sami, analizując działanie podanego programu. Możecie też zapytać o to Waszego komputera — wystarczą trzy instrukcje.
TOMASZ LISOŃ