KKM: JOYSTICK MODUL PS2

KKM: JOYSTICK MODUL PS2-Uncategorized

Početnik si s Dasduinom. 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 tvrtke soldered 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 Dasduinom te osnovni kod. Sve ostalo prepuštamo tebi na maštu.

UVOD

PS2 joystick je još jedan vrlo jednostavan ulazni modula za Dasduino. 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 DASDUINOM?

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 Dasduina.

S-X – A0 analogni pin Dasduina
S-Y – A1 analogni pin Dasduina
S-k – digitalni PIN6 Dasduina
Vcc – +5V
GND – gnd

 

ARDUINO KOD

///////////////////////////////////////////////////////////////////////////////
/*                                                                           */
/*                                                                           */
/* techsupport@e-radionica.com                                                        */
/*                                                                           */
/* 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);
 
}