- Vidi Project X #88: Tipkovnica na VIDI-X mikroračunalu
- Protokol PS/2
- Komunikacija od tipkovnice prema računalu
- Komunikacija od računala prema tipkovnici
- PS/2 tipkovnica
- USB tipkovnica
- Shema spajanja PS/2 konektora uz pomoć otpornika
- Shema spajanja PS/2 konektora uz pomoć Logic level converter
- Igra Tetris
- Alternativni library PS/2 tipkovnice
- Što ste naučili iz ovog How To članka?
Igra Tetris
Kako bismo vam pokazali i primjer korištenja tipkovnice u postojećoj igri napisanoj za Odroid-Go konzolu koja je kompatibilna s Vidi X mikroračunalom, morat ćete minimalno modificirati postojeći kôd. Igru Tetris pronađite u izborniku
Primjeri --> ODROID-GO --> Applications --> Tetris
Naravno, imate je instaliranu ako ste slijedili naše ranije how to članke. Ako niste, kako biste dobili Tetris unutar Arduino IDE razvojnog sučelja, slijedite upute za instalaciju Odroid-Go libraryja na linku https://vidilab.com/vidi-project-x/4714-vidi-project-x-arduino-ide
Nakon što su Odroid-Go library i library tipkovnice instalirani, a vi ste pronašli primjer Tetris igre i otvorili ga u Arduino programskom okruženju, napravite sljedeće modifikacije kôda kako biste upravljanje s tipki Vidi X-a prebacili na tipke tipkovnice.
Morali smo modificirati funkciju
bool KeyPadLoop()
kako bismo preusmjerili upravljanje s tipki VIDI X-a na tipke tipkovnice.
Naravno da smo na sami početak dodali kôd za učitavanje i inicijalizaciju tipkovnice. Ovdje moramo spomenuti na koje pinove smo spojili data i clock linije. Promijenite li pinove u kôdu, morat ćete promijeniti i ožičenje prema tim pinovima, no neki možda neće radti:
#include <PS2Kbd.h>
#define KEYBOARD_DATA 32
#define KEYBOARD_CLK 33
PS2Kbd keyboard(KEYBOARD_DATA, KEYBOARD_CLK);
Zatim smo u funkciju void setup() dodali
keyboard.begin();
kako bismo sada mogli u funkciji bool KeyPadLoop() dodati kôd za očitavanje: je li stisnuta tipka A, D ili W.
bool KeyPadLoop(){
if (keyboard.available()) {
char key=keyboard.read();
Serial.write(key);
ClearKeys();
switch (key) {
case ‘w’:
but_A =true;return true;
break;
case ‘a’:
but_LEFT = true;
break;
case ‘d’:
but_RIGHT = true;
return true;
break;
}
return true;
}
return false;
}
Radi lakšeg pokretanja igre Tetris, izbacili smo i dvije linije kôda zadužene za učitavanje pozadinske slike s SD kartice, a koje glase:
// M5.Lcd.drawJpgFile(SD, “/tetris.jpg”); // Load background from SD
// GO.lcd.drawJpg(tetris_img, 34215);
Gotovi kôd igre Tetris za upravljanje s PS/2 tipkovnicom možete pronaći na GitHub kanalu vidilaba na adresi https://github.com/VidiLAB-com/Vidi-X