Arduino Devreleri #47 Arduino ve 2 Eksenli Joystick İle Led Kontrolü
Merhabalar, bu yazımızda Arduino ve 2 Eksenli Joystick İle Led Kontrolü hakkında bilgi vereceğim. 2 Eksenli XY Joystick ile sıralı led diyot yakma işlemi nasıl yapılır. Joystick üzerindeki buton ile tüm ledleri aynı anda nasıl çalıştırabiliriz? Bu soruların cevabını bu konuda işleyeceğiz.
Arduino programı ayrıntılı kod kısmı, devre bağlantı şeması, devre kurulumu detaylı anlatımı ve devre çalışma videosu şu şekildedir.
Bir önceki makalemizde 2 Eksenli Joystick modülü nedir? Nasıl çalışır? Joystick iç yapısı nasıldır? Joystick üzerindeki buton ne işe yarar? Joystick nerelerde kullanılır? sorularını görsellerle anlatmıştık. Bu konuyu okumadan önce bir önceki anlatıma aşağıdaki linkten göz atabilirsiniz.
NOT: Kod bölümü içerisinde yer alan ve // işareti ile başlayan satırlar açıklama satırlarıdır. O satırdaki kod bloğunun ne anlama geldiği ve nasıl çalıştığı ile ilgili bilgi verir. Arduino // işaretli alanı çalıştırmaz. Kod satırından isterseniz // işaret ile başlayan açıklama satırlarını silebilirsiniz.
İKİ EKSENLİ JOYSTİCK İLE LED KONTROLÜ
KOD BÖLÜMÜ:
//Joystick İle Led Yakma - Buton Aktif
int xPin = A1;
int yPin = A0;
int kled = 4; // Kırmızı Led
int sled = 5; // Sarı Led
int yled = 6; // Yeşil Led
int mled = 7; // Mavi Led
int butonPin = 3;
int Xdeger;
int Ydeger;
void setup()
{
pinMode(xPin, INPUT);
pinMode(yPin, INPUT);
pinMode(kled, OUTPUT);
pinMode(sled, OUTPUT);
pinMode(yled, OUTPUT);
pinMode(mled, OUTPUT);
pinMode(butonPin, INPUT_PULLUP);
}
void loop()
{
Xdeger = analogRead(xPin);
Ydeger = analogRead(yPin);
int buton = digitalRead(butonPin);
if (Xdeger < 10) { digitalWrite(kled, HIGH); } else { digitalWrite(kled, LOW); } if (Xdeger > 1000)
{
digitalWrite(sled, HIGH);
}
else
{
digitalWrite(sled, LOW);
}
if (Ydeger < 10) { digitalWrite(yled, HIGH); } else {digitalWrite(yled, LOW); } if (Ydeger > 1000)
{
digitalWrite(mled, HIGH);
}
else{digitalWrite(mled, LOW);
}
if (buton == LOW)
{
digitalWrite(kled, HIGH);
digitalWrite(sled, HIGH);
digitalWrite(yled, HIGH);
digitalWrite(mled, HIGH);
}
}
DEVRENİN ÇALIŞMASI:
Joystick kolunu X ekseni (yatay) ve Y ekseni konumunda sağa, sola, yukarı ve aşağı hareket ettirdiğimizde her harekette farklı bir led diyot yanacaktır. Joystick üzerindeki butona bastığımızda ise tüm ledler yanacaktır.
DEVRE BAĞLANTI ŞEMASI:
DEVRE KURULUMU:
Malzemeler:
Arduino Uno
1 adet 2 Eksenli XY Joystick Modülü
4 adet led diyot
5 adet bir ucu dişi, bir ucu erkek jumper kablo
6 adet iki ucu erkek jumper kablo
Joystick modülünün +5V. pinine jumper kablo bağlanarak kablonun diğer ucu breadboard alt sırasındaki (+) artı şeridine bağlanır. Joystick modülünün GND pinine jumper kablo bağlanarak kablonun diğer ucu breadboard alt sırasındaki (-) eksi şeridine bağlanır. Joystick modülünün vRx pinine jumper kablo bağlanarak kablonun diğer ucu, Arduino’nun A1 numaralı pinine bağlanır. Joystick vRy pinine jumper kablo bağlanarak kablonun diğer ucu, Arduino’nun A0 numaralı pinine bağlanır. Joystick SW pinine jumper kablo bağlanarak kablonun diğer ucu, Arduino’nun 3 numaralı pinine bağlanır.
Breadboard üzerine, eksi bacakları breadboard eksi şeridine gelecek şekilde 4 adet led diyot yerleştirilir. Led diyotların artı bacaklarına 220 ohm direnç bağlanır. Dirençlerin diğer uçları sırasıyla Arduino 4 – 5 – 6 ve 7 numaralı pinlerine bağlanır. Led diyotların bağlı olduğu eksi şeritten breadboard alt kısımdaki eksi şeride bir kablo ile bağlantı yapılır.
Breadboard artı şeridine kablo bağlanarak Arduino’nun +5 Volt pinine, breadboard eksi şeridine kablo bağlanarak Arduino’nun GND pinine bağlanarak devre tamamlanır.
Arduino ve 2 Eksenli Joystick İle Led Kontrolü
Devre hakkında yorumlarınızı aşağıdaki yorum kısmına yazabilirsiniz. Youtube kanalımızda da mBlock ve Arduino ile ilgili ders videoları bulabileceksiniz. Youtube kanalıma abone olmayı da unutmayınız.
https://www.youtube.com/@candemirahmet
Yorum Yap