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.
0 Yorumlar