Button box nasıl yapılır?

SefaBatuhan0

Kilopat
Katılım
5 Temmuz 2019
Mesajlar
38
Daha fazla  
Sistem Özellikleri
AMD 5 5600G
GİGABYTE RX580 8 GB
Asus Prime B450 MK-II
Samsung 860Evo 500GB
Crucial Ballistik 16GB 3200Mhz
600w Psu
Cinsiyet
Erkek
Arkadaşlar öncelikle merhaba.
Yeni G29 direksiyon seti aldım bunun için button box yapmak istiyorum. İnternette baktığım üzere 2 adet kart ile 1.Arduino 2.USB encoder ile yapılması mümkün. Bulunduğum yerde en hızlı şekilde temin edebileceğim Arduino olduğu için ondan yapmak istiyorum. YouTube üzerinden araştırdım ancak tam istediğim sonucu alamadım. Şu anda elimde Arduino Uno mevcut bununla yapmak mümkün ise yardımcı olur musunuz? Button box üzerine ekleyeceklerim.
Ayrıyeten elimde USB joystcik de var eski biraz eğer ondan da yapmak mümkün ise onu da kullanabilirim.

1 adet kontak anahtarı 0-1-2 konumlu.
2 adet cam açma kapatma için tuş yukarı aşağı hareket eden.
9 - 10 adet push button.
2 adet switch.
 
Kod:
const int button1 = 2;  // Button 1
const int button2 = 3;  // Button 2
const int switch1 = 4;  // Switch 1
const int switch2 = 5;  // Switch 2

void setup() {
  pinMode(button1, INPUT_PULLUP);
  pinMode(button2, INPUT_PULLUP);
  pinMode(switch1, INPUT_PULLUP);
  pinMode(switch2, INPUT_PULLUP);
  Serial.begin(9600);
}

void loop() {
  if (digitalRead(button1) == LOW) {
    Serial.println("Button 1 Pressed");
  }
  if (digitalRead(button2) == LOW) {
    Serial.println("Button 2 Pressed");
  }
  if (digitalRead(switch1) == LOW) {
    Serial.println("Switch 1 On");
  }
  if (digitalRead(switch2) == LOW) {
    Serial.println("Switch 2 On");
  }
}
 
Son düzenleyen: Moderatör:
Kod:
const int button1 = 2; // Button 1
const int button2 = 3; // Button 2
const int switch1 = 4; // Switch 1
const int switch2 = 5; // Switch 2

void setup() {
 pinMode(button1, INPUT_PULLUP);
 pinMode(button2, INPUT_PULLUP);
 pinMode(switch1, INPUT_PULLUP);
 pinMode(switch2, INPUT_PULLUP);
 Serial.begin(9600);
}

void loop() {
 if (digitalRead(button1) == LOW) {
 Serial.println("Button 1 Pressed");
 }
 if (digitalRead(button2) == LOW) {
 Serial.println("Button 2 Pressed");
 }
 if (digitalRead(switch1) == LOW) {
 Serial.println("Switch 1 On");
 }
 if (digitalRead(switch2) == LOW) {
 Serial.println("Switch 2 On");
 }
}

Tam anlamadım ama biraz daha açıklama yapar mısınız Uno kullanılarak yapılma şansı var mı veya dediğim gibi eski oyun konsolu USB'li onunla olur mu? Yardımcı olursanız çok sevinirim.
 
Bu kod, Arduino Uno üzerinde çalışan bir button box için temel bir örnek sunuyor. Bu button box, butonlar ve anahtarlar (switch) kullanarak çeşitli girişleri okur ve her bir girişin durumu hakkında bilgiyi seri monitöre yazdırır.



Kodun Açıklaması:

button1, button2, switch1, switch2: Bu değişkenler, dört farklı buton ve anahtarın bağlı olduğu pinleri temsil eder. Arduino'nun dijital pinlerine bağlı olan bu girişler, HIGH (açık) veya LOW (kapalı) değerini alır. Bu değerler butonun basılı olup olmamasına veya anahtarın açık/kapalı olmasına göre değişir.

pinMode(..., INPUT_PULLUP): Bu satır, giriş pinlerini "pull-up" modunda ayarlar. Pull-up, pinlerin doğal olarak HIGH olduğu, yani buton veya anahtar basılmadığı sürece pinlerin yüksek (1) olması anlamına gelir. Butonlar basıldığında bu pinler LOW (0) olur.

digitalRead(pin): Bu fonksiyon, belirtilen pinin durumunu okur ve HIGH veya LOW döndürür.

Serial.println(...): Bu satır, her bir butonun veya anahtarın durumu ile ilgili bilgiyi bilgisayarınıza veya Arduino'nun bağlı olduğu bir ekran üzerinden yazdırır.

Arduino Uno Kullanarak Yapma:

Bu proje, Arduino Uno ile yapılabilir. Arduino Uno, dijital pinlere sahip olduğu için bu tür girişleri okuyup işleyebilirsiniz. Kodun doğru çalışabilmesi için:



Butonlar ve anahtarlar doğru şekilde Arduino pinlerine bağlanmalıdır.

Arduino'nun USB kablosuyla bilgisayara bağlanarak, seri monitörde girişlerin durumu görüntülenebilir.

Eski Oyun Konsolu USB'si ile Yapılabilir Mi?

Eski bir oyun konsolunun USB joystick’ini kullanarak da benzer bir buton kutusu yapılabilir, ancak bunun için ek donanımlar gerekebilir:



Arduino ile Joystick bağlantısı: Eğer joystick USB bağlantılıysa, Arduino'nun USB portuna bağlamak için bir "USB Host Shield" gereklidir. Bu kart, Arduino'nun USB cihazlarıyla (joystick gibi) iletişim kurmasına olanak sağlar.

Joystick için Kodu Modifiye Etmek: Eski bir joystick’in butonlarını okuma ve Arduino’ya iletme için uygun kütüphaneler ve kod kullanmanız gerekecek.
 
Bu kod, Arduino Uno üzerinde çalışan bir button box için temel bir örnek sunuyor. Bu button box, butonlar ve anahtarlar (switch) kullanarak çeşitli girişleri okur ve her bir girişin durumu hakkında bilgiyi seri monitöre yazdırır.

Kodun açıklaması:

Button1, button2, switch1, switch2: Bu değişkenler, dört farklı buton ve anahtarın bağlı olduğu pinleri temsil eder. Arduino'nun dijital pinlerine bağlı olan bu girişler, hıgh (açık) veya Low (kapalı) değerini alır. Bu değerler butonun basılı olup olmamasına veya anahtarın açık/kapalı olmasına göre değişir.

Pinmode(... Input_pullup): Bu satır, giriş pinlerini "pull-up" modunda ayarlar. Pull-up, pinlerin doğal olarak hıgh olduğu, yani buton veya anahtar basılmadığı sürece pinlerin yüksek (1) olması anlamına gelir. Butonlar basıldığında bu pinler Low (0) olur.

Digitalread(pin): Bu fonksiyon, belirtilen pinin durumunu okur ve hıgh veya Low döndürür.

Serial. Println(...): Bu satır, her bir butonun veya anahtarın durumu ile ilgili bilgiyi bilgisayarınıza veya Arduino'nun bağlı olduğu bir ekran üzerinden yazdırır.

Arduino Uno kullanarak yapma:

Bu proje, Arduino Uno ile yapılabilir. Arduino Uno, dijital pinlere sahip olduğu için bu tür girişleri okuyup işleyebilirsiniz. Kodun doğru çalışabilmesi için:

Butonlar ve anahtarlar doğru şekilde Arduino pinlerine bağlanmalıdır.

Arduino'nun USB kablosuyla bilgisayara bağlanarak, seri monitörde girişlerin durumu görüntülenebilir.

Eski oyun konsolu USB'si ile yapılabilir mi?

Eski bir oyun konsolunun USB Joystick'ini kullanarak da benzer bir buton kutusu yapılabilir, ancak bunun için ek donanımlar gerekebilir:

Arduino ile joystick bağlantısı: Eğer joystick USB bağlantılıysa, Arduino'nun USB portuna bağlamak için bir "USB host Shield" gereklidir. Bu kart, Arduino'nun USB cihazlarıyla (joystick gibi) iletişim kurmasına olanak sağlar.

Joystick için kodu modifiye etmek: Eski bir Joystick'in butonlarını okuma ve Arduino'ya iletme için uygun kütüphaneler ve kod kullanmanız gerekecek.

Az çok Arduino bilgim var lise zamanından. Size bir sorum daha var bu altta olan elemanlardan hangisini kullanmak daha mantıklı daha verimli.
Arduino Uno.
Arduino Leonardo
USB encoder (joystick kartı)
 

Technopat Haberler

Geri
Yukarı