0
Bu yazıyı " < 1 " dakikadan kısa bir zamanda okuyabilirsiniz. 🙂

Arduino projelerinde joystickler, kullanıcı etkileşimi ve kontrol sağlamak için idealdir. Bu yazıda, Arduino ile joystick kullanarak iki servo motoru nasıl kontrol edebileceğinizi öğreneceksiniz. Joystickin X ve Y eksenlerindeki hareketlerini kullanarak servo motorların açılarını ayarlayacağız.

Gerekli Malzemeler:

  • Arduino Uno (veya benzeri bir Arduino kartı)
  • Breadboard
  • Joystick modülü (örneğin, KY-023)
  • 2 adet servo motor
  • Jumper kablolar

Devre Kurulumu:

  1. Joystick modülünü Breadboard’a yerleştirin: Modülün 5 pini vardır: Vcc (güç), GND (toprak), VRx (X ekseni), VRy (Y ekseni) ve SW (buton).
  2. Modülün güç ve toprak bağlantılarını yapın: Vcc pinini Arduino’nun 5V pinine, GND pinini GND pinine bağlayın.
  3. Joystickin X ve Y eksenlerini bağlayın: VRx pinini Arduino’nun analog pinlerinden birine (örneğin A0), VRy pinini başka bir analog pine (örneğin A1) bağlayın.
  4. Servo motorları bağlayın: Servo motorların güç, toprak ve sinyal bağlantılarını önceki servo motor yazılarında olduğu gibi yapın. Örneğin, bir servo motorun sinyal pinini 9. pine, diğer servo motorun sinyal pinini 10. pine bağlayabilirsiniz.

Kodlama:

  1. Arduino IDE’sini açın ve yeni bir proje oluşturun.
  2. Servo kütüphanesini ekleyin: “Araçlar” > “Kütüphane Yöneticisi” seçeneğini kullanarak Servo kütüphanesini arayın ve yükleyin.
  3. Aşağıdaki kodu proje penceresine yazın:
#include <Servo.h> 

Servo servoX;  // X ekseni servo motoru
Servo servoY;  // Y ekseni servo motoru

int joyXPin = A0;  // Joystick X ekseni pin
int joyYPin = A1;  // Joystick Y ekseni pin

int joyXValue, joyYValue;
int servoXAngle, servoYAngle;

void setup() {
  servoX.attach(9);  // X ekseni servo motorunu 9. pine bağlayın
  servoY.attach(10); // Y ekseni servo motorunu 10. pine bağlayın
}

void loop() {
  // Joystick değerlerini okuyun
  joyXValue = analogRead(joyXPin);
  joyYValue = analogRead(joyYPin);

  // Joystick değerlerini servo açılarına dönüştürün (0-180 derece)
  servoXAngle = map(joyXValue, 0, 1023, 0, 180);
  servoYAngle = map(joyYValue, 0, 1023, 0, 180);

  // Servo motorları kontrol edin
  servoX.write(servoXAngle);
  servoY.write(servoYAngle);

  delay(15); // Servo motorların hareket etmesi için zaman tanıyın
}
  • Kodu Arduino’ya yükleyin.

Sonuç:

Kod yüklendikten sonra, joysticki hareket ettirerek servo motorların açılarını kontrol edebilirsiniz. Joystickin X ekseni, bir servo motorun açısını, Y ekseni ise diğer servo motorun açısını kontrol edecektir.

Bu projede, joystick ile iki servo motorun kontrolünü yapmayı ve analog değerleri servo açılarına dönüştürmeyi öğrendiniz.

Geliştirmeler:

  • Joystick butonunu kullanarak servo motorların hareketini başlatın veya durdurun.
  • Servo motorların hareket hızını kontrol edin.
  • Joystick ile bir robot kolunu veya pan-tilt mekanizmasını kontrol edin.
Ahmet Kemal YILDIZ
Eskişehir Osmangazi Üniversitesi Bilgisayar ve Öğretim Teknolojileri Öğretmenliği mezunu bir Bilişim Teknolojileri ve Yazılım Dersi Öğretmeniyim. Bilişim Teknolojileri ve Yazılım dersi ile ilgili ders etkinlikleri, kaynak materyaller, örnek etkinlikler ve ilgi duyduğum birçok konu hakkında vakit buldukça buradan blogluyorum. :)

    Çocuklar İçin Unplugged(Bilgisayarsız) Kodlama Araçları

    önceki yazı

    11# – Arduino Sıcaklık ve Nem Sensörü (DHT11/DHT22) Kullanımı

    Sonraki Yazı

    Bu Yazılar da İlgini Çekebilir!

    Yorumlar

    Yorum yap

    E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

    Daha Arduino