Isi kandungan:

KerbalController: Panel Kawalan Khusus untuk Roket Permainan Kerbal Space Program: 11 Langkah (dengan Gambar)
KerbalController: Panel Kawalan Khusus untuk Roket Permainan Kerbal Space Program: 11 Langkah (dengan Gambar)

Video: KerbalController: Panel Kawalan Khusus untuk Roket Permainan Kerbal Space Program: 11 Langkah (dengan Gambar)

Video: KerbalController: Panel Kawalan Khusus untuk Roket Permainan Kerbal Space Program: 11 Langkah (dengan Gambar)
Video: Building & Orbiting A Giant Rocketship - The NEW Kerbal Space Program - SimpleRockets 2 Gameplay 2024, November
Anonim
KerbalController: Panel Kawalan Khusus untuk Program Ruang Angkasa Kerbal Game
KerbalController: Panel Kawalan Khusus untuk Program Ruang Angkasa Kerbal Game

Mengapa membina KerbalController?

Oleh kerana menekan butang dan membuang suis fizikal terasa jauh lebih penting daripada mengklik tetikus anda. Terutama apabila ia adalah suis keselamatan merah yang besar, di mana anda mesti membuka penutupnya terlebih dahulu, jentikkan suis untuk mempersenjatai roket anda, mulakan undur dan 3.. 2.. 1.. kita mempunyai daya angkat!

Apa itu KerbalController?

KerbalController, juga disebut sebagai Panel Kontrol, Simpit (kokpit simulasi), DSKY (papan kekunci paparan) atau joystick khusus, adalah alat input yang disesuaikan untuk mengendalikan roket-bangunan-dan-terbang-dan-mudah-mudahan-tidak-meletup yang popular permainan Kerbal Space Program digabungkan dengan output pilihan dari permainan, seperti lampu status, paparan telemetri dan / atau alat pengukur bahan bakar.

Binaan khusus ini merangkumi input seperti kawalan putaran dan terjemahan melalui joystick, slider pendikit, banyak butang dengan lampu status, tolok bahan bakar LED dan paparan LCD telemetri dengan pelbagai mod.

Panduan ini akan merangkumi semua yang anda perlukan untuk membina salinan yang sama, atau membuat penyesuaian dan penambahbaikan sepanjang masa, sesuai yang anda mahukan. Termasuk adalah:

  • senarai bahagian
  • lukisan reka bentuk digital siap untuk laser
  • arahan pendawaian
  • Kod Arduino
  • Kod untuk pemalam KSP yang disertakan
  • Banyak gambar

Bersedia untuk berlepas? Mari pergi!

Langkah 1: Alat

Alatan
Alatan

Alat terpenting yang anda perlukan untuk membina ini adalah besi pematerian. Itu termasuk beberapa pateri, span pembersih logam untuk membersihkan hujung besi pematerian dan "tangan ketiga".

Alat lain adalah penari wayar, pemotong wayar, pinset dan beberapa pemutar skru bersaiz kecil.

Langkah 2: Bahagian dan Susun atur Asas

Bahagian dan Susun atur Asas
Bahagian dan Susun atur Asas
Bahagian dan Susun atur Asas
Bahagian dan Susun atur Asas

Membuat pengawal yang terbaik untuk anda bermaksud memilih butang dan suis mana yang ingin anda laksanakan. Kerana setiap orang bermain permainan dengan cara yang berbeza. Sebilangan orang menerbangkan pesawat dan membina SSTO (tahap tunggal ke orbit). Yang lain lebih suka penumpang stesen angkasa. Dan ada yang hanya mahu benda meletup!

Ia membantu menarik semua bahagian dalam ukuran kira-kira dan menyeretnya ke dalam program lukisan vektor (seperti Affinity Designer atau Inkscape) atau program lukisan 3D (seperti SketchUp).

Sekiranya anda mahukan binaan yang lebih mudah, anda hanya boleh menyalin alat kawalan saya dan mendapatkan bahagian yang disenaraikan dalam senarai bahagian yang dilampirkan.

Langkah 3: Buat Prototaip (pilihan)

Buat Prototaip (pilihan)
Buat Prototaip (pilihan)
Buat Prototaip (pilihan)
Buat Prototaip (pilihan)

Sekiranya anda menyalin pengawal saya, anda boleh melangkau langkah ini.

Sekiranya anda menggunakan susun atur khusus, saya cadangkan menggunakan kotak kasut terlebih dahulu untuk membuat prototaip yang berfungsi dengan kawalan utama. Ia sangat membantu mengatur kedudukan kawalan utama. Ia juga bagus untuk mendapatkan keyakinan bahawa anda dapat membuatnya berfungsi sebelum anda terus melaburkan masa dan wang dalam pembinaan akhir. Saya sebenarnya bermain permainan ini dengan agak lama dengan pengawal kotak kasut saya. Bukankah itu cara Kerbal untuk menggunakan bahagian yang selamat untuk menggodam sesuatu bersama?

Langkah 4: Petua Pendawaian

Petua Pendawaian
Petua Pendawaian
Petua Pendawaian
Petua Pendawaian
Petua Pendawaian
Petua Pendawaian

Semasa membuat prototaip, jangan masukkan semua butang anda melainkan anda mahu membatalkan solder ketika anda sampai ke kandang terakhir. Saya memasangkan beberapa wayar ke butang dan menggunakan papan roti tanpa solder untuk membuat sambungan sementara ke Arduino.

Semasa menyambungkan semua elektronik ke pelat muka akhir, anda dapat mengurangkan kekacauan dengan membuat gelung untuk 5V dan arde. Anda tidak menyambungkan semua pin ground terus ke Arduino, melainkan menghubungkan ground pada satu butang ke ground pada butang seterusnya dan gelung di sekeliling. Akhirnya, anda menyambung ke Arduino.

Setelah membuat gelung untuk daya dan tanah, semua sambungan ke pin Arduino tetap ada. Saya cadangkan untuk mendapatkan beberapa helai pin header dan menyisipkan wayar pada kabel tersebut. Anda boleh menggunakannya sebagai penyambung besar, jadi anda masih boleh mencabut Arduino anda untuk ujian.

Panjang wayar adalah tindakan penyeimbangan antara cukup pendek untuk memastikan penutupnya bebas dari kekusutan wayar yang berlebihan (yang mungkin menghalang anda daripada menutup kotak) dan cukup lama untuk dapat menggerakkan bahagian-bahagian yang tidak boleh dipateri bahagian lain di dalamnya, ketatkan skru dan putar dengan multimeter anda semasa menyahpepijat.

Langkah 5: Mendapatkan Lasercut Faceplate

Mendapatkan Lasercut Faceplate
Mendapatkan Lasercut Faceplate
Mendapatkan Lasercut Faceplate
Mendapatkan Lasercut Faceplate
Mendapatkan Lasercut Faceplate
Mendapatkan Lasercut Faceplate

Mencapai penampilan yang bersih dan profesional sangat sukar ketika menggergaji dan mengecat dengan tangan. Nasib baik, pemotongan laser tidak lagi mahal. Ia membolehkan ketepatan yang melampau, selagi reka bentuk anda tepat.

Terlampir adalah reka bentuk pelat muka saya, dalam format yang sesuai untuk Affinity Designer dan program lukisan vektor lain seperti InkScape percuma.

Saya mempunyai lasercut pelat muka di Belanda di Lichtzwaard. Sejak itu ditutup dan aktiviti telah diambil alih oleh Laserbeest, di mana saya memotong laser kotak. Setiap kedai mungkin mempunyai keperluan yang berbeza untuk reka bentuk, jadi periksa dengan kedai anda sebelum mengirimkannya. Mereka juga selalu menawarkan bantuan reka bentuk pada kadar setiap jam.

Perkara penting yang perlu diingat:

  • Semuanya mesti berasaskan vektor. Itulah sebabnya logo dalam reka bentuk pelat muka saya tidak terukir. Perhatikan bahawa ini tidak diperbaiki dalam reka bentuk yang dilampirkan.
  • Malah teks mempunyai vektor berdasarkan. Oleh itu, ubah huruf tersebut menjadi lengkung!
  • Mengukur. Mengukur. Mengukur. Saya gagal mengambil kira ukuran yang diperlukan untuk memasang kayu bedik dan terpaksa menggodamnya. Nasib baik, bernasib baik. Perhatikan ini diperbaiki dalam reka bentuk yang dilampirkan.

Setelah memeriksa semuanya dengan teliti, hantarkan ke kedai laser. Berharap untuk membayar 40-50 euro di Belanda dan dapatkan hasil yang indah ini melalui surat pada keesokan harinya!

Langkah 6: Memasang Butang dan Suis

Memasang Butang dan Suis
Memasang Butang dan Suis
Memasang Butang dan Suis
Memasang Butang dan Suis
Memasang Butang dan Suis
Memasang Butang dan Suis

Sebilangan besar suis dan butang mempunyai penyambung berlabel C, NO, NC, +, -. Inilah cara untuk menghubungkan mereka ke Arduino.

Suis atau butang tekan mudah:

  • Tanah C (biasa)
  • Pin digital Arduino TIDAK (biasanya terbuka)

Kami akan mengkonfigurasi pin digital sebagai INPUT_PULLUP, yang bermaksud Arduino akan menyimpan pin pada 5V dan mengesan kapan pin dibumikan dan menganggapnya sebagai input. Penyambung NO pada suis atau butang Biasanya Terbuka, jadi litar tidak tersambung. Apabila anda menekan butang atau beralih suis, litar ditutup dan pin akan dibumikan.

Butang tekan dengan LED:

Bahagian butang adalah sama seperti di atas. Untuk LED, anda memasang wayar tambahan:

  • Tanah - (negatif)
  • Pin digital Arduino + (positif)

Bahagian ini cukup mudah. Kami akan menggunakan pin Arduino dalam mod OUTPUT biasa.

Suis keselamatan dengan LED:

Ini sedikit berbeza dan tidak membenarkan kawalan LED bebas dari kedudukan suis. LED akan sentiasa menyala ketika suis dihidupkan. Mereka mempunyai penyambung +, - dan isyarat.

  • Tanah - (negatif)
  • 5V + (positif)
  • Pin digital Arduino S (isyarat)

Kami akan menggunakan pin Arduino dalam mod INPUT. Apabila suis dihidupkan, LED menyala dan pin isyarat naik tinggi.

Langkah 7: Menghubungkan Joysticks dan LCD

Menyambungkan Joysticks dan LCD
Menyambungkan Joysticks dan LCD
Menyambungkan Joysticks dan LCD
Menyambungkan Joysticks dan LCD
Menyambungkan Joysticks dan LCD
Menyambungkan Joysticks dan LCD

LCD

LCDnya sangat ringkas. Ia hanya memerlukan daya, tanah dan siri.

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

Anda boleh menggunakan penyambung JST atau memateri wayar ke papan secara langsung.

Batang Joyist

Joystick mungkin kelihatan menakutkan pada mulanya, tetapi mudah untuk disambungkan. Terdapat tiga paksi yang dihubungkan dengan cara yang sama. Dua daripadanya menggunakan penyambung di bahagian bawah kayu bedik. Yang ketiga menggunakan beberapa wayar.

  • Tanah
  • Pin input analog Wiper Arduino
  • 5V

Penyambung boleh dipasang mengikut urutan ini. Jangan risau untuk mendapatkannya ke belakang, pengelap selalu yang tengah. Sekiranya kuasa dan tanah ditukar, kita dapat membalikkan paksi dalam kod Arduino kemudian.

Kawat mungkin mempunyai skema pewarnaan yang berbeza pada kayu bedik anda, tetapi secara umum: dua wayar dengan warna yang serupa adalah untuk butang di atas. Merah atau oren berukuran 5V, Hitam atau coklat adalah Tanah. Kawat yang tinggal adalah pengelap.

Langkah 8: Tolok Bahan Bakar Bar LED

Tolok Bahan Bakar Bar LED
Tolok Bahan Bakar Bar LED
Tolok Bahan Bakar Bar LED
Tolok Bahan Bakar Bar LED
Tolok Bahan Bakar Bar LED
Tolok Bahan Bakar Bar LED

Baik. Ini adalah bahagian paling sukar dari keseluruhan binaan. Jangan ragu untuk melangkau ini pada binaan pertama anda, atau memperbaikinya dan beritahu saya!

Saya mendapat bar LED hebat ini yang ingin saya gunakan sebagai alat pengukur bahan bakar. LED atas berwarna biru, kemudian beberapa hijau, kemudian oren dan akhirnya merah. Sekiranya kita dapat menyalakan satu LED pada satu masa, kita dapat membiarkannya mewakili tahap bahan bakar pada kapal angkasa kita.

Pada mulanya saya memesan IC pemandu bersama mereka. Mereka berfungsi dengan hebat! Anda boleh memilih mod titik atau mod bar dan ia akan memaparkan voltan input analog sebagai LED tunggal (titik) atau pelbagai LED (bar). Tetapi Arduino tidak mengeluarkan voltan analog! Dan ciri PWM yang membolehkan anda meredup LED dengan cara meniru voltan analog, tidak berfungsi dengan IC pemacu ini.

Hidup untuk merancang 2: daftar shift. Anda dapat bekerja dengan ini dalam setiap kit permulaan Arduino. Dan anda boleh mengetahui lebih lanjut mengenai mereka di sini:

Rencananya adalah dengan cara mengubah tahap bahan bakar menjadi rentetan bit yang tepat yang akan mewakili tahap bahan bakar pada bar LED. Dengan 5 alat pengukur bahan bakar, semua tingkat bahan bakar diisi harus 10000000001000000000100000000010000000001000000000. Dengan monopropellant kosong, akan menjadi: 100000000010000000001000000000100000000000000000000001.

Bunyi cukup sederhana. Terdapat beberapa komplikasi. Register shift mempunyai 8 pin, sementara bar LED mempunyai 10 LED. Saya menggunakan 7 shift register untuk mendapatkan 56 output. Semasa menyambungkannya, saya melangkau pin IC di suatu tempat (kami akan memasukkannya dalam kod). Dan saya memasang satu bar LED bermula di hujung yang lain (kami akan memperbaikinya dalam kod). Oh dan Arduino matematik yang kadang-kadang kita perlukan menggunakan aritmetik floating point yang menyebabkan kesilapan pembundaran (kita akan memperbaikinya dalam kod). Ambil perhatian bahawa saya akan berkongsi kodnya di kemudian hari.

Binaan akhir saya tidak sepadan dengan rajah pendawaian yang dilampirkan, jadi jika anda membina semula pengawal ini, beberapa kemas kini diperlukan pada kodnya. Komen di bawah jika anda memerlukan bantuan.

Setiap LED memerlukan perintangnya sendiri. Cuba beberapa nilai yang berbeza agar sesuai dengan kecerahan. Hijau kelihatan lebih terang daripada merah dengan perintang yang sama, jadi ia membantu mengimbangkannya.

Hasil akhir: bukannya 50 pin digital yang diperlukan untuk menghidupkan 5 bar LED, yang dikurangkan menjadi 3: isyarat jam, isyarat kait dan isyarat data.

Langkah 9: Membina Pagar

Membina Pagar
Membina Pagar
Membina Pagar
Membina Pagar
Membina Pagar
Membina Pagar
Membina Pagar
Membina Pagar

Masa untuk membalas dendam saya dengan logo itu!

Saya menukar logo menjadi lukisan vektor yang betul sehingga mereka terukir dengan baik. Kali ini, saya mempunyai masalah yang berbeza. Lubang skru tidak berada di tempat yang tepat untuk pemasangan kotak yang betul. Saya menggunakan MDF 6mm untuk kotak itu. Malangnya, mengikat paku ke tepi menyebabkannya terbelah. Saya menggodamnya bersama dengan sisa kayu dan gam. Banyak gam.

Bagi anda yang lebih baik menggunakan kayu, gam dan / atau paku, saya telah melampirkan versi reka bentuk tanpa lubang skru sama sekali.

Walaupun sukar, hasil akhirnya agak licin.

Langkah 10: Perisian dan Ujian

Image
Image
Perisian dan Ujian
Perisian dan Ujian

Muat turun perisian berikut untuk membuat pengawal berfungsi dengan Kerbal Space Program:

Pemalam KSP:

Fail ZIP adalah plugin yang disusun. Selebihnya adalah kod sumber yang boleh anda gunakan untuk mengubah suai pemalam dan menyusun versi anda sendiri. Membongkar pemalam ke dalam direktori GamaData.

Kod Arduino:

Gunakan Arduino IDE untuk memuat naik kod ke Arduino Mega di alat kawalan anda.

Lihat di kanan bawah Arduino IDE untuk mengetahui port bersiri di mana pengawal berada (mis. /Dev/cu.usbmodem1421). Buka fail config.xml dari direktori plugin dan pastikan port anda diisi. Sekarang anda sudah bersedia!

Anda boleh menggunakan mod debug dengan meletakkan suis on / off kecil kiri atas ke posisi ON. LCD harus memaparkan rentetan huruf. Setiap huruf mewakili butang atau suis dan beralih antara huruf kecil dan besar ketika anda menekan butang atau beralih beralih. Menetapkan suis xyz ke Xyz (hidup / mati / mati) juga akan memaparkan nilai slaid pendikit. xYz memaparkan nilai joystick untuk joystick Terjemahan (kiri). xyZ untuk kayu bedik Putaran (kanan).

Mod LCD

Mod paparan berikut dapat dipilih untuk paparan pada LCD dengan menggunakan suis x, y dan z

Mod TakeOff: Kecepatan / Pecutan Suface (G)

Mod Orbit: Apoapsis + Masa ke Apoapsis / Periapsis + Masa ke Periapsis

Mod manuver: Masa ke node manuver seterusnya / Sisa Delta-V untuk nod seterusnya

Mod Rendezvous: Jarak ke sasaran / Kecepatan berbanding sasaran

Mod Masuk Semula: Peratusan pemanasan berlebihan (maksimum) / Perlahan (G)

Flying Mode: Ketinggian / Nombor Mach

Mod Pendaratan: Ketinggian Radar / Kelajuan Vertikal

Mod Tambahan: belum dilaksanakan (belum)

Untuk melihat pelbagai cara tindakan, lihat video di hujung arahan.

Langkah 11: Ke Bulan

Image
Image
Ke bulan!
Ke bulan!

Nyalakan KSP, muat kapal kegemaran anda, atau bina yang baru dan pergi!

Petua:

  • Gunakan kumpulan tindakan khas 5 untuk tangga anda
  • Gunakan kumpulan tindakan khas 6 untuk panel solar anda
  • Gunakan kumpulan tindakan khusus 7 untuk payung terjun atau pelongsor drog
  • Tetapkan sistem pelarian pelarian dan penyahkod yang sesuai kepada kumpulan tindakan Abort
  • Jangan lupa anda perlu Memenangi butang Pementasan
Peraduan Arduino 2017
Peraduan Arduino 2017
Peraduan Arduino 2017
Peraduan Arduino 2017

Naib Johan dalam Peraduan Arduino 2017

Peraduan Pengarang Kali Pertama 2018
Peraduan Pengarang Kali Pertama 2018
Peraduan Pengarang Kali Pertama 2018
Peraduan Pengarang Kali Pertama 2018

Naib Johan dalam Peraduan Pengarang Kali Pertama 2018

Disyorkan: