Arduino ile Chrome Dinozor Oyunu (Proje Örnekleri-3)

Arduino ile LDR ve Servo Motor ile Chrome Dinozor Oyunu Kontrolü

Arduino ile LDR ve Servo Motor ile Chrome Dinozor Oyunu Kontrolü

1. Giriş

Bu projede, **LDR** sensörünü kullanarak **Chrome Dinozor** oyununu **servo motor** ile kontrol edeceğiz. LDR, ışık seviyesine göre değişen bir dirençtir ve Arduino'ya bağlıdır. Servo motor, ışık seviyesi belirli bir eşik değeri geçtiğinde bilgisayarın klavye tuşuna basmayı simüle edecek. Bu sayede çevresel ışık değişimlerine göre Dinozor'un zıplamasını sağlayacağız.

2. Gerekli Bileşenler

  • Arduino kartı (Arduino Uno veya diğer modeller)
  • LDR sensörü (Işığa bağlı direnç)
  • 10kΩ direnç (LDR için pull-down direnci)
  • Servo motor (Klavye tuşuna basma işlevi için)
  • Jumper kablolar
  • Bilgisayar ve Arduino IDE
  • Google Chrome Tarayıcı (Dinozor oyununu oynayabilmek için)

3. LDR ve Servo Motor Bağlantıları

LDR ve servo motoru Arduino'ya bağlamak için aşağıdaki bağlantıları yapmanız gerekmektedir:

  • LDR -> Arduino A0 (Analog pin)
  • 10kΩ direnç -> LDR'nin GND pinine bağlanacak şekilde
  • VCC -> Arduino 5V
  • GND -> Arduino GND
  • Servo motor -> Arduino Pin 9 (PWM pin)

LDR'nin bir ucu Arduino 5V'a, diğer ucu ise A0 pinine bağlanacak. Servo motorun sinyal pini ise Arduino'nun 9 numaralı PWM pinine bağlanacak.

4. Arduino Kodlaması

Arduino'nun görevi, LDR'den alınan veriye göre servo motoru hareket ettirmek olacak. LDR'nin okuduğu ışık seviyesi belirli bir eşiği geçtiğinde, servo motor hareket edecek ve klavye tuşuna basma işlemi simüle edilecek.

Kod Örneği


#include 

const int LDRPin = A0;   // LDR'nin bağlı olduğu analog pin
int LDRValue = 0;         // LDR'nin okunan değeri

Servo myServo;           // Servo motoru tanımla

void setup() {
  myServo.attach(9);      // Servo motoru 9 numaralı pinle bağla
  Serial.begin(9600);     // Seri haberleşmeyi başlat
}

void loop() {
  LDRValue = analogRead(LDRPin);  // LDR değerini oku

  // LDR değeri belirli bir eşikten fazla olursa
  if (LDRValue > 500) {
    myServo.write(90);  // Servo motoru 90 dereceye hareket ettir
    Serial.println("Zıpla!");  // Arduino'dan "Zıpla!" mesajı gönder
    delay(500);   // Servo motoru hareket ettikten sonra kısa bekleme
    myServo.write(0);  // Servo motoru eski konumuna getir
  }

  delay(100);  // 100ms gecikme
}
    

Bu kodda, LDR'nin değeri belirli bir eşik değeri olan **500**'ü geçtiğinde, servo motoru 90 dereceye hareket ettiriyoruz ve **"Zıpla!"** mesajını gönderiyoruz. Servo motorun bu hareketi, bilgisayarın klavyesine **space tuşuna basmayı** simüle edecektir. Ayrıca, hareket ettikten sonra servo motor eski konumuna geri dönecek.

5. Chrome Dinozor Oyunu

Bu projede, **Chrome Dinozor oyununu** oynarken, Arduino'nun servo motoru sayesinde tuş basma işlemi yapılacak. Ancak bu kez, klavye tuşu basma işlemi, servo motor ile simüle edilecek.

6. Sonuç

Bu projede, **LDR (Light Dependent Resistor)** sensörünü ve **servo motoru** kullanarak çevresel ışık değişimlerine bağlı olarak **Chrome Dinozor** oyununda zıplama işlemini tetikledik. Arduino, LDR'den gelen veriyi okuyarak servo motoru hareket ettirdi ve klavye tuşuna basma simülasyonu gerçekleştirdi. Böylece, fiziksel bir sensör kullanarak bir bilgisayar oyununu kontrol etmiş olduk.

Yorum Gönder

0 Yorumlar