Joypad (2005)
Ta pod-strona jest dokumentacją projektu, wykonanego przeze mnie w trzeciej klasie technikum telekomunikacyjnego, na przedmiot „układy cyfrowe”. Należało zbudować dowolny układ w oparciu o elementy cyfrowe. Zbudowałem ośmio-przyciskowy joypad podłączany do komputera poprzez port RS232.
Sprzęt
Joypad wykorzystuje flagi stanu transmisji szeregowej i nie wykorzystuje linii przesyłu danych. W tym standardzie transmisji mamy do dyspozycji dwie flagi wyjściowe (DTR, RTS) i cztery wejściowe (RTS, DSR, RING, RLSD). Flaga RTS została wykorzystana jako sygnał zegara, a DTR jako napięcie wychodzące na głośniczek / silniczek do wibracji. Flagi wejściowe zostały wykorzystane jako stany przycisków 1-4 lub 5-8 w zależności od stanu sygnału zegarowego.
Jako że sygnały cyfrowe w standardzie TTL znajdują się w zakresie od ok 0 – 5V a RS232 od -12V do +12V, zastosowałem dwa układy MAX232 do zamiany poziomów napięć (mogłem inny model MAX’a z inną ilością wejść/wyjść ale nie miałem pod ręką)
Oprogramowanie
Nie napisałem sterownika systemowego, jedynie bibliotekę obiektową w C++ którą można dołączyć do swoich programów.
tutaj powinien być applet javy. Java Runtime Environment 1.5.0.06Do pobrania:
Pliki są wyjęte z projektu Visual Studio C++ 2005.
W praktyce
Użyłem:
- układów: 2*MAX232 do zamiany napięć 0-5V na -12+12V, czyli z cyfrówki na standard RS232.
- trochę rezystorów i kondensatorów dla układów MAX232
- układy logiczne TTL: 7408, 7404, 7432 czyli bramiki AND, OR i negatory.
- wtyczka żeńska DB-9
- głośniczek pizoceramiczny
- płytka montarzowa
- osiem styczników
Krótki film prezentujący joypad: joypad.mpg
tutaj powinien być applet javy. Java Runtime Environment 1.5.0.06
Uklad prosciutki (bawilem sie takimi zabawkami w technikum :P)
A jesli chodzi o wykonanie, to chyba nie jest on zbyt uzyteczny. Warto by pomyslec jak upchnac go w jakas obudowe przyjazna dla ludzi :)
Generalnie bardzo fajna sprawa.
Pzdr.