İçindekiler:

KerbalController: Roket Oyunu için Özel Kontrol Paneli Kerbal Space Programı: 11 Adım (Resimlerle)
KerbalController: Roket Oyunu için Özel Kontrol Paneli Kerbal Space Programı: 11 Adım (Resimlerle)

Video: KerbalController: Roket Oyunu için Özel Kontrol Paneli Kerbal Space Programı: 11 Adım (Resimlerle)

Video: KerbalController: Roket Oyunu için Özel Kontrol Paneli Kerbal Space Programı: 11 Adım (Resimlerle)
Video: KSP - BÜTÜN PARÇALARI ANLATIYORUM - REHBER #4 2024, Temmuz
Anonim
KerbalController: Roket Oyunu Kerbal Space Programı için Özel Kontrol Paneli
KerbalController: Roket Oyunu Kerbal Space Programı için Özel Kontrol Paneli

Neden bir KerbalController oluşturmalısınız?

Eh, çünkü düğmelere basmak ve fiziksel anahtarları atmak, farenizi tıklamaktan çok daha önemli geliyor. Özellikle, önce kapağı açmanız gereken, roketinizi devreye sokmak için düğmeye basmanız gereken büyük bir kırmızı güvenlik anahtarı olduğunda, geri sayımı başlatın ve 3.. 2.. 1.. havalanıyoruz!

KerbalController nedir?

Kontrol Paneli, Simpit (simüle edilmiş kokpit), DSKY (ekran klavyesi) veya özel joystick olarak da adlandırılan KerbalController, popüler roket inşa etme ve uçma ve umarım patlamayan roketleri kontrol etmek için özelleştirilmiş bir giriş cihazıdır. oyun Kerbal Space Programı, durum ışıkları, telemetri göstergeleri ve/veya yakıt göstergeleri gibi oyundan gelen isteğe bağlı çıktılarla birleştirildi.

Bu özel yapı, joystickler aracılığıyla döndürme ve çevirme kontrolleri, bir gaz kelebeği sürgüsü, durum ışıklarına sahip bir sürü düğme, LED yakıt göstergeleri ve çoklu modlara sahip bir telemetri LCD ekranı gibi girdileri içerir.

Bu kılavuz, uygun gördüğünüz şekilde, aynı kopyayı oluşturmak veya yol boyunca ayarlamalar ve iyileştirmeler yapmak için ihtiyacınız olan her şeyi içerecektir. Dahil olanlar:

  • parça listesi
  • lazer kesime hazır dijital tasarım çizimleri
  • Kablolama talimatları
  • Arduino kodu
  • Ekli KSP eklentisi için kod
  • Çok sayıda resim

Kalkış için hazır? Hadi gidelim!

Adım 1: Araçlar

Aletler
Aletler

Bu yapı için sahip olmanız gereken en önemli araç bir havyadır. Buna bir miktar lehim, havya ucunu temizlemek için metal temizleme süngeri ve "üçüncü el" dahildir.

Diğer aletler, bir tel sıyırıcı, bir tel kesici, cımbız ve bazı küçük boyutlu tornavidalardır.

2. Adım: Parçalar ve Temel Yerleşim

Parçalar ve Temel Düzen
Parçalar ve Temel Düzen
Parçalar ve Temel Düzen
Parçalar ve Temel Düzen

Sizin için mümkün olan en iyi denetleyiciyi yapmak, tam olarak hangi düğmeleri ve anahtarları uygulamak istediğinizi seçmek anlamına gelir. Çünkü herkes oyunu farklı oynuyor. Bazı insanlar uçakları uçurur ve SSTO'lar inşa eder (yörüngeye tek aşamalı). Diğerleri uzay istasyonlarının gezicilerini tercih ediyor. Ve bazıları sadece olayların olağanüstü bir şekilde patlamasını istiyor!

Tüm parçaları yaklaşık boyutlarında çizmeye ve bunları bir vektör çizim programında (Affinity Designer veya Inkscape gibi) veya 3D çizim programında (SketchUp gibi) sürüklemeye yardımcı olur.

Daha kolay bir yapı istiyorsanız, denetleyicimi kopyalayabilir ve ekteki parça listesinde listelenen parçaları alabilirsiniz.

3. Adım: Bir Prototip Oluşturun (isteğe bağlı)

Bir Prototip Oluşturun (isteğe bağlı)
Bir Prototip Oluşturun (isteğe bağlı)
Bir Prototip Oluşturun (isteğe bağlı)
Bir Prototip Oluşturun (isteğe bağlı)

Denetleyicimi kopyalıyorsanız, bu adımı atlayabilirsiniz.

Özel bir düzen için gidiyorsanız, ana kontrollerle çalışan bir prototip oluşturmak için önce bir ayakkabı kutusu kullanmanızı öneririm. Ana kontrollerin konumunun ince ayarlanmasına gerçekten yardımcı olur. Son yapıya zaman ve para yatırmaya devam etmeden önce, onu çalıştırabileceğiniz güvenini kazanmak da güzel. Aslında oyunu ayakkabı kutusu denetleyicimle bir süre oynadım. Bir şeyi birlikte kesmek için kurtarılmış parçaları kullanmanın Kerbal yolu değil mi?

4. Adım: Kablolamayla İlgili İpuçları

Kablolama İpuçları
Kablolama İpuçları
Kablolama İpuçları
Kablolama İpuçları
Kablolama İpuçları
Kablolama İpuçları

Bir prototip oluştururken, son kasaya geldiğinizde lehimlerini çözmek istemiyorsanız tüm düğmelerinizi lehimlemeyin. Bazı kabloları düğmelere lehimledim ve Arduino'ya geçici bağlantılar yapmak için lehimsiz bir devre tahtası kullandım.

Tüm elektronik aksamları son koruyucu çerçeveye bağlarken, 5V ve toprak için döngüler oluşturarak dağınıklığı azaltabilirsiniz. Tüm topraklama pimlerini doğrudan Arduino'ya bağlamazsınız, bunun yerine bir düğmedeki toprağı bir sonraki düğmede toprağa bağlayın ve her tarafa döngü yapın. Son olarak Arduino'ya bağlanıyorsunuz.

Güç ve toprak için döngüler oluşturduktan sonra Arduino pinlerine olan tüm bağlantılar kalır. Bazı başlık pimleri şeritleri almanızı ve telleri bunlara lehimlemenizi öneririm. Bunları büyük bir konektör olarak kullanabilirsiniz, böylece Arduino'nuzu test etmek için hala fişten çıkarabilirsiniz.

Tellerin uzunluğu, muhafazayı fazla tel dolaşmalarından uzak tutacak kadar kısa (kutuyu kapatabilmenizi engelleyebilir) ile parçaları lehimleme yolundan uzaklaştırabilecek kadar uzun arasında bir dengeleme eylemidir. diğer parçaları içeri sokun, vidaları sıkın ve hata ayıklarken multimetrenizle dürtün.

Adım 5: Ön Yüz Lazer Kesimini Alma

Faceplate Lasercut'ı Alma
Faceplate Lasercut'ı Alma
Faceplate Lasercut'ı Alma
Faceplate Lasercut'ı Alma
Faceplate Lasercut'ı Alma
Faceplate Lasercut'ı Alma

Elle keserken ve boyarken temiz, profesyonel bir görünüm elde etmek çok zordur. Neyse ki, lazer kesim artık çok pahalı değil. Tasarımınız doğru olduğu sürece aşırı hassasiyet sağlar.

Affinity Designer ve ücretsiz InkScape gibi diğer vektör çizim programlarına uygun formatlardaki ön yüz tasarımım ektedir.

Ön yüz lazer kesimini Hollanda'da Lichtzwaard'da yaptırdım. O zamandan beri kapandılar ve faaliyetler, kutu lazer kesimini yaptırdığım Laserbeest tarafından devralındı. Her mağazanın tasarım için farklı gereksinimleri olabilir, bu nedenle göndermeden önce mağazanıza danışın. Ayrıca neredeyse her zaman saatlik ücret karşılığında tasarım yardımı sunarlar.

Akılda tutulması gereken önemli şeyler:

  • Her şey vektör tabanlı olmalıdır. Bu yüzden ön yüz tasarımımdaki logo kazınmadı. Bunun ekli tasarımlarda sabit olmadığını unutmayın.
  • Metin bile vektör tabanlı olabilir. Öyleyse bu harfleri eğrilere dönüştürün!
  • Ölçüm. Ölçüm. Ölçüm. Joystickleri monte etmek için gereken boyutu hesaba katamadım ve onu kesmek zorunda kaldım. Neyse ki iyi çıktı. Bunun ekli tasarımlarda sabit olduğunu unutmayın.

Her şeyi iyice kontrol ettikten sonra lazer kesim atölyesine gönderin. Hollanda'da 40-50 Euro ödemeyi ve ertesi gün postayla bu güzel sonucu almayı bekleyin!

Adım 6: Düğmeleri ve Anahtarları Bağlama

Düğmeleri ve Anahtarları Bağlama
Düğmeleri ve Anahtarları Bağlama
Düğmeleri ve Anahtarları Bağlama
Düğmeleri ve Anahtarları Bağlama
Düğmeleri ve Anahtarları Bağlama
Düğmeleri ve Anahtarları Bağlama

Çoğu anahtar ve düğme, C, NO, NC, +, - etiketli konektörlere sahiptir. Onları Arduino'ya nasıl bağlayacağınız aşağıda açıklanmıştır.

Basit anahtar veya buton:

  • Zemin C (ortak)
  • Arduino dijital pin NO (normalde açık)

Dijital pini INPUT_PULLUP olarak yapılandıracağız, bu Arduino'nun pini 5V'da tutacağı ve pinin ne zaman topraklandığını algılayacağı ve bunu bir giriş olarak değerlendireceği anlamına gelir. Anahtar veya düğme üzerindeki NO konektörü Normalde Açık olduğundan devre bağlı değildir. Düğmeye bastığınızda veya anahtarı değiştirdiğinizde devre kapanır ve pin topraklanır.

LED'li buton:

Düğme kısmı yukarıdakiyle aynıdır. LED için ek kablolar eklersiniz:

  • Zemin - (negatif)
  • Arduino dijital pin + (pozitif)

Bu kısım oldukça basittir. Arduino pinini normal OUTPUT modunda kullanacağız.

LED'li emniyet şalterleri:

Bunlar biraz farklıdır ve anahtar konumundan bağımsız olarak LED üzerinde kontrole izin vermez. LED her zaman sadece anahtar açıldığında yanacaktır. +, - ve sinyal konektörü vardır.

  • Zemin - (negatif)
  • 5V + (pozitif)
  • Arduino dijital pin S (sinyal)

Arduino pinini INPUT modunda kullanacağız. Anahtar açıldığında, LED yanar ve sinyal pimi yükselir.

Adım 7: Joystick'leri ve LCD'yi Bağlama

Joystickleri ve LCD'yi Bağlama
Joystickleri ve LCD'yi Bağlama
Joystickleri ve LCD'yi Bağlama
Joystickleri ve LCD'yi Bağlama
Joystickleri ve LCD'yi Bağlama
Joystickleri ve LCD'yi Bağlama

LCD

LCD çok basittir. Sadece güç, toprak ve seriye ihtiyacı var.

  • 5V VDD
  • zemin GND
  • Arduino Tx PIN RX

Bir JST konektörü kullanabilir veya kabloları doğrudan karta lehimleyebilirsiniz.

Oyun çubukları

Oyun çubukları ilk başta göz korkutucu görünebilir, ancak bağlantı kurmaları oldukça kolaydır. Aynı şekilde bağlanan üç eksen vardır. Bunlardan ikisi joystick'in altındaki konektörleri kullanıyor. Üçüncüsü bazı teller kullanır.

  • Zemin
  • Silecek Arduino analog giriş pimi
  • 5V

Konektörler bu sırayla eklenebilir. Geri alma konusunda endişelenme, silecek her zaman ortadakidir. Güç ve toprak değiştirilirse, daha sonra Arduino kodunda ekseni çevirebiliriz.

Joystick'inizde teller farklı bir renk şemasına sahip olabilir, ancak genel olarak: aynı renklere sahip iki tel, üstteki düğme içindir. Kırmızı veya turuncu 5V, Siyah veya kahverengi Topraktır. Kalan tel silecektir.

Adım 8: LED Bar Yakıt Göstergeleri

LED Bar Yakıt Göstergeleri
LED Bar Yakıt Göstergeleri
LED Bar Yakıt Göstergeleri
LED Bar Yakıt Göstergeleri
LED Bar Yakıt Göstergeleri
LED Bar Yakıt Göstergeleri

Peki. Bu, tüm yapının en zor kısmı. İlk yapınızda bunu atlamaktan çekinmeyin veya geliştirin ve bana bildirin!

Yakıt göstergesi olarak kullanmak istediğim harika LED çubuklarım var. Üst LED mavi, sonra biraz yeşil, ardından turuncu ve son olarak kırmızıdır. Bir seferde bir LED yakabilirsek, uzay aracımızdaki yakıt seviyesini temsil etmesine izin verebiliriz.

Başlangıçta onlarla birlikte sürücü IC'leri sipariş ettim. Harika çalışıyorlar! Nokta modunu veya çubuk modunu seçebilirsiniz ve analog giriş voltajını tek bir LED (nokta) veya bir dizi LED (bar) olarak görüntüler. Ancak bir Arduino analog voltaj vermez! Ve bir tür analog voltajı taklit ederek bir LED'i kısmanıza izin veren PWM özelliği, bu sürücü IC'lerinde çalışmaz.

Plan 2'ye geç: Kayıtları kaydır. Her Arduino başlangıç kitinde bunlarla çalışabilirsiniz. Ve onlar hakkında daha fazla bilgiyi buradan edinebilirsiniz:

Plan, yakıt seviyelerini bir şekilde LED çubuklarındaki yakıt seviyelerini temsil edecek uygun bit dizisine dönüştürmektir. 5 yakıt göstergesi ile, doldurulan tüm yakıt seviyelerinin 10000000001000000000100000000010000000001000000000 olması gerekir. Monopropellant boşken, 10000000001000000000100000000010000000000000000001 olur.

Yeterince basit ses. Bazı komplikasyonlar var. Kaydırma yazmaçları 8 pime sahipken LED çubukları 10 LED'e sahiptir. 56 çıktı almak için 7 vardiya kaydı kullanıyorum. Onları kablolarken, bir yerde bir IC pinini atladım (bunu koda sığdıracağız). Ve diğer uçtan başlayarak bir LED çubuğu bağladım (bunu kodda düzelteceğiz). Oh ve ihtiyacımız olan Arduino matematiği bazen yuvarlama hatalarına neden olan kayan nokta aritmetiği kullanır (bunu kodda düzelteceğiz). Kodu daha sonraki bir adımda paylaştığımı unutmayın.

Son derlemem ekteki bağlantı şemasıyla eşleşmedi, bu nedenle bu denetleyiciyi yeniden oluşturursanız kodda bazı güncellemeler gerekir. Yardıma ihtiyacınız varsa aşağıya yorum yapın.

Her LED kendi direncini gerektirir. Parlaklığı eşleştirmek için bazı farklı değerler deneyin. Yeşil, aynı dirençlerle kırmızıdan çok daha parlak görünür, bu yüzden bunu dengelemeye yardımcı olur.

Sonuç: 5 LED çubuğuna güç sağlamak için gereken 50 dijital pin yerine, bu 3'e düşürüldü: bir saat sinyali, bir mandal sinyali ve bir veri sinyali.

Adım 9: Muhafazayı İnşa Etme

Muhafazayı İnşa Etme
Muhafazayı İnşa Etme
Muhafazayı İnşa Etme
Muhafazayı İnşa Etme
Muhafazayı İnşa Etme
Muhafazayı İnşa Etme
Muhafazayı İnşa Etme
Muhafazayı İnşa Etme

O logolarla intikamımı alma zamanı!

Logoları uygun vektör çizimlerine dönüştürdüm, böylece iyi bir şekilde kazınsınlar. Bu sefer farklı bir sorunum var. Vida delikleri kutunun düzgün montajı için doğru yerde değil. Kutu için 6mm MDF kullandım. Ne yazık ki, çivilemenin kenarlara vidalanması, ayrılmalarına neden olur. Ek ahşap artıkları ve yapıştırıcı ile birlikte hackledim. Bir sürü yapıştırıcı.

Ahşap, yapıştırıcı ve/veya çivi ile daha iyi olanlarınız için, tasarımların vida delikleri olmayan bir versiyonunu ekledim.

Zorluklara rağmen, sonuç oldukça kaygan.

Adım 10: Yazılım ve Test Etme

Image
Image
Yazılım ve Test
Yazılım ve Test

Kontrolörün Kerbal Space Program ile çalışmasını sağlamak için aşağıdaki yazılımı indirin:

KSP eklentisi:

ZIP dosyası derlenmiş eklentidir. Gerisi, eklentiyi değiştirmek ve kendi sürümünüzü derlemek için kullanabileceğiniz kaynak koddur. Eklentiyi GamaData dizinine açın.

Arduino Kodu:

Kodu denetleyicinizdeki Arduino Mega'ya yüklemek için Arduino IDE'yi kullanın.

Denetleyicinin hangi seri bağlantı noktasında olduğunu bulmak için Arduino IDE'nin sağ alt kısmına bakın (örn. /dev/cu.usbmodem1421). Eklenti dizininden config.xml dosyasını açın ve bağlantı noktanızın dolu olduğundan emin olun. Artık hazırsınız!

Sol üstteki küçük açma/kapama düğmesini AÇIK konumuna getirerek hata ayıklama modunu kullanabilirsiniz. LCD bir harf dizisi göstermelidir. Her harf bir düğmeyi veya anahtarı temsil eder ve düğmeye bastığınızda veya düğmeyi değiştirdiğinizde küçük ve büyük harf arasında geçiş yapar. xyz anahtarlarının Xyz (açık/kapalı/kapalı) olarak ayarlanması, gaz kelebeği sürgü değerlerini de görüntüleyecektir. xYz, Çeviri (sol) joystick için joystick değerlerini görüntüler. Döndürme (sağ) joystick için xyZ.

LCD Modları

X, y ve z anahtarları kullanılarak LCD'de görüntülenmek üzere aşağıdaki görüntü modları seçilebilir

Kalkış Modu: Yüzey Hızı / Hızlanma (G)

Yörünge Modu: Apoapsis + Apoapsis / Periapsis Zamanı + Periapsis Zamanı

Manevra Modu: Bir sonraki manevra düğümüne kadar geçen süre / Bir sonraki düğüm için Kalan Delta-V

Randevu Modu: Hedefe uzaklık / Hedefe göre hız

Yeniden Giriş Modu: Yüzde aşırı ısınma (maks) / Yavaşlama (G)

Uçuş Modu: Rakım / Mach sayısı

İniş Modu: Radar İrtifa / Dikey Hız

Ekstra Mod: uygulanmadı (henüz)

Farklı modları çalışırken görmek için talimatların sonundaki videoya bakın.

Adım 11: Ay'a

Image
Image
Ay'a!
Ay'a!

KSP'yi ateşleyin, en sevdiğiniz gemiyi yükleyin veya yeni bir gemi inşa edin ve yola çıkın!

İpuçları:

  • Merdivenleriniz için özel eylem grubu 5'i kullanın
  • Güneş panelleriniz için özel eylem grubu 6'yı kullanın
  • Paraşütler veya drogue olukları için özel eylem grubu 7'yi kullanın
  • Fırlatma kaçış sistemini ve uygun ayrıştırıcıları Durdur eylem grubuna atayın
  • Hazırlama düğmesini etkinleştirmeniz gerektiğini unutmayın
Arduino Yarışması 2017
Arduino Yarışması 2017
Arduino Yarışması 2017
Arduino Yarışması 2017

Arduino Yarışması 2017'de İkincilik

İlk Kez Yazar Yarışması 2018
İlk Kez Yazar Yarışması 2018
İlk Kez Yazar Yarışması 2018
İlk Kez Yazar Yarışması 2018

İlk Kez Yazar Yarışması 2018'de İkincilik

Önerilen: