İçindekiler:

Kablosuz PC Joystick/Tekerlek Düğmeleri: 4 Adım (Resimlerle)
Kablosuz PC Joystick/Tekerlek Düğmeleri: 4 Adım (Resimlerle)

Video: Kablosuz PC Joystick/Tekerlek Düğmeleri: 4 Adım (Resimlerle)

Video: Kablosuz PC Joystick/Tekerlek Düğmeleri: 4 Adım (Resimlerle)
Video: 350 TL ye Forza Horizon 5 oynatan pc toplama (Polosmart PSG05 Dualshock 4 + tws i12 Airpords) 2024, Kasım
Anonim
Kablosuz PC Joystick/Tekerlek Düğmeleri
Kablosuz PC Joystick/Tekerlek Düğmeleri

Son birkaç yıldır yeni bir yarış simülasyonu yapıyorum ve bir DIY Direct Drive direksiyon simidi kullanmaya karar verdim. Tek başına bu proje kendi içinde birkaç talimat olabilirken, bu, tekerlek üzerindeki tüm düğmeleri kablosuz hale getirme konusunda bir talimattır.

Niye ya?

  • DD çarkının sınırsız dönüşü vardır, bu nedenle ona giden kabloların olması can sıkıcı olurdu.
  • Ticari tekerleklerde olduğu gibi kabloları tekerlek mili üzerinden yönlendirme yeteneği yok
  • Farklı düğme konfigürasyonlarıyla tekerlekleri kolayca değiştirebilmek istedim
  • Çünkü yapabildim:)

Kablosuz düğmelerin hedefine ulaşmak için şunları göz önünde bulundurmamız gerekir:

  • Güç dağıtımı
  • Kablosuz bağlantı
  • Reaksiyon süresi/gecikme
  • Güvenilirlik

Aşağıdaki bileşenler bu kritere uyacak şekilde seçilmiştir: Tx - Burada Entegre NRF24 Modüllü Arduino Nano veya bir Genel Nano veya Pro Mini + NRF24 Modülü kullanınRx - Arduino Pro Micro / Leonardo / Beetle (Atmega32u4) + NRF24 modülüUSB 'Battery Bank' - Herhangi genel tek 18650 pil bankası çalışmalıdır. Bu yaklaşık 20 saat sürecek! Yine de, aynı anda hem şarj edip hem de güç sağlayıp sağlayamayacağını kontrol etmek isteyebilirsiniz. Bu, düz çalışıyorsa ve aynı anda şarj etmek ve kullanmak istiyorsanız kullanışlıdır.

Ek olarak, düğmelere ve seçtiğiniz bir güç anahtarına, bir miktar bağlantı kablosuna ve muhtemelen bir miktar ısıyla daralan boruya ihtiyacınız olacak.

Bu aynı zamanda bir tekerlek yerine bir 'düğme kutusunda' da kullanılabilir ama hareket etmezse pek bir avantajı olmayacağından buna daha az talep olacağını düşündüm.

Gerekli araçlar:

Havya ve lehimSıcak tutkal tabancası, parçaları monte etmek için de kullanışlıdır. Bilgisayarınızda yüklü olan Arduino IDE.

Adım 1: Verici Kablolaması

Verici Kablolaması
Verici Kablolaması
Verici Kablolaması
Verici Kablolaması
Verici Kablolaması
Verici Kablolaması

Direksiyonunuza istediğiniz kadar anahtar takarak başlayın ve Arduino'nun yerini düşünün. Tüm kabloları şemaya göre anahtarlara bağlayın. Her düğmenin bir tarafı GND'ye ve diğer tarafı ilgili arduino pinine bağlanacaktır. Kod, çoğu tekerlek için yeterli olması gereken 14 anahtara/düğmeye izin verir.

Nano'yu gömülü NRF modülü ile kullanırsanız, bunun için ilgili kabloları eklemeniz gerekmez, sadece düğmeleri kablolayın.

Düğmeler şu sırayla (1-14): RX, TX, D2, D3, D4, D5, D6, D7, A0, A1, A2, A3, A4, A5

Ama neden sadece 14 düğme? Bunun nedeni, tam bir pin bankasını hızlı bir şekilde okuyabilmemiz ve yalnızca 2 baytlık veriyi iletmenin uzun sürmemesidir - Bu, daha fazla düğme içerecek şekilde değiştirilebilse de (bir matris aracılığıyla) ve/ veya analog girişler, bu işleri biraz yavaşlatır. Matris okuma ve analog okuma/dönüştürme, işlemci zamanını alır. Direksiyonumda sadece 12 düğmeye ihtiyacım vardı, bu yüzden onunla gittim ama daha fazlasını eklemeyi düşünürdüm.

Güç Güç için iki seçeneğiniz var - Ya pil grubunu olduğu gibi bırakabilir ve bir şekilde tekerleğe sabitleyebilirsiniz. Bu size, yerleşik bir anahtara ve bazı kablolara sahip olmaktan kaçınarak, gücü arduinodan ayırabilmeniz için ek bir avantaj sağlar.

Daha özel bir çözüm tercih ederseniz, pil grubunu kırarak açmanız ve dahili parçaları özel yapılandırmanıza göre yeniden tasarlamanız gerekebilir.

Tekerleğimde onu incelikle bırakacak yerim yoktu, bu yüzden soyuldu. Standart USB konektörünü şarj panosundan çıkardım ve +5 ve Gnd kablolarını usb port pedlerinden Arduino'ya bir anahtar aracılığıyla lehimledim. Mevcut birçok seçenek nedeniyle bunu detaylandırmak biraz zor…

Devre daha sonra mikro USB şarj konektörünü açığa çıkaracak şekilde tekerleğin içine monte edildi.

Şarj panosu, şarj durumunu görüntülemek için bir veya daha fazla LED'e sahip olacaktır - Bunları bir şekilde görünür kılmak veya biraz plastik kullanarak onları görünür bir yere 'taşımak' için kullanışlıdır, böylece şarjın ne zaman bittiğini bilirsiniz.

Bu Ne Tekerlek? İlgilenenler için tekerlek tasarımım Amstudio'dan - Bazı harika DIY yarış sim parça tasarımları onlardan makul fiyatlarla alınabilir.

2. Adım: Alıcı

alıcı
alıcı
alıcı
alıcı
alıcı
alıcı

Ekteki kablo şemasını takip etmeniz yeterlidir. Leonardo kullanmıyorsanız, AMS1117 gibi harici bir 3.3v regülatöre ihtiyacınız olacak. Pro Micro regülatör, NRF24 Modülü için yeterli akımı sağlayamıyor ve böceğin hiç yok.

NRF modülüne bağlantıları Pro Micro ve beetle için aynı renkle kodladım.

Genel mekanlarda bulunması oldukça kolay olan Arduino 'Beetle', yine 3.3v regülatörü olmadığı için kullanılması gerekecek. Bunu test ettim ve bu da iyi çalışıyor. Bağlantılar aynı

Adım 3: Cihazların Programlanması

Cihazların Programlanması
Cihazların Programlanması
Cihazların Programlanması
Cihazların Programlanması
Cihazların Programlanması
Cihazların Programlanması

Eğer Arduino IDE kurulu değilse, https://www.arduino.cc adresine gidin ve bu örnek için işletim sisteminize uygun sürümü indirin Windows üzerindeyim.

Kurulduktan sonra iki farklı kitaplığa ihtiyacınız olacak - İlki Sketch -> Kitaplığı Dahil Et -> Kitaplıkları Yönet (veya CTRL+SHIFT+I) aracılığıyla kolaydır.

Dave Parson tarafından NRFLite (yayınlanma tarihi itibariyle sürüm 2.2.2)

İkincisinin https://github.com/MHeironimus/ArduinoJoystickLibr.. adresinden manuel olarak yüklenmesi gerekecektir.

'Klonla veya İndir'i ve ardından 'ZIP'i İndir'i tıklayın ve indirilen dosyayı açın. Daha sonra bir 'Joystick' klasörü görene kadar klasörlere tıklamanız gerekecek - Bunu Arduino Kitaplıkları klasörünüze kopyalayın (Pencerelerde, bu genellikle Belgeler Altında -> Arduino -> Kitaplıklar'dır.

Arduino IDE'yi yeniden başlatın

Alıcı için Pro Micro kullanıyorsanız, o panoyu IDE. File -> Preferences -> Ek Boards Manager URL'lerine de eklemeniz gerekir:

girin:

Ardından Araçlar -> Boards Manager'a gidin, Sparkfun'u arayın ve 'Sparkfun AVR Boards'u kurun

Şimdi hazırız! Verici ile başlayalım - PC'nize bağlayın

Araçlar -> Pano altında, 'Arduino Nano'yu (veya kullanmaya karar verdiğiniz varyantı) seçin. Ayrıca araçlar menüsü altındaki COM bağlantı noktasını doğrulayın.

Ekli Wireless_Wheel_Tx dosyasını açın.

Bu kodda değiştirmek isteyebileceğiniz tek bir satır var o da:

int nrfKanal = 22;

2.4Ghz spektrumu üzerinden kullanabileceğiniz 126 adede kadar kanalınız var. Olduğu gibi bırakmakta bir sakınca yoktur, ancak güvenilirlikle ilgili sorunlarınız olduğunu fark ederseniz, belki bunu farklı bir numarayla değiştirin.

Ardından 'yükle' düğmesine basın ve bitmesini bekleyin.

Aynısı Leonardo/Pro Micro/Beetle için de geçerlidir - İstediğiniz panoyu seçin - Leonardo ve Beetle için Arduino leonardo panosunu seçin. Pro Micro için bunu seçin ve ayrıca Atmega32u4 (5v, 16Mhz) varyantını/işlemcisini seçin, Wireless_Wheel_Rx dosyasını açın, nrfChannel ayarını değiştirin (Tx'te değiştirdiyseniz) ve programlayın.

Cihaz programlama sırasında yeniden başlatıldığında, bilgisayarınız bir joystick cihazı algılamalıdır. Vericinizi de açarsanız, düğmelere basabilmeli ve cihaz durumunda görünmesini sağlamalısınız!

Harika bir tesadüfi özellik, Leonardo ve Pro Micro'da bir durum ışığı alacak olmanızdır - USB TX led'i, düğmelere bağlandığında yanacaktır. Ancak bu, böceğin üzerinde mevcut değildir.

GÜNCELLENDİ 13/2/2021

4 Analog girişli bir sürüm ve 3X8 düğme matrisi için buradaki talimata 2 ekstra dosya (Tx ve Rx) ekledim. Çoğunlukla denenmemiş, gecikme olabilir. Lütfen deneyin ve yorum yapın.

4. Adım: İyileştirmeler

İyileştirmeler
İyileştirmeler

Power LEDBu çözümü bir süre kullandıktan sonra yanlışlıkla direksiyonu açık bırakma alışkanlığım oldu. Buna karşı koymak için ön tarafa bir LED ekledim, böylece direksiyonun açık olduğunu görebildim. Bu, arduino üzerindeki 5v'den bir direnç aracılığıyla çalışan basit bir 3mm led'dir. Üst kısım, ışığı biraz dağıtmak ve parlamayı önlemek için zımparalanmıştır.

Pil seviyesi ölçerBG veya Ali'den bazı pil seviyesi ölçerler satın aldım ama geldiklerinde beklediğimden çok daha büyüktüler ama bu yine de eklemek istediğim bir şey. Bunun için birçok seçenek var ancak pil çok uzun sürdüğü için birkaç saatlik kullanımdan sonra yeniden şarj etme eğilimindeyim.

Ekstra düğmeler/kodlayıcılar/analog girişler Hâlâ bunu düşünüyorum. Benim için yaptığım yarışlar için o kadar önemli değil ama F1 gibi şeyler için muhtemelen daha kullanışlı. İki versiyonu değerlendireceğim veya yeterli talep olursa bunu ekleyeceğim ancak bu, butonlardaki yanıt süresini etkileyebilir.

Önerilen: