İçindekiler:

Hareket Halinde Denetleyici: 8 Adım
Hareket Halinde Denetleyici: 8 Adım

Video: Hareket Halinde Denetleyici: 8 Adım

Video: Hareket Halinde Denetleyici: 8 Adım
Video: Vücudumuzda Sistemler - Denetleyici ve Düzenleyici Sistemler / Sinir Sistemi 2024, Temmuz
Anonim
Hareket Halindeyken Denetleyici
Hareket Halindeyken Denetleyici
Hareket Halindeyken Denetleyici
Hareket Halindeyken Denetleyici
Hareket Halindeyken Denetleyici
Hareket Halindeyken Denetleyici

Akıllı telefonunuzda oyun oynamayı sever misiniz? Tıknaz dokunmatik ekran kontrolleriyle oyun oynamaktan sıkıldınız mı? Bluetooth denetleyicinizi şarj etmeyi unutmaktan nefret mi ediyorsunuz? Satın aldığınız ancak hiç kullanmadığınız hareket halindeyken kablo için bir kullanıma mı ihtiyacınız var?

Neden hareket halindeyken kendi kumandanızı yapmıyorsunuz?

Oyuna oldukça geç kaldığıma eminim (punto amaçlı) ama son zamanlarda eski akıllı telefonumun öykünme yoluyla retro oyunlar oynayabildiğini keşfettim. Büyürken, Game Boy sistemlerinin büyük bir hayranıydım ve saatlerce oynadığımı ve uzun araba yolculuklarında gözlerimi umutsuzca pilim bitmeden veya güneş ufkun çok ötesine geçmeden önce bir kurtarma noktası bulmaya çalıştığımı hatırlıyorum. ekranıma bakın. Artık telefonumda oynayabilir ve nostaljiye kapılabilirim, ancak güzel bir arkadan aydınlatmalı ekranla. Teşekkürler teknoloji!

Sorumluluk Reddi: Oyun öykünmesi hassas bir konudur ve bazı durumlarda korsanlığın sınırlarını zorlar. Lütfen kendinizi eğitin ve sorumlu bir şekilde oynayın!

Arka plan:

Bir kısayol klavyesi yaptıktan sonra bu projeye devam etmeye karar verdim. Arduino klavye kütüphanesini öğrenirken ve kısayollar oluştururken bazı test düğmelerini WASD'ye bağladım. Bilgisayar oyunlarım ile hemen çalışmaya başladı ve bu da çarkların dönmesini sağladı. Aynı zamanlarda telefonumda sesli kitaplar için yer kalmadı ve modelim microSD kartlara izin vermediği için telefonumda bir USB flash sürücüyü nasıl kullanacağımı araştırdım. OTG'yi o zaman öğrendim. OTG, bağlı cihaza güç sağlamak için telefonunuzun pilindeki şarjı kullanır. Buna klavyeler, fareler ve flash sürücüler dahildir. Telefon 5v cihazlara güç sağlayabilir ve arduino micro'nun çalışması için ne gerektiğini tahmin edebilir mi? Cennette yapılmış bir maçtı.

Gereçler

Arduino Mikro

Prototip Kurulu

12 x 6mm düğmeler (Klasik breadboard dokunsal anlık anahtarları kullandım)

Havya ve Lehim

3 boyutlu yazıcı

Hareket halindeyken (OTG) kablo; kendim yaptım

Mikro USB şarj kablosu

Adım 1: Tasarım

Tasarım
Tasarım
Tasarım
Tasarım
Tasarım
Tasarım

Kumandamın taşınabilir olmasını ve Super Nintendo dönemine kadar oyun oynamak için ihtiyacım olan tüm düğmeleri sunmasını istedim. Bu, 12 düğmeye ihtiyacım olacağı anlamına geliyordu. Yön pedi (d-pad) için dört ve A, B, X, Y, Başlat, Seç, Sol Tetik ve Sağ Tetik için sekiz. Ayrıca simetrik olmasını istediğim için ek bir şartım vardı, böylece her iki elimle de tek elimle oynayabilirdim. Bu ek gereksinim kulağa garip gelebilir ama biraz bağlam sağlamak için son zamanlarda kendimi düzenli olarak uyuyan bir bebek tutarken bulduğumu ve sınırlı oyun süremde yalnızca bir elimi kullandığımı belirtmeliyim.

Tanımlanan gereksinimlerle kontrolörümü CAD'de tasarlamaya başladım. Ben kişisel olarak OnShape kullanıyorum ancak birçok kişinin Fusion360 ile başarılı olduğunu da biliyorum. Bu sitede kendi kreasyonlarını tasarlayan diğer insanlara hızlıca bir not vermek istiyorum. Bu zor iş! Ortaya koyduğum tasarım süper basitti ama yine de tatmin olmam saatler aldı. Bunu yazarken bile, yapmak istediğim birçok iyileştirmeyi fark ediyorum.

(Zaman izin verdiğinde Thingiverse'deki.stl dosyalarını almayı planlıyorum. Dosyalar orada olacak, böylece sürekli olarak buraya dosya yüklemek zorunda kalmadan onları güncelleyebilirim.)

Adım 2: Kreasyonunuzu Yazdırın

Kreasyonunuzu Yazdırın!
Kreasyonunuzu Yazdırın!

Sadece birkaç aydır sahip olduğum bir Ender 3 yazıcım var. 3D baskıya başlamak istiyorsanız, başlamak için harika bir yazıcı. Bu proje için parçalarımı ölçene kadar ne kadar tuhaf olduğunu fark etmemiştim. Bu projeye kadar onu sadece masa üstü oyunlar için minis basmak için kullandım. Miniler harika çıktı ve boyutları çok fazla umursamadım. Sonuçlardan memnun olmadan önce birkaç kalibrasyon küpü ve yeni bir filament rulosu aldı.

Adım 3: Prototip Panonuzu Hazırlama

Prototip Panonuzun Hazırlanması
Prototip Panonuzun Hazırlanması
Prototip Panonuzun Hazırlanması
Prototip Panonuzun Hazırlanması

Düğmeleri bir prototip panosuna lehimlemeden önce, tüm düğmeleri bir devre tahtasında test ettim ve aynı anda arduino kodumu test ettim. Kodun üzerinden daha sonraki bir adımda geçeceğim.

Şimdi prototip panonuzu boyuta göre kesmenin en iyi zamanı. Basılı denetleyici muhafazanızı kılavuz olarak kullanın ve her şeyin aynı hizada olduğundan emin olmak için düğmeleri kuru bir şekilde takın. Biraz tel makası aldım ve fazla tahtayı kestim, ardından kenarları kare şeklinde 150 kumlu zımpara kağıdı ile zımparaladım.

Arduino micro'nun dahili pull up dirençlerini kullandığımızdan, kontrol cihazının kablolaması gerçekten basittir. Tüm düğmeler bir girişe ve toprağa gider. Kullandığım düğmeler genel 6mm dokunsal anlık anahtarlardır.

Düğmeleri arduinoya lehimlemek, çözülmesi eğlenceli küçük bir bulmacaydı. Düğmelerden bazıları arduino'nun altındaydı ve arduino'yu prototip panosuna lehimlemeden önce kabloları altından çıkarmak zorunda kaldım. Tahtanın düğme tarafına yakından bakarsanız, yön pedi için sol ve sağı kaçırdım.

Özel tasarımım için, yukarı ve aşağı yönlü tuş düğmelerini (sol ve sağ yönlü tuş düğmelerini kaçırdım) bazı ekstra uzun kablolarla birlikte prototip panosuna lehimledim, ardından panoyu ters çevirdim ve arduinoyu lehimledim. Bir diyagramım yok çünkü çoğunlukla düğmeleri rastgele birer birer lehimledim (yeterli ilgi olursa bir tane yükleyebilirim). Arduino sabitlendikten sonra, kartı tekrar düğme tarafına çevirdim ve geri kalan düğmeleri ve kablolarını lehimledim.

Adım 4: İsteğe Bağlı: Denetleyici Muhafazanızı Çekindirin

Son montajdan önce, kontrol ünitesi muhafazasını zımparalamak, boşlukları doldurmak ve boyamak için iyi bir zamandır. Prototipim için bu adımı atlamayı seçtim çünkü hemen kullanacak bir şeye sahip olmak istedim. Tasarımımı kaçınılmaz olarak daha parlak bir şeye dönüştürdüğümde, ona hak ettiği zahmetli işi vereceğim.

Adım 5: Son Montaj

Son montaj
Son montaj

Şimdi tüm düğmelerinizi ve tamamlanmış prototip kartınızı muhafazaya koymanın zamanı geldi. Tasarımım için #4-24 x 1/2 sac vida kullandım. İşi hallediyorlar ama istediğim kadar uymuyorlar.

Adım 6: Arduino'nuzu Programlayın

Bu adımı daha önce panoyu tasarlarken veya her şeyi prototip panosuna lehimledikten sonra yapmak isteyebilirsiniz. Bunun kendi bölümünde olmasını seviyorum.

Kod, gördüğüm çoğu arduino programına göre çok basit. Her düğmeye yalnızca bir klavye değeri atamamız gerekiyor ve arduino hangi düğmelere basıldığını kontrol etmek ve bu bilgileri telefonumuza göndermek için döngü yapacak.

İlgilenenler için retro oyunlarımı oynamak için retroArch uygulamasını kullanıyorum. Kullandığım tuşlar, retroArch için kullanılan varsayılan klavye düzenine ayarlandı.

#include #include "Keyboard.h" #define NUM_BUTTONS 12 const uint8_t BUTTON_PINS[NUM_BUTTONS] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; // a = 'x' // b = 'z' // x = 's' // y = 'a' // sol omuz = 'q' // sağ omuz = 'w' // select = 'rshift ' // start = 'gir' // yukarı = 'anahtar:yukarı' // aşağı = 'anahtar:aşağı' // sol = 'anahtar:sol' // sağ = 'anahtar:sağ' const char BUTTON_KEYS[NUM_BUTTONS] = {KEY_RETURN, KEY_DOWN_ARROW, KEY_UP_ARROW, KEY_LEFT_ARROW, KEY_RIGHT_ARROW, KEY_RIGHT_SHIFT, 'z', 'x', 's', 'a', 'q', 'w'}; Sıçrama * düğmeleri = yeni Sıçrama[NUM_BUTTONS]; void setup() { for (int i = 0; i < NUM_BUTTONS; i++) { düğmeler.attach(BUTTON_PINS, INPUT_PULLUP); düğmeler.aralık(25); } // klavye üzerindeki kontrolü başlat: Keyboard.begin(); } void loop() { // (int i = 0; i < NUM_BUTTONS; i++) için değerin değişip değişmediğini kontrol edin { button.update(); if (düğmeler.fell()) { Keyboard.press(BUTTON_KEYS); } if (buttons.rose()) { Keyboard.release(BUTTON_KEYS); } } }

7. Adım: Oyunlarınızı Oynayın

Oyunlarını Oyna!
Oyunlarını Oyna!

Alternatif olarak, bu kontrolör, tuşlara veya makrolara basmak için OTG kablosu olmayan bir PC ile kullanılabilir. Ayrıca böyle bir kontrol cihazının tablet çizmek için de yararlı olabileceğini söyleyen bir arkadaşım vardı, ancak daha önce hiç bulaşmadım.

Umarım bu Eğitilebilirliği faydalı bulmuşsunuzdur. Aşağıda, bu süreçte neler öğrendiğimi ve neyi farklı yapmak isterdim diye merak edenler için alınan dersler bölümü var.

8. Adım: Alınan Dersler

CAD:

Geçmişte CAD yazılımıyla hiç bu kadar uğraşmadım ve bu tasarımla hareket halindeyken öğrenmek zorunda kaldım. Başlangıçta, bir Wii Nunchuk gibi elinize sığacak daha dik bir tasarımla gittim. Organik şekillerle tasarım konusundaki sınırlı bilgim benim düşüşüm oldu. Belki de Intructables'ı CAD tasarım sınıfına almalıyım.

Düğmeler:

Kullandığım düğmeler istediğimden daha gürültülüydü (özellikle birinin uyanmasını engellemeye çalışırken). Daha sessiz düğmeler bulmak istiyorum. Düğmeler ve düğme kapakları arasına yaylar eklemek, yapının daha parlak görünmesini sağlamak için uzun bir yol kat edecektir. Düğmeler benim zevkime göre çok fazla gevşeklik gösteriyor.

Lehimleme:

Lehimlemede acemiyim ve çok sağlam ellerim yok. Tüm bu küçük telleri her yere lehimlemek beklediğimden çok daha uzun sürdü. Her şeyi yeniden yapmak zorunda kalsaydım, ütüyü tutmadan önce kablolarımın nereye gideceğini kesinlikle belirlerdim. Bu, arduino'yu prototip panosuna yapıştırdıktan sonra keşfettiğim hataları azaltacak ve bana zaman kazandıracaktı.

Önerilen: