18 Eylül 2015 Cuma

Joystick Bozuk Abi...

Merhabalar arkadaşlar
Hepimiz hemen hemen uzaktan kumandalı arabalarda kullandığı daha genel bir örnek için PlayStation oynarken yardımcı olan malzemeyi işleyeceğiz.

DataSheet













  • X-Y pinlerini analog bacakalara bağlamanız gerekiyor 
  • 0-1023 arası değer alıyorsunuz
  • X saldan sağa değer alıyor
  • Y yukarıdan aşağı değer alıyor
  • Geometrideki analetik sistem olarak düşünmemiz gerekmekte
  • Ortada durduğu zaman 0,0 orjinde bulunur
Şimdi yaptığım devreyi anlatmaya geçeyim

Kullanılacak Malzemeler

  • Arduino Geliştirme kartı
  • 4 adet led (Tercihen her biri farklı)
  • 1 adet Thumb Joystick
  • Deney Tahtası
  • Jumper Kablolar

Bağlantı Şeması



Kullanılacak Kodlar

int mavi=12;
int kir=13;
int yes=11;
int sari=10;
int yPin=A0;
int xPin=A1;
int buton=2;
int xPos=0;
int yPos=0;
int buttonDurum=0;

void setup() {
 pinMode(xPin, INPUT);
 pinMode(yPin, INPUT);
 pinMode(mavi, OUTPUT);
 pinMode(kir, OUTPUT);
 pinMode(yes, OUTPUT);
 pinMode(sari, OUTPUT);
 pinMode(buton, INPUT_PULLUP);
}
void loop() {
 xPos=analogRead(xPin);
 yPos=analogRead(yPin);
 buttonDurum=digitalRead(buton);
 if(yPos >600){
   digitalWrite(yes,HIGH);
   digitalWrite(sari,LOW);
   }
   else if(yPos<490){
     digitalWrite(sari,HIGH);
     digitalWrite(yes,LOW);}
 if(xPos > 600){
 digitalWrite(kir, HIGH);
 digitalWrite(mavi, LOW);
 }
 else if(xPos< 490){
 digitalWrite(kir, LOW);
 digitalWrite(mavi, HIGH);
 }
 if(buttonDurum==0){
  digitalWrite(kir, HIGH);
 digitalWrite(mavi, HIGH);
 digitalWrite(yes,HIGH);
 digitalWrite(sari,HIGH);
 }
 else{
   digitalWrite(kir, LOW);
 digitalWrite(mavi, LOW);
 digitalWrite(yes,LOW);
 digitalWrite(sari,LOW);
 }}

Fotoğraf ve Video