Cuprins:

KerbalController: un panou de control personalizat pentru jocul cu rachete Programul spațial Kerbal: 11 pași (cu imagini)
KerbalController: un panou de control personalizat pentru jocul cu rachete Programul spațial Kerbal: 11 pași (cu imagini)

Video: KerbalController: un panou de control personalizat pentru jocul cu rachete Programul spațial Kerbal: 11 pași (cu imagini)

Video: KerbalController: un panou de control personalizat pentru jocul cu rachete Programul spațial Kerbal: 11 pași (cu imagini)
Video: Test UZ signal 2024, Iulie
Anonim
KerbalController: un panou de control personalizat pentru programul spațial Kerbal Game Rocket
KerbalController: un panou de control personalizat pentru programul spațial Kerbal Game Rocket

De ce să construim un KerbalController?

Ei bine, pentru că apăsarea butoanelor și aruncarea comutatoarelor fizice se simte mult mai substanțială decât să dai clic pe mouse. Mai ales atunci când este un întrerupător mare de siguranță roșu, unde trebuie să deschideți mai întâi capacul, răsuciți comutatorul pentru a vă înarma racheta, începeți numărătoarea inversă și 3.. 2.. 1.. avem decolare!

Ce este un KerbalController?

Un KerbalController, denumit și Panou de control, Simpit (cockpit simulat), DSKY (tastatură de afișare) sau joystick personalizat, este un dispozitiv de intrare personalizat pentru controlul popularei construcții de rachete și zboruri și, sperăm, să nu explodeze jocul Kerbal Space Program combinat cu ieșirea opțională a jocului, cum ar fi luminile de stare, afișajele de telemetrie și / sau indicatoarele de combustibil.

Această construcție specifică include intrări, cum ar fi comenzi de rotație și de translație prin joystick-uri, un glisor al clapetei de accelerație, o mulțime de butoane cu lumini de stare, indicatoare de combustibil LED și un afișaj LCD de telemetrie cu mai multe moduri.

Acest ghid va include tot ce aveți nevoie pentru a construi o copie identică sau pentru a face ajustări și îmbunătățiri pe parcurs, după cum doriți. Sunt incluse:

  • o listă de piese
  • desene de proiectare digitale gata de tăiere cu laser
  • instrucțiuni de cablare
  • Cod Arduino
  • Cod pentru pluginul KSP însoțitor
  • O mulțime de poze

Gata de decolare? Să mergem!

Pasul 1: Instrumente

Uneltele
Uneltele

Cel mai important instrument pe care trebuie să îl aveți pentru această construcție este un fier de lipit. Aceasta include niște lipire, un burete de curățare a metalelor pentru a curăța vârful fierului de lipit și o „mână a treia”.

Alte instrumente sunt o decupătoare de sârmă, un tăietor de sârmă, o pensetă și câteva șurubelnițe de dimensiuni mici.

Pasul 2: Piese și aspect de bază

Piese și aspect de bază
Piese și aspect de bază
Piese și aspect de bază
Piese și aspect de bază

A face cel mai bun controler posibil pentru dvs. înseamnă să selectați exact ce butoane și comutatoare doriți să implementați. Pentru că toată lumea joacă altfel jocul. Unii oameni pilotează avioane și construiesc SSTO (un singur stadiu-pe-orbită). Alții preferă rover-urile stațiilor spațiale. Și unii își doresc doar ca lucrurile să explodeze spectaculos!

Vă ajută să desenați toate părțile în dimensiunea lor aproximativă și să le trageți într-un program de desen vectorial (cum ar fi Affinity Designer sau Inkscape) sau un program de desen 3D (cum ar fi SketchUp).

Dacă doriți o versiune mai ușoară, puteți doar să copiați controlerul meu și să obțineți piesele listate în lista de piese atașate.

Pasul 3: Creați un prototip (opțional)

Creați un prototip (opțional)
Creați un prototip (opțional)
Creați un prototip (opțional)
Creați un prototip (opțional)

Dacă copiați controlerul meu, puteți sări peste acest pas.

Dacă doriți un aspect personalizat, vă recomand să utilizați mai întâi o cutie de pantofi pentru a crea un prototip funcțional cu comenzile principale. Ajută într-adevăr la reglarea fină a poziției comenzilor principale. Este, de asemenea, plăcut să obțineți încrederea în care îl puteți face să funcționeze înainte de a continua să investiți timp și bani în construcția finală. De fapt, am jucat jocul destul de mult timp cu controlerul pentru cutia de pantofi. Nu este modul Kerbal de a folosi piese recuperate pentru a sparge ceva împreună?

Pasul 4: Sfaturi privind cablarea

Sfaturi despre cablare
Sfaturi despre cablare
Sfaturi despre cablare
Sfaturi despre cablare
Sfaturi despre cablare
Sfaturi despre cablare

Când creați un prototip, nu lipiți toate butoanele decât dacă doriți să le dezlipiți când ajungeți la incinta finală. Am lipit niște fire la butoane și am folosit o placă fără sudură pentru a face conexiunile temporare la Arduino.

Când conectați toate componentele electronice la placa finală, puteți reduce aglomerația creând bucle pentru 5V și masă. Nu conectați toți pinii de masă direct la Arduino, ci mai degrabă conectați masă pe un buton la masă pe butonul următor și buclați în jur. În cele din urmă, vă conectați la Arduino.

După crearea buclelor pentru alimentare și împământare, toate conexiunile la pinii Arduino rămân. Vă recomandăm să obțineți niște benzi de știfturi de antet și să lipiți firele cu acestea. Puteți să le utilizați ca un conector mare, astfel încât să puteți deconecta Arduino pentru testare.

Lungimea firelor este un act de echilibrare între suficient de scurt pentru a menține carcasa liberă de încurcături excesive de sârmă (ceea ce ar putea să vă împiedice să puteți închide cutia) și suficient de lungă pentru a putea muta părțile din cale să lipească în alte părți, strângeți șuruburile și împingeți-le cu multimetrul în timp ce depanați.

Pasul 5: Obținerea fațetei Lasercut

Obținerea fațetei Lasercut
Obținerea fațetei Lasercut
Obținerea fațetei Lasercut
Obținerea fațetei Lasercut
Obținerea fațetei Lasercut
Obținerea fațetei Lasercut

Obținerea unui aspect curat și profesional este foarte greu atunci când tăiați și vopsiți manual. Din fericire, tăierea cu laser nu mai este foarte costisitoare. Permite o precizie extremă, atâta timp cât designul dvs. este precis.

Atașat este designul meu de față, în formate adecvate pentru Affinity Designer și alte programe de desen vectorial, cum ar fi InkScape gratuit.

La Lichtzwaard am avut tăiatul cu față în Olanda. De atunci au fost închise și activitățile au fost preluate de Laserbeest, unde am avut cutia cu laser. Fiecare magazin poate avea cerințe diferite pentru proiectare, deci verificați-vă cu magazinul înainte de a trimite. De asemenea, oferă aproape întotdeauna ajutor pentru proiectare la o rată orară.

Lucruri importante de reținut:

  • Totul trebuie să fie bazat pe vectori. De aceea, logo-ul din designul plăcii mele nu s-a gravat. Rețineți că acest lucru nu este fixat în desenele atașate.
  • Chiar și textul se bazează pe vector. Deci, convertiți acele litere în curbe!
  • Măsura. Măsura. Măsura. Nu am reușit să iau în considerare dimensiunea necesară pentru montarea joystick-urilor și a trebuit să-l pirat. A ieșit bine, din fericire. Rețineți că acest lucru este fixat în desenele atașate.

După ce ați verificat totul cu atenție, trimiteți-l la magazinul de tăiere cu laser. Așteptați să plătiți 40-50 de euro în Olanda și să obțineți acest rezultat frumos prin poștă a doua zi!

Pasul 6: conectarea butoanelor și a comutatoarelor

Conectarea butoanelor și a comutatoarelor
Conectarea butoanelor și a comutatoarelor
Conectarea butoanelor și a comutatoarelor
Conectarea butoanelor și a comutatoarelor
Conectarea butoanelor și a comutatoarelor
Conectarea butoanelor și a comutatoarelor

Majoritatea comutatoarelor și butoanelor au conectorii etichetați C, NO, NC, +, -. Iată cum să le conectați la Arduino.

Comutator simplu sau buton:

  • Terenul C (comun)
  • PIN digital Arduino NU (normal deschis)

Vom configura pinul digital ca INPUT_PULLUP, ceea ce înseamnă că Arduino va menține pinul la 5V și va detecta când pinul se pune la pământ și îl va trata ca pe o intrare. Conectorul NO de pe comutator sau buton este normal deschis, astfel încât circuitul nu este conectat. Când apăsați butonul sau comutați comutatorul, circuitul se închide și pinul se împământă.

Buton cu LED:

Partea butonului este aceeași ca mai sus. Pentru LED, atașați fire suplimentare:

  • Teren - (negativ)
  • Pin digital Arduino + (pozitiv)

Această parte este destul de simplă. Vom folosi pinul Arduino în modul OUTPUT normal.

Întrerupătoare de siguranță cu LED:

Acestea sunt puțin diferite și nu permit controlul asupra LED-ului independent de poziția comutatorului. LED-ul se va aprinde întotdeauna numai atunci când comutatorul este pornit. Au un conector +, - și semnal.

  • Teren - (negativ)
  • 5V + (pozitiv)
  • Pinul digital S Arduino (semnal)

Vom folosi pinul Arduino în modul INPUT. Când comutatorul este pornit, LED-ul se aprinde și pinul de semnal se ridică.

Pasul 7: Conectarea joystick-urilor și a ecranului LCD

Conectarea joystick-urilor și a ecranului LCD
Conectarea joystick-urilor și a ecranului LCD
Conectarea joystick-urilor și a ecranului LCD
Conectarea joystick-urilor și a ecranului LCD
Conectarea joystick-urilor și a ecranului LCD
Conectarea joystick-urilor și a ecranului LCD

LCD

LCD-ul este foarte simplu. Are nevoie doar de alimentare, masă și serie.

  • 5V VDD
  • GND la sol
  • Arduino Tx PIN RX

Puteți utiliza un conector JST sau lipiți direct firele pe placa.

Joystick-uri

Joystick-urile ar putea părea descurajante la început, dar sunt destul de ușor de conectat. Există trei axe care sunt conectate în același mod. Doi dintre ei folosesc conectorii din partea de jos a joystick-ului. Al treilea folosește câteva fire.

  • Sol
  • Ștergător pin de intrare analogic Arduino
  • 5V

Conectorii pot fi atașați în această ordine. Nu vă faceți griji dacă îl veți întoarce, ștergătorul este întotdeauna cel din mijloc. Dacă puterea și solul sunt schimbate, putem întoarce axa în jurul codului Arduino mai târziu.

Sârmele ar putea avea o schemă de colorare diferită pe joystick, dar în general: cele două fire cu culori identice sunt pentru butonul de deasupra. Roșu sau portocaliu este 5V, negru sau maro este sol. Firul rămas este ștergătorul.

Pasul 8: Indicatoare de combustibil cu bare LED

Indicatoare de combustibil cu bare LED
Indicatoare de combustibil cu bare LED
Indicatoare de combustibil cu bare LED
Indicatoare de combustibil cu bare LED
Indicatoare de combustibil cu bare LED
Indicatoare de combustibil cu bare LED

Bine. Aceasta este cea mai grea parte a întregii construcții. Simțiți-vă liber să ignorați acest lucru la prima dvs. versiune sau să îl îmbunătățiți și anunțați-mă!

Am aceste bare grozave cu LED pe care vreau să le folosesc ca indicatoare de combustibil. LED-ul de sus este albastru, apoi verde, apoi portocaliu și, în cele din urmă, roșu. Dacă putem aprinde câte un LED la un moment dat, îl putem lăsa să reprezinte nivelul de combustibil de pe nava noastră spațială.

Am comandat inițial șoferul IC cu ei. Lucrează grozav! Puteți selecta modul punct sau modul bar și va afișa o tensiune de intrare analogică ca un singur LED (punct) sau o gamă de LED-uri (bar). Dar un Arduino nu produce o tensiune analogică! Iar caracteristica PWM care vă permite să estompați un LED emulând o tensiune analogică, nu funcționează cu aceste IC ale driverului.

În planul 2: registrii de schimbare. Trebuie să lucrați cu acestea în fiecare kit de pornire Arduino. Și puteți afla mai multe despre ele aici:

Planul este de a converti cumva nivelurile de combustibil în șirul adecvat de biți care vor reprezenta nivelurile de combustibil pe barele cu LED-uri. Cu 5 indicatoare de combustibil, toate nivelurile de combustibil umplute ar trebui să fie de 1000000000100000000100100000010010000000001000000000. Cu monopropellantul gol, acesta va deveni: 10000000001000000000100000000010000000000000000001.

Sună suficient de simplu. Există unele complicații. Registrele de schimbare au 8 pini, în timp ce barele cu LED-uri au 10 LED-uri. Folosesc 7 registre de schimb pentru a obține 56 de ieșiri. Când i-am conectat, am omis un pin IC undeva (o vom încadra în cod). Și conectez o bară cu LED-uri începând de la celălalt capăt (o vom remedia în cod). Oh și matematica Arduino de care avem nevoie, uneori folosește aritmetica în virgulă mobilă, care provoacă erori de rotunjire (o vom remedia în cod). Rețineți că împărtășesc codul într-un pas ulterior.

Construcția mea finală nu s-a potrivit cu schema de conectare atașată, deci dacă reconstruiți acest controler, sunt necesare câteva actualizări ale codului. Comentează mai jos dacă ai nevoie de asistență.

Fiecare LED necesită propriul rezistor. Încercați câteva valori diferite pentru a se potrivi cu luminozitatea. Verde pare mult mai strălucitor decât roșu cu aceleași rezistențe, deci ajută la echilibrarea acestuia.

Rezultatul final: în loc de 50 de pini digitali necesari pentru alimentarea celor 5 bare LED, care este redus la 3: un semnal de ceas, un semnal de blocare și un semnal de date.

Pasul 9: Construirea incintei

Construirea incintei
Construirea incintei
Construirea incintei
Construirea incintei
Construirea incintei
Construirea incintei
Construirea incintei
Construirea incintei

E timpul să mă răzbun cu acele sigle!

Am convertit sigla în desene vectoriale corespunzătoare, astfel încât să fie gravate foarte bine. De data aceasta, am o altă problemă. Găurile pentru șuruburi nu sunt în locurile potrivite pentru asamblarea corectă a cutiei. Am folosit MDF de 6 mm pentru cutie. Din păcate, înșurubarea cuie în margini le face să se despartă. L-am spart împreună cu resturi suplimentare de lemn și lipici. O mulțime de lipici.

Pentru cei dintre voi care sunt mai buni cu lemn, lipici și / sau cuie, am atașat o versiune a modelelor fără găurile de șuruburi.

În ciuda dificultăților, rezultatul final este destul de slab.

Pasul 10: Software și testare

Image
Image
Software și testare
Software și testare

Descărcați următorul software pentru a face ca controlerul să funcționeze cu programul spațial Kerbal:

Plugin KSP:

Fișierul ZIP este pluginul compilat. Restul este cod sursă pe care îl puteți utiliza pentru a modifica pluginul și a compila propria dvs. versiune. Despachetați pluginul în directorul GamaData.

Cod Arduino:

Utilizați IDE-ul Arduino pentru a încărca codul pe Arduino Mega din controler.

Uitați-vă în partea dreaptă jos a IDE-ului Arduino pentru a afla ce port serial este controlerul (de exemplu /dev/cu.usbmodem1421). Deschideți fișierul config.xml din directorul de pluginuri și asigurați-vă că portul este completat. Acum sunteți bine să mergeți!

Puteți utiliza modul de depanare plasând micul comutator de pornire / oprire în partea stângă sus în poziția ON. LCD-ul ar trebui să afișeze un șir de litere. Fiecare literă reprezintă un buton sau un comutator și comută între minuscule și majuscule atunci când apăsați butonul sau comutați comutatorul. Setarea comutatoarelor xyz în Xyz (pornire / oprire / oprire) va afișa, de asemenea, valorile glisorului clapetei de accelerație. xYz afișează valorile joystick-ului pentru joystick-ul Traducere (stânga). xyZ pentru joystick-ul Rotation (dreapta).

Moduri LCD

Următoarele moduri de afișare pot fi selectate pentru afișare pe ecranul LCD utilizând comutatoarele x, y și z

Mod TakeOff: viteza / accelerarea suprafeței (G)

Mod Orbită: Apoapsis + Timp până la Apoapsis / Periapsis + Timp până la Periapsis

Mod de manevră: timpul până la următorul nod de manevră / Delta-V rămas pentru următorul nod

Mod de întâlnire: Distanța față de țintă / Viteza față de țintă

Mod de reintrare: Procentaj de supraîncălzire (maxim) / Decelerare (G)

Mod de zbor: Altitudine / număr Mach

Mod de aterizare: Altitudine radar / viteză verticală

Mod suplimentar: neimplementat (încă)

Pentru a vedea diferitele moduri în acțiune, priviți videoclipul de la sfârșitul instructabilului.

Pasul 11: către Lună

Image
Image
Pana la luna!
Pana la luna!

Trageți KSP, încărcați nava preferată sau construiți una nouă și plecați!

Sfaturi:

  • Utilizați grupul de acțiuni personalizat 5 pentru scările dvs.
  • Utilizați grupul de acțiuni personalizat 6 pentru panourile solare
  • Utilizați grupul de acțiuni personalizat 7 pentru parașute sau jgheaburi
  • Alocați sistemul de evacuare a lansării și decuplatoarele corespunzătoare grupului de acțiune Abort
  • Nu uitați că trebuie să activați butonul Staging
Concurs Arduino 2017
Concurs Arduino 2017
Concurs Arduino 2017
Concurs Arduino 2017

Locul doi în concursul Arduino 2017

Primul concurs de autor 2018
Primul concurs de autor 2018
Primul concurs de autor 2018
Primul concurs de autor 2018

Locul doi în primul concurs de autor 2018

Recomandat: