Devreler

Elit Tehlikeli veya Herhangi Bir Başka Oyun için Özel Kontrol Paneli Nasıl Yapılır: 7 Adım (Resimlerle)

Elite Dangerous Rehber | Bölüm 0 (Baslangic Bilgileri)

Elite Dangerous Rehber | Bölüm 0 (Baslangic Bilgileri)

İçindekiler:

Anonim

Demek Elite Dangerous için özel bir panel veya başka bir oyun yapmak istiyorsun, ha? Düşündüğünden daha kolay. Bir tane yaptım, insanlar hoşuna gitti … Reddit'teki ilk yazım

Daha önce hiç Arduino kullanmadıysanız veya herhangi bir kodlama yapmadıysanız, başlamak için güzel bir yer. Şimdi lehimleme konusunda iyi değilsen, irade bitirdiğin zaman ol. Üstelik 'matris' terimini, konuşmalarında, fazladan bir Hollywood filmine atıfta bulunmaksızın kullanmak istediyseniz, okumaya devam edin. Doğru yerdesin.

Öncelikle, devam etmeden önce anlaşılması gereken birkaç temel nokta var. Bu yazılara bir göz atın. Oraya gidin, bir matrisin ne olduğunu anlayın, neden burada yararlı olduğunu ve sonra geri dönün ..

http: //pcbheaven.com/wikipages/How_Key_Matrices_Wo …

http://playground.arduino.cc/Code/Keypad

Döndün? İyi. Roket ameliyatı değil, değil mi?

Her şeyden önce bir düzen çizmek isteyeceksiniz. Tasarımımı tamamen takip etmek istiyorsanız verilen düzeni kullanmaktan çekinmeyin. Düzeni özelleştirmek veya tamamen değiştirmek istiyorsanız, geometrik olarak doğru bir çizim uygulaması kullanmalısınız. Adobe Illustrator'ı kullandım.

Düzen tamamen seçtiğiniz düğme ve anahtarlara bağlı olacaktır. Her anahtarı tam olarak araştırın, lazerle kesme veya kazıma işlemine başlamadan önce örnekleri sipariş edin ve her şeyi ölçün.

Tamam, parçalar hakkında konuşalım.

Gereçler:

1. Adım: Parçalar ve Araçlar

Kontrol cihazım için hemen hemen her şeyi eBay'den aldım. İşte derlemede kullandığım her bölüme bağlantılar.

7 x Anlık AÇMA / KAPAMA Geçiş Anahtarı. SPST = Bahar dönüşü. Füze / Flip kapakları mevcuttur. http: //www.ebay.co.uk/itm/361793111625 _trksid = p2 …

30 x Dikdörtgen Işıklı Buton Anahtarı. Çıkarılabilir kapaklar http: //www.ebay.co.uk/itm/301995098756 _trksid = p2 …

2 x AÇIK / KAPALI / ACİL DURDURMA Anahtar Kutusu. Aynı düğmeleri tek tek bulamadım. http: //www.ebay.co.uk/itm/301995098756 _trksid = p2 …

1 x Retex Eğimli Konsol Muhafazası (33020102). Panel boyutu 249 x 161 mm'dir http: //www.ebay.co.uk/itm/301995098756? _Trksid = p2 …

1 x Teensy 3.2 Programlanabilir Mikrodenetleyici. Teensy, tanıdığım yerel USB-HID özellikli tek Arduino uyumlu PMC'dir. http: //www.ebay.co.uk/itm/161870504500 _trksid = p2 …

1 x 5V - 12V Yükseltme Modülü. Bu, bu özel anahtarlarda 12V olan LED'leri güçlendirmektir. Bunun üzerine daha sonra. http: //www.ebay.co.uk/itm/161870504500 _trksid = p2 …

1 x 220 Ohm Direnç. Bu, matris boyunca akımı düzenlemektir. Bu nasıl çalışır aslında benim için bir gizemdir.

1 x USB-B Panel Bağlantı Soketi. Ünitenin arkasına takmak için.

1 x USB-A'dan USB-B Kablosuna. PC'ye kablolamak için.

1 x USB-MINI'den USB-A Kablosuna. Teensy'yi panel montaj soketine bağlamak için.

1 x Özel Kazınmış Ön Panel. Ön panelin el delmesine karşı öneriyorum.

Yukarıdaki parçaların hepsi bana yaklaşık olarak 150 sterline mal oldu. Buna lazerle kesme ve kazıma da dahildir. Profesyonel bir gravürcüye gitmemin birçok nedeni var. Düğmelerin birbirine yakın olmasından dolayı kesimin doğruluğu önemlidir. Bu, paneli zayıflatan ve el delme işleminin neredeyse kesin olarak plastiği kıracağı. Muhafaza boş bir Alüminyum panel ile birlikte gelir, bu nedenle el ile delmek için çekinmeyin, ancak düğme yerleşimli bir savaşa hazır olun. Alüminyum lazer / su jeti kesim ister misiniz? Bunun için ödeme yapmaya hazır olun. Bu yüzden bir profesyonele gittim ve bana bir parça gösterdi Traffolyte. Sert, laminedir ve lazerlerle iki renkli gravür sağlar. Bu iş için ekonomik ve mükemmel. Yine de ödediğim 50 sterlinden fazla ödemeyi bekle. Gölgeli bir anlaşmam var.

Şimdi araçlar ve sarf malzemeleri için.

  • Tel
  • Kablo bağları
  • Havya
  • Lehim
  • Tel
  • Kesiciler
  • Tornavidalar
  • Yazdırılabilir şeffaf film / asetat

Seçtiğiniz düğme bağlı olarak, ayrıca gerekebilir …

  • matkap
  • Süper yapıştırıcı
  • Sıcak tutkal tabancası
  • Dremel ve Uçları
  • Matkap uçları

Parçalarını ve aletlerini al ve düğmelerin etiketlenmesi hakkında konuşalım …

Adım 2: Düğme Birleştirme ve Etiketleme

Düğmelerinizden bazıları montaj gerektirecek. Özellikle ışıklı veya etiketli olanlar. Tasarımımdaki dikdörtgen düğmeler 5 bölümden oluşuyor. Anahtar, LED modülü, düğme, plaka ve kapak. Düğme etiketleri bu noktaya yerleştirilmiştir, bu nedenle yönlendirmeye dikkat edin. Tüm düğmelerin aynı şekilde yönlendirilmesini istiyoruz, böylelikle tahtayı ters çevirdiğimizde, tüm kontaklar güzel bir şekilde tekdüze olur ve lehimlemeyi çok daha kolaylaştırır.

Etiketleme düğmeleri süper kolaydır. Düzeninizi kullanın ve düğmelerin sınırları içine metin ekleyin. Bunu şeffaflığa yazdırın ve boyutuna kesin. Her birini ilgili tuşlara yerleştirin ve bitirdiniz.

Diğer düğmeler, kasaya sığması için bazı değişiklikler gerektirebilir. Bir sonraki adımda, kasanın ön kenarının arkadan daha az boşluk bıraktığını görebilirsiniz. Büyük yuvarlak düğmelere sahip olanlardan farklı bir kontaktör kullanmak zorunda kaldım, çünkü verilenler içeriye sığmayacak kadar derindi. Bunlar destek için süper yapıştırıcı ve sıcak yapıştırıcı ile uygulandı. Düğmeleri sipariş ederken buna dikkat edin. Bunun gibi bir şey daha tavsiye ederim: 22mm Paslanmaz Push Button Switch

Adım 3: Ünite Montajı ve Kablolama

Yaşlı kızın elbisesinin altına bakmanın zamanı geldi. Görebileceğiniz gibi, ünitenin montajı oldukça basittir. Düğmeleri yerleştirin ve sıkıca vidalayın. Yönlendirmeyi hala düşündüğünüzden emin olun. Teensy veya step modülünü henüz plakaya takmayın. Önce bunları lehimlemeliyiz.

Seni matrisler hakkında okumak için gönderdiğim zamanı hatırlıyor musun? Bu bilgiyi kullandığımız yer burasıdır. Yukarıdaki fotoğrafa bakın. Kırmızı telleri görüyor musun? Bu düğme matrisi. Mavi kablolar düğmelerin içindeki LED'ler içindir. Bir düğme matrisi kullanmanın nedeni basittir. Teensy'mizde çok daha az sayıda iğneye ihtiyacımız olacak. Tüm düğmeler ayrı ayrı kablolu olsaydı, her bir düğme için bir tane olmak üzere 40 iğneye ihtiyacımız olurdu. 6 satır ve 8 sütunluk bir matris kullanarak, bunu 14'e (6 + 8) azaltabiliriz. Bu nedenle bir Teensy 3.1 veya 3.2 yeterli olacaktır.

Madenin nasıl bağlandığını ve matristeki eksikliklerin nerede olduğunu anlamanıza yardımcı olmak için düğme matrisinin basitleştirilmiş bir çizimini sağladım. Daha sonra kodu anlamak için buna ihtiyacınız olacak. Endişelenme, yakında her şey yoluna girecek.

Adım 4: Lehimleme

Lehimleme kural # 1 - Ateş yakmayın.

Çalışma alanını hazırla. Yakında yanıcı madde olmadığından emin olun. İyi havalandırma sağlayın ve ara verin. İpucunuzu düzenli olarak temizleyin. Sadece bahşiş, akıl. Oldukça zor ama tamamlandığında çok tatmin edici. Bu bir lehimleme dersi değildir, bu yüzden size burada her şeyi nasıl yapacağınızı söylemeyeceğim. Şemayı takip edin ve işlemi hızlandırmak için küçük uzunluklarda tel hazırlayın. Çoklu pimler birlikte lehimlenecek iki tel gerektirir. Bütün yapının en zor kısmı budur.

Teensy'ye pimleri lehimledim ve bir breadboard'a yerleştirdim. Bununla birlikte, 14 primer matris telini doğrudan Teensy'ye ve LED yükseltici modülüne giden güç çıkışına lehimlemeyi öneriyorum.

Bu ayrıca, 220 Ohm'luk direnci ilk sütun teli ile lehimlemek için iyi bir zamandır. Bu yukarıdaki breadboard'umda görülebilir. Neden ihtiyaç duyduğundan emin değilim, ancak onsuz matris davranmayacak. Bir direnç kullanmak, bir satır veya sütunun tek bir düğmeye basılmasıyla tetiklenmesini önler. Güven bana, birini kullan.

LED'ler paralel olarak birbirine lehimlenmiştir. Bu, aynı voltajın herkese uygulanmasını sağlar. Bununla birlikte, farklı renkli LED'lerin farklı akım çizimleri vardır. Bu tasarım ile parlaklık bütünlüğü sorunlarını bekleyin. Alternatif olarak 5V LED kullanın, ancak bu belirli düğmeler için 5V LED modüllerini bulamadım. Her birinin elle lehimlenmesi ve manuel olarak yeniden lehimlenmesi gerekir. Bunun için kimsenin zamanı yok. Bu nedenle, bir 12 V yükseltme gereklidir.

Sadelik uğruna sana daha önce yalan söyledim. Düğme matris tellerinin tümü kırmızıdır. 8 ana sütun tel hariç. Bu maviyi, hangi sıraların hangilerinin sütunlara ait olduğunu görebilmeleri için netleştirdim.

Son bir nokta. Elbette, panelin baş aşağı olduğunu farkettiniz. Bu nedenle soldan sağa çizimleri takip edin, ancak sağdan sola doğru çalışın.

Kod hakkında konuşma zamanı …

5. Adım: Kod

CF-1 kontrol cihazımda kullandığım kodu verdim. Arduino editör yazılımında gözden geçirin ve yorumları gri olarak okuyun. Her şey sana mantıklı geliyorsa o zaman harika! Değilse, etrafta kal. Biraz daha ayrıntıya gireceğim.

Tepedeki ilk şey, Keypad kütüphanesinin dahil edilmesi.

#Dahil etmek #Dahil etmek

Bu, Teensy'ye anahtar preslere ve talimatlara referanslarımızı anlamada rehberlik eden hazır bir kod parçasıdır. Tuş Takımı kütüphanesi, basın, bekletme, serbest bırakma ve rölanti gibi şeyler için birçok yerleşik işleve sahiptir. Sadece basın ve yayın komutlarını kullanacağız.

Daha sonra matrisimizdeki satırları ve sütunları tanımlıyoruz ve istediğimiz her basış için bir karakter.

const byte ROWS = 6; // Altı satır const bayt COLS = 8; // Sekiz sütun karakter tuşu ROWS COLS = {{'0', '1', '2', '3', '4', '5', '6', '7'}, {' 8 ',' 9 ',' A ',' B ',' C ',' D ',' E ',' F '}, {' G ',' H ',' I ',' J ',' K ',' L ',' M ',' N '}, {' O ',' P ',' Q ',' R ',' S ',' T ',' U ',' V '}, {'W', 'X', 'Y', 'Z', '', '', ';', '#'}, {',', '.', '/', '`' , '-', '=', '*', '+'},};

Bu, düğmelere basıldığında PC'nin alacağı anahtarla ilgili değildir. Sayıların, ardından harflerin, ardından noktalama işaretlerinin olduğunu görebilirsiniz. Kullanmak kömür değişkeni, bizi tek bir karakter kullanmaya kısıtlar. Bu yüzden 48 tuş için 48 karaktere ihtiyacımız var. Bu, kodu çıktıdan ayırmamızı sağlar, böylece çıktıyı düzenlemek daha sonra daha kolaydır. Gerçek çıkış tuş vuruşları daha sonra gelir.

Bir sonraki kısım, matrisin bağlı olduğu pinleri tanımlamaktır.

bayt colPins COLS = {0, 1, 2, 3, 4, 5, 6, 7}; bayt satırPins ROWS = {14, 15, 16, 17, 18, 19,};

Şimdi talimatları tanımlamaya başlıyoruz.

if (kpd.key i .kchar == '0') // SRV TURRET anahtarı (kpd.key i .kstate) {case PRESSED: msg = "BASIN."; Keyboard.press (key_t); break; case HOLD: msg = "HOLD"; break; case RELEASED: msg = "RELEASED."; Keyboard.release (key_t); break; case IDLE: msg = "IDLE."; break; }

Kodum süresiz olarak dönüyor. Değişiklikler için tuş takımını tarar, ardından basın mı yoksa serbest bırakılma mı olduğunu belirler. Daha sonra hangi tuşun ne olduğuna, şu an hangi durumda olduğuna bağlı olarak bir talimat çağırır ve karşılık gelen tuşa basar ya da serbest bırakır, PC'ye normal bir klavye gibi USB üzerinden verir. Bunu yaptığında, döngüyü kırar ve tekrar başlar, daha fazla değişiklik arar. Aynı anda en fazla 10 düğmeye basabilirsiniz.

Bunlar basın ve yayın komutlarıdır.

Keyboard.press (KEY_?); Keyboard.release (KEY_?);

Tuş vuruşlarını düzenlemek istiyorsanız, buna ihtiyacınız olabilir: http://www.pjrc.com/teensy/td_keyboard.html

Sağlanan koddaki USB klavye çıktısının, f ** k kontrol yöntemi olarak rastgele ve tamamen geriye doğru yapıldığına dikkat edin. Lütfen tuş vuruşlarını bu kod dahilinde kendi kontrol yönteminize göre değiştirmekten çekinmeyin. Ya da benim kadar geriye git. Senin çağrı. Yine de tuş takımı düzenini değiştirmeyin. Bu sizin için her türlü cehenneme neden olacak. (KEY_?) Kodun altındaki her bir talimat setinde düzenleyin. Hepsi iyi yorumlanmış.

Teensy'ye yükleyin. http://www.pjrc.com/teensy/td_usage.html

Adım 6: Son Meclis

Evdeyiz. Şemayı doğru izlediyseniz ve kodu başarıyla yüklediyseniz, Teensy'yi bir PC'ye bağlamak tüm LED'leri yakmalı ve düğmeye basıldığında PC'ye tek bir tuş vuruşu göndermelisiniz. Sadece bir kelime işlemci açın ve tuşlara basmaya başlayın. Düzene uyuyorlar mı? Değilse, geri dönün ve önce matrisinizi kontrol edin. Saklanması en kolay kısmı bu.

Her şey yolunda giderse, son USB bağlantılarını yapabilir ve kasayı kapatabiliriz. USB parçalarını alın ve hepsini bağlayın. Bu noktada, çoklu hat içi konektörlerin ve kaplinlerin voltaj düşmesine neden olabileceği ve ünitenin çalışmasını önleyebileceğine dikkat etmek önemlidir. Yaptığım yol sadece bir kaynak meselesi. Daha iyi bir yol, doğrudan Teensy ve PC arasında standart bir USB-MINI kablosuna sahip olmak olacaktır. Panel montajlı bir USB soket yerine, ünitenin arkası için uygun bir kablo rakoruna ihtiyacınız olacaktır.

Adım 7: Oyun Oyna

Tebrikler! En sevdiğiniz oyun için kendinize tamamen özel bir denetleyici yaptınız. Ya da gerçekten caydırıcı bir klavye. Sen seç.

Oyunda kontrolleri her zamanki gibi atayın.

İkincilik Ödülü
Mikrodenetleyici Yarışması 2017