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);
}}
Hiç yorum yok:
Yorum Gönder