KKM: JOYSTICK MODUL PS2

Početnik si s Croduinom. Ili s elektronikom? Za oko ti je zapeo određeni modul, ali ne znaš kako ga koristiti? Bez brige, tu je KKM! Kako Koristiti Module (KKM) je serija blog tutorijala e-radionice na kojoj ćeš pronaći sve što ti treba kako bi započeo rad sa svojim omiljenim modulom. Tutorijali obuhvaćaju: tehničke karakteristike, princip rada, upute kako povezati modul s Croduinom te osnovni kod. Sve ostalo prepuštamo tebi na maštu.
UVOD
PS2 joystick je još jedan vrlo jednostavan ulazni modula za Croduino. Daje nam analogna očitanja X i Y smjera, ujedno i kut, te digitalno očitanje tipkala. Modul je optimalno rješenje za navigaciju izbornika, upravljanje robota ili igranje igrica. Ovaj tutorial možete koristi i s modulom kojeg ste “izvadili” iz starog PS2 joysticka.
KARAKTERISTIKE:
Napon: 5V
Dimenzije: 35 x 35 x 35mm
OSNOVNI PRINCIP RADA
Modul na sebi ima dva potenciometra koji se pomiču ovisno o tome kako pomičemo gljivicu na joysticku. Jedan je povezan s osi x, a drugi s osi y. Uzmimo za primjer os x: ako gljivicu pomaknemo do kraja u lijevo, potenciometar ce nam davati očitanje bliže groundu. Ako idemo u desno, ocitanje ce biti bliže naponu na kojega smo spojili modul. Naravno, sama su očitanja analogna(dobivamo vrijednost 0-1023) te je moguće precizno odrediti poziciju gljivice. Tipkalo radi na principu da šalje HIGH (1) kada je neaktivno i LOW (0) kada je tipkalo aktivno. To znači da tipkalo ima ugrađen pull-up otpornik.
Ono što stvara analogne vrijednosti su dva potenciomentra smještena ispod dijela na kojem se nalazi gljivica joysticka. Struja teče kroz oba, a izlazni napon će ovisiti o količini otpora koju daju potenciometri. Otpor se smanjuje ili povečava ovisno o položaju joysticka. Promatrajući oba potenciometra, ovaj joystick može odrediti točan kut pod kojim se nalazi.
KAKO POVEZATI MODUL S CRODUINOM?
Modul ima ukupno 9 pin-ova, ne moramo koristiti sve. Svaki smjer, tipkalo ima svoje GND i Vcc pin-ove, dovoljno je
da samo jedan Vcc i jedan GND spojimo na iste Croduina.
S-X – A0 analogni pin Croduina
S-Y – A1 analogni pin Croduina
S-k – digitalni PIN6 Croduina
Vcc – +5V
GND – gnd
ARDUINO KOD
///////////////////////////////////////////////////////////////////////////////
/* */
/* */
/* (c) e-radionica.com 2015 - http://www.e-radionica.com/licenca */
/* [email protected] */
/* */
/* Kod prikazuje polozaj x i y smjera, te aktivaciju tipke */
/* PS2 JOYSTICK na CROduino - KKM tutorial */
///////////////////////////////////////////////////////////////////////////////
int
x = A0;
//S-X s modula na analogni pin A0 Croduina
int
y = A1;
//S-Y s modula na analogni pin A1 Croduina
int
tipka = 6;
//S-K s modula na digitalni PIN6 Croduina
//dovoljno je spojiti po jedan Vcc i GND s modula na Croduino
int
pauza = 0;
// pauza izmedju ocitanja u milisekundama
int
pp, vrijednostX, vrijednostY;
void
setup
() {
pinMode
(x,
INPUT
);
//definiram varijable kao ulazne parametre
pinMode
(y,
INPUT
);
//nije nuzno analogne input pinove Croduina definirati kao INPUT u pinMode f-ji
pinMode
(tipka,
INPUT
);
Serial.begin(9600);
// zapocinjem serijsku komunikaciju
}
void
loop
() {
vrijednostX =
analogRead
(x);
// citam analogne vrijednosti
vrijednostY =
analogRead
(y);
pp !=
digitalRead
(tipka);
// spremi LOW kao HIGH, i obratno
Serial.print(
"X= "
);
// ispisujemo analogna ocitanja Serial Monitoru
Serial.print(vrijednostX);
Serial.print(
" |Y= "
);
Serial.print(vrijednostY);
Serial.print(
" |push= "
);
Serial.println(pp);
delay
(pauza);
}