İçindekiler:

USB Klavye Joystick: 5 Adım
USB Klavye Joystick: 5 Adım

Video: USB Klavye Joystick: 5 Adım

Video: USB Klavye Joystick: 5 Adım
Video: Fix not working USB port 2024, Kasım
Anonim
USB Klavye Joystick
USB Klavye Joystick
USB Klavye Joystick
USB Klavye Joystick
USB Klavye Joystick
USB Klavye Joystick
USB Klavye Joystick
USB Klavye Joystick

Özel USB klavye ve fare denetleyicileri yapmak kolaydır.

Adobe Lightroom'da resimleri derecelendirirken birkaç klavye kısayolu kullanıyorum ve basit bir oyun kumandası joystick'i kullanarak daha da hızlı olabileceğimi gördüm. Atölyemde zaten sahip olduğum iki bileşenli bir devre tahtasında alay ettim ve harika çalıştığını gördüm, ancak masamda yaşayabilmesi için daha güzel bir "dolap" gerekiyordu.

Arduino tabanlı olduğu için joystick işlevlerini özelleştirmek ve ek düğmeler, kadranlar veya diğer kontroller eklemek kolaydır.

Bu projede üç bölüm var:

  • Donanım
  • Yazılım
  • Bahsedilen donanımı tutmak için masaya uygun kasa

Parçalar

  • Arduino - Adafruit'ten 5v 16MHz Itsy Bitsy. Diğer birçok Arduino iyi çalışacak, ancak USB'lerinin klavye ve fare kitaplıkları ile çalışabildiğinden emin olun.
  • Joystick - Anahtarlı oyun denetleyicisi stili 2 eksen (işte on'luk bir paket: Arduino PS2 için WGCD 10 adet Joystick Breakout Modülü Oyun Denetleyicisi).
  • Kasa için ahşap veya akrilik. Belki biraz boya.
  • Tel ve bir USB kablosu.

Adım 1: Donanım

Donanım
Donanım
Donanım
Donanım
Donanım
Donanım

Arduino

Bu yapıyı olabildiğince kompakt tutmak için küçük bir Arduino kartı kullanmak istedim. Birkaç Pro Biblom var ama klavye ve fare simülasyonu için iyi çalışmıyorlar çünkü USB Biblolarda tam olarak uygulanmadı. Bu proje için, USB üzerinden klavye ve fare olarak standart HID kitaplıklarını kullanabilen Adafruit'ten 5V 16MHz Itsy Bitsy kullandım.

Oyun kolu

Bu, oyun kumandalarında kullanılan joystick türüdür. İki eksenlidirler ve çubuğa basıldığında geçici olarak açık olan bir anahtarı vardır. İnternetten bulmak kolaydır. Sadece bir tane satın almak istiyorsanız, 4 ila 10 ABD Doları arasında olabilirler, ancak Amazon'da toplu olarak 10 paket halinde yaklaşık 11 ABD Doları karşılığında satın alınabilirler.

Adafruit ve Sparkfun'un benzer oyun çubuklarının, çevrimiçi bulabileceğiniz diğer tüm oyun çubuklarından farklı pin çıkışlarına sahip olduğunu unutmayın. Bağlarken buna dikkat edin.

Arduino'da bu projeler, anahtar için A0, X ekseni için A1 ve Y ekseni için A2 kullanır. Bu, yaratıcı olmanız için 19 diğer giriş pinini bırakır.

Joystick 5v, 5v USB gücünden gelir (Itsy Bitsy'de bu şekilde etiketlenmiştir). Ve bir toprağı var - onu Arduino toprağına bağlayın.

2. Adım: Yazılım

Yazılım
Yazılım

Arduino kodu çok basittir. Resimleri derecelendirmek için kullandığım birkaç Lightroom klavye kısayolu için özel olarak programladım. Düğmeye basıldığında Büyüteç ("e") ve Izgara ("g") görünümü arasında geçiş yapılır. Joystick'i sola ve sağa hareket ettirmek, önceki (sol ok) veya sonraki (sağ ok) resme gider. Çubuğu yukarı itmek derecelendirmeye ("[") bir yıldız ekler ve aşağı itmek bayrağı ("u") kaldırır. (İnan bana, bu benim resimlerimi değerlendirme şeklim için mantıklı.) Kodu, istediğinizi yapacak şekilde değiştirebilirsiniz.

Ana döngü önce anahtar durumunu okur. YÜKSEK'ten DÜŞÜK'e değiştirilirse, geçiş yapar ve Büyüteç ve Izgara görünümü arasında geçiş yapmak için 'e' veya 'g' yazar.

Daha sonra program, joystick'in (0 ila 1024) analog değerlerini farklı bir aralığa (-5 ila +5) eşler. Kod, karakter gönderme eylemleri olarak 5'in +/- değerlerini tanır, bu nedenle bir klavye kısayolu göndermek için joystick'i aralığının sonuna doğru hareket ettirmeniz gerekir. Joystick daha sonra başka bir tuş vuruşu göndermeden önce 0'dan geçmelidir. Bunu yapmak için kod oldukça kısa ve bence oldukça zarif. Net etki, hareketleriniz konusunda kasıtlı olmanız gerektiğidir ve yanlışlıkla aynı tuş vuruşunun bir akışını göndermeyecektir (ki benim kodumun ilk versiyonu bunu yaptı!).

İmlecinizi, kaydırma tekerlerini, ses kontrollerini veya diğer herhangi bir analog(ish) işlevini kontrol etmek için fare kitaplığını ve joystick'teki analog değerleri kullanabilirsiniz.

Adım 3: Vaka, Bölüm 1 - Tasarım ve Kesim

Vaka, Bölüm 1 - Tasarım ve Kesim
Vaka, Bölüm 1 - Tasarım ve Kesim
Vaka, Bölüm 1 - Tasarım ve Kesim
Vaka, Bölüm 1 - Tasarım ve Kesim
Vaka, Bölüm 1 - Tasarım ve Kesim
Vaka, Bölüm 1 - Tasarım ve Kesim

Masamda bir breadboard'a sahip olmak hiç hoş görünmüyordu ve ergonomi de ideal değildi. Bir kasa tasarlama zamanı.

Bu, bir davayı 3D yazdırmak için ideal bir proje olacaktır. 3D yazıcım yok ama lazer kesicim var, bu yüzden artık her şey bana lazer kesim projesi gibi görünüyor. Bu tasarımın Adobe Illustrator'da tasarımı, basit bir çubuk, lazer kesim menteşeler kullanılarak daha organik bir şekil ve kutulu şekiller gibi birçok farklı konseptle oynamak da dahil olmak üzere bir akşam sürdü.

Breadboard'u farklı yüksekliklerde ve açılarda tutarak başladım ve masadan yaklaşık 80 ila 100 mm yükseklikte 30°'lik bir açının rahat olacağına karar verdim. Nihai tasarım, küçük bir uçuş kumanda koluna benziyor ve tutması rahat.

Orijinal Adobe Illustrator dosyası, DXF ve PDF sürümleriyle birlikte aşağıda yer almaktadır. (DXF ve PDF, bir lazer kesici üzerinde test edilmemiştir.) Dosya ayrıca kendi projenizi düzenlerken kullanmanız için joystick'in üstten ve yandan görünümlerini de içerir.

Bu tasarımda kullanılan iki malzeme kalınlığı vardır. Üst kısım hariç her şey, yerel büyük kutu mağazasından 0.187" "faydalı" kontrplaktır. 2' x 4' boyutunda bir levha sadece yaklaşık 8 $'dır. Tasarım, tasarımda.187" ahşap için kalınlık olarak 5 mm kullanır ve birleştirilir mükemmel bir şekilde. Üst kısım, joystick üzerindeki parmak tutacağı için ekstra boşluk sağlamak için 3 mm kontrplaktır. Bu proje şeffaf akrilikte de güzel olurdu.

Prototip yapmanın faydası hakkında birkaç not: Önce bir tasarım hatası bulmama yardımcı olan kartonla bir deneme kesimi ve montaj yaptım. Ahşap versiyonu ilk kestiğimde, üst plakanın delikten dolayı çok kırılgan olduğunu keşfettim, bu yüzden tırnakları oraya ekstra güç eklemek için yeniden tasarladım. Ayrıca joystick'in kasanın yanına çarptığını fark ettim, bu yüzden iki değişiklik yaptım: Montajı daha iyi ortalamak için hareket ettirdim ve üstte 5 mm yerine 3 mm ahşap kullandım. Yüklenen tasarım dosyasında tüm bu değişiklikler var - sadece üst parçayı daha ince ahşaptan kesmeyi unutmayın.

Adım 4: Vaka, Bölüm 2 - Boya ve Montaj

Kasa, Bölüm 2 - Boya ve Montaj
Kasa, Bölüm 2 - Boya ve Montaj
Kasa, Bölüm 2 - Boya ve Montaj
Kasa, Bölüm 2 - Boya ve Montaj
Kasa, Bölüm 2 - Boya ve Montaj
Kasa, Bölüm 2 - Boya ve Montaj

Tüm parçalar kesildikten sonra son bir kuru montaj yaptım ve joystick'i geçici olarak monte ettim. Her şey güzeldi, bu yüzden üst kısım hariç tüm parçaları yapıştırdım. Joystick'i üst takıldıktan sonra takmak mümkün değil, bu daha sonra gelecek.

Üst kısmın sağ alt köşesi baş parmağımın altına giriyordu, bu yüzden alt köşeleri biraz hızlı zımpara ile yuvarladım.

Lazer kesim görünümünü beğendiyseniz veya bunu akrilikten yaptıysanız, bitirdiniz! Masaüstümle gitmek için parçaya daha güzel bir son vermek istedim. Bir taban kat siyah boya ve ardından birkaç kat Rust-oleum Dövme Dövülmüş Perdahlı Amber verdim. Bu ürünü masamın kenarlarında kullandım, bu da parçaları birbirine bağlıyor. Bu boyanın metalik bitişli görünümünü de seviyorum. Boyanın oturmasını bozmamak için üst kısmın oturduğu parmak eklemlerinin içini maskeledim.

Joystick ve Arduino, temiz görünmesini sağlamak için siyah kablolar ve daralan makaronlarla bağlanmıştır ve kablolar, takıldığında doğru görünen uzunlukta kesilmiştir.

Joystick vidaları orta payanda üzerinde yerinde. Elimdeki vidalar biraz uzundu, bu yüzden onları kullanılmayan ahşabın içinden geçirerek kısalttım ve uçları masa üstü zımpara ile zımparaladım. Arduino'nun montaj delikleri yok, bu yüzden yerine sıcak yapıştırılmış.

Her şey takılıyken, üst kısmı yapıştırmadan yerine oturttum. Kendini tutacak kadar sıkı oturur ve yapısal olarak önemli değildir.

Adım 5: Tamamlama

tamamlama
tamamlama
tamamlama
tamamlama
tamamlama
tamamlama

Bitmiş proje masamda harika görünüyor.

Kullandığım ilk şey, bu Eğitilebilir Tablonun resimlerini düzenlemekti.

Tamamlandı!

Önerilen: