İçindekiler:
- Gereçler
- Adım 1: Tasarım
- Adım 2: Kreasyonunuzu Yazdırın
- Adım 3: Prototip Panonuzu Hazırlama
- Adım 4: İsteğe Bağlı: Denetleyici Muhafazanızı Çekindirin
- Adım 5: Son Montaj
- Adım 6: Arduino'nuzu Programlayın
- 7. Adım: Oyunlarınızı Oynayın
- 8. Adım: Alınan Dersler
Video: Hareket Halinde Denetleyici: 8 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
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
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
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
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
Ş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
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:
Arduino MIDI Denetleyici Oluşturun: 5 Adım (Resimlerle)
Bir Arduino MIDI Denetleyicisi Oluşturun: Herkese merhaba! Bu talimatta size kendi Arduino destekli MIDI denetleyicinizi nasıl oluşturacağınızı göstereceğim. MIDI, Müzik Aleti Dijital Arayüzü anlamına gelir ve bilgisayarların, müzik aletlerinin ve diğer donanımların birbirleriyle iletişim kurmasını sağlayan bir protokoldür
Arduino MIDI Denetleyici Oluşturma: 9 Adım (Resimlerle)
Arduino MIDI Denetleyicisi Oluşturma: Bu talimat ilk olarak 28 Haziran 2020'de blogumda yayınlandı.Elektronik içeren şeyler yapmaktan zevk alıyorum ve her zaman Arduino kullanarak bir şeyler inşa etmek istemişimdir.Yeni başlayanlar için bulduğum en yaygın yapılardan biri, MIDI denetleyicisi.
DIY MIDI DENETLEYİCİ USB Tak ve Çalıştır (NEOPİKSEL YÜZÜK YÜKSELTME): 12 Adım
DIY MIDI CONTROLLER USB Tak ve Çalıştır (NEOPİKSEL YÜZÜK YÜKSELTME): Tutkulu MAO ve Elektronik Müzik ama aynı zamanda kişiselleştirilmiş bir Midi Arayüz oluşturmanın mümkün olduğunu görünce benim 6 Potansiyometre ve 12 düğme (açma / kapama) yaptım ama noktayı daha zor hale getirmek için zaten öyleydi görsel gösterge eklemek isterdim
Philips CD-I Silindir Denetleyici Onarımı: 5 Adım
Philips CD-I Silindir Denetleyici Onarımı: Philip'in CD-I Silindir Denetleyicisi ile ilgili yaygın bir sorun, IR Yayıcıların performansında ve izlemeyi durduran palet topunun düşmesidir. Düğmeler çalışacak ancak hareket topu hareket etmeyecek. Bu, söküp değiştirerek düzeltilebilir
Hareket Kontrollü Çıkış - Hareket Algılayıcı Işıktan: 6 Adım
Hareket Kontrollü Çıkış - Hareket Algılama Işığından: Bloktaki en korkunç eve giden bir şeker mi şaka mı olduğunuzu hayal edin. Tüm hortlakları, hayaletleri ve mezarlıkları geçtikten sonra nihayet son yola ulaşırsınız. Şekeri önünüzde bir kasede görebilirsiniz! Ama sonra aniden bir gho