Taula de continguts:

KerbalController: un tauler de control personalitzat per al joc de coets Programa espacial Kerbal: 11 passos (amb imatges)
KerbalController: un tauler de control personalitzat per al joc de coets Programa espacial Kerbal: 11 passos (amb imatges)

Vídeo: KerbalController: un tauler de control personalitzat per al joc de coets Programa espacial Kerbal: 11 passos (amb imatges)

Vídeo: KerbalController: un tauler de control personalitzat per al joc de coets Programa espacial Kerbal: 11 passos (amb imatges)
Vídeo: Night 2024, Juliol
Anonim
KerbalController: un tauler de control personalitzat per al programa espacial Kerbal de Rocket Game
KerbalController: un tauler de control personalitzat per al programa espacial Kerbal de Rocket Game

Per què construir un KerbalController?

Bé, perquè prémer botons i llançar interruptors físics se sent molt més substancial que fer clic amb el ratolí. Sobretot quan es tracta d’un gran interruptor de seguretat vermell, on primer heu d’obrir la tapa, feu lliscar l’interruptor per armar el coet, inicieu el compte enrere i 3.. 2.. 1.. ja tenim la sortida!

Què és un KerbalController?

Un KerbalController, també conegut com a tauler de control, Simpit (cockpit simulat), DSKY (teclat de visualització) o joystick personalitzat, és un dispositiu d’entrada personalitzat per controlar el popular coet que construeix i vola i, amb sort, no explota. Programa Kerbal Space del joc combinat amb la sortida opcional del joc, com ara llums d'estat, pantalles de telemetria i / o indicadors de combustible.

Aquesta versió específica inclou entrades com ara controls de rotació i translació mitjançant palanques de control, un control lliscant de l’accelerador, un munt de botons amb llums d’estat, indicadors de combustible LED i una pantalla LCD de telemetria amb diversos modes.

Aquesta guia inclourà tot el que necessiteu per crear una còpia idèntica o fer ajustos i millores al llarg del camí, segons considereu convenient. S’inclouen:

  • una llista de peces
  • dibuixos de disseny digital a punt per tallar
  • instruccions de cablejat
  • Codi Arduino
  • Codi del complement KSP que l'acompanya
  • Un munt d'imatges

A punt per l’enlairament? Som-hi!

Pas 1: les eines

Les eines
Les eines

L'eina més important que cal tenir per a aquesta construcció és un soldador. Això inclou una mica de soldadura, una esponja de neteja metàl·lica per netejar la punta del soldador i una "tercera mà".

Altres eines són un separador de filferro, un tallador de filferro, unes pinces i alguns tornavisos de mida petita.

Pas 2: parts i disseny bàsic

Parts i disseny bàsic
Parts i disseny bàsic
Parts i disseny bàsic
Parts i disseny bàsic

Fer el millor controlador possible significa seleccionar exactament quins botons i commutadors voleu implementar. Perquè tothom juga el joc de manera diferent. Algunes persones volen avions i construeixen SSTO (single-step-to-orbit). Altres prefereixen els rovers de les estacions espacials. I alguns només volen que les coses exploten espectacularment.

Ajuda a dibuixar totes les parts en la seva mida aproximada i arrossegar-les al voltant en un programa de dibuix vectorial (com Affinity Designer o Inkscape) o un programa de dibuix en 3D (com SketchUp).

Si voleu una compilació més fàcil, només podeu copiar el controlador i obtenir les parts que apareixen a la llista de peces adjuntes.

Pas 3: creeu un prototip (opcional)

Creeu un prototip (opcional)
Creeu un prototip (opcional)
Creeu un prototip (opcional)
Creeu un prototip (opcional)

Si copieu el controlador, podeu ometre aquest pas.

Si voleu un disseny personalitzat, us recomano utilitzar primer una caixa de sabates per crear un prototip de treball amb els controls principals. Realment ajuda a afinar la posició dels controls principals. També és bo tenir la confiança que podeu fer funcionar abans de continuar invertint temps i diners en la versió final. De fet, vaig jugar durant força temps amb el controlador de la caixa de sabates. No és la manera Kerbal d’utilitzar peces recuperades per piratejar alguna cosa junts?

Pas 4: consells sobre el cablejat

Consells sobre el cablejat
Consells sobre el cablejat
Consells sobre el cablejat
Consells sobre el cablejat
Consells sobre el cablejat
Consells sobre el cablejat

Quan creeu un prototip, no torneu a soldar tots els botons, tret que vulgueu desoldar-los quan arribeu al recinte final. Vaig soldar alguns cables als botons i vaig utilitzar una placa de soldadura sense soldar per fer les connexions temporals amb l'Arduino.

En connectar tots els aparells electrònics a la placa frontal final, podeu reduir el desordre creant bucles per a 5V i terra. No connecteu tots els pins de terra directament a l'Arduino, sinó que connecteu la terra d'un botó a la terra del botó següent i feu un bucle al voltant. Finalment, us connecteu a l’Arduino.

Després de crear bucles d’alimentació i connexió a terra, queden totes les connexions als pins Arduino. Recomano aconseguir algunes tires de passadors de capçalera i soldar els cables. Podeu utilitzar-los com a connector gran, de manera que encara podeu desconnectar el vostre Arduino per provar-los.

La longitud dels cables és un equilibri entre prou curt per mantenir el recinte lliure d’excés d’embulls de fil (que pot evitar que pugueu tancar la caixa) i prou llarg per poder moure les peces fora del camí per soldar altres parts, estreneu els cargols i col·loqueu-los amb el multímetre mentre es depura.

Pas 5: Obtenir el frontal de Lasercut

Obtenir el Faceplate Lasercut
Obtenir el Faceplate Lasercut
Obtenir el Faceplate Lasercut
Obtenir el Faceplate Lasercut
Obtenir el Faceplate Lasercut
Obtenir el Faceplate Lasercut

Assolir un aspecte professional i net és molt difícil a l’hora de serrar i pintar a mà. Per sort, el tall amb làser ja no és molt car. Permet una precisió extrema, sempre que el vostre disseny sigui precís.

S'adjunta el disseny del meu frontal, en formats adequats per a Affinity Designer i altres programes de dibuix vectorial com InkScape gratuït.

A Lichtzwaard, vaig tenir la retallada de la placa frontal als Països Baixos. Des de llavors han tancat i Laserbeest ha assumit les activitats, on em van tallar el làser de la caixa. És possible que totes les botigues tinguin requisits diferents per al disseny, així que consulteu amb la vostra botiga abans d’enviar-la. Gairebé sempre ofereixen ajuda al disseny a una tarifa horària.

Coses importants que cal tenir en compte:

  • Tot ha de ser basat en vectors. Per això, el logotip del disseny de la meva placa frontal no es va gravar. Tingueu en compte que això no està fixat en els dissenys adjunts.
  • Fins i tot el text es basa en el vector. Així que converteu aquestes lletres en corbes.
  • Mesura. Mesura. Mesura. No he tingut en compte la mida necessària per muntar els joysticks i he hagut de piratejar-lo. Va sortir bé, per sort. Tingueu en compte que això es fixa als dissenys adjunts.

Després de comprovar-ho tot a fons, envieu-lo a la botiga de tall de laser. Espereu pagar 40-50 euros als Països Baixos i obtenir aquest bonic resultat per correu el dia següent.

Pas 6: connectar els botons i els commutadors

Connectar botons i interruptors
Connectar botons i interruptors
Connectar botons i interruptors
Connectar botons i interruptors
Connectar botons i interruptors
Connectar botons i interruptors

La majoria dels commutadors i botons tenen els connectors etiquetats com C, NO, NC, +, -. A continuació s’explica com connectar-los a l’Arduino.

Commutador o polsador senzill:

  • Terra C (comú)
  • PIN digital Arduino NO (normalment obert)

Configurarem el pin digital com INPUT_PULLUP, el que significa que l’Arduino mantindrà el pin a 5V i detectarà quan el pin es posa a terra i el tractarà com una entrada. El connector NO de l’interruptor o del botó està obert normalment, de manera que el circuit no està connectat. En prémer el botó o commutar l’interruptor, el circuit es tanca i el pin es posa a terra.

Polsador amb LED:

La part del botó és la mateixa que l'anterior. Per al LED, connecteu cables addicionals:

  • Terra - (negatiu)
  • Pin digital Arduino + (positiu)

Aquesta part és bastant senzilla. Farem servir el pin Arduino en mode OUTPUT normal.

Interruptors de seguretat amb LED:

Són una mica diferents i no permeten controlar el LED independentment de la posició del commutador. El LED sempre s’encendrà sempre que l’interruptor estigui activat. Tenen un connector +, - i de senyal.

  • Terra - (negatiu)
  • 5V + (positiu)
  • Pin digital Arduino S (senyal)

Utilitzarem el pin Arduino en mode INPUT. Quan l’interruptor està activat, el LED s’encén i el pin de senyal augmenta.

Pas 7: connectar els joysticks i la pantalla LCD

Connectar els joysticks i la pantalla LCD
Connectar els joysticks i la pantalla LCD
Connectar els joysticks i la pantalla LCD
Connectar els joysticks i la pantalla LCD
Connectar els joysticks i la pantalla LCD
Connectar els joysticks i la pantalla LCD

LCD

La pantalla LCD és molt senzilla. Només necessita alimentació, terra i sèrie.

  • VDD de 5V
  • Terra GND
  • Arduino Tx PIN RX

Podeu utilitzar un connector JST o soldar els cables directament a la placa.

Joysticks

Els joysticks al principi poden semblar descoratjadors, però són fàcils de connectar. Hi ha tres eixos connectats de la mateixa manera. Dos d’ells fan servir els connectors de la part inferior del joystick. El tercer utilitza alguns cables.

  • Terra
  • Pin d'entrada analògica Wiper Arduino
  • 5V

Els connectors es poden connectar en aquest ordre. No us preocupeu per fer-lo enrere, l’eixugaparabrises sempre és el mig. Si s’intercanvien l’alimentació i la terra, podem girar l’eix al codi Arduino més endavant.

Els cables poden tenir un esquema de coloració diferent al vostre joystick, però en general: els dos cables amb colors idèntics són per al botó de la part superior. El vermell o taronja és de 5 V, el negre o el marró és terra. El cable restant és el netejador.

Pas 8: indicadors de combustible de la barra LED

Indicadors de combustible de la barra LED
Indicadors de combustible de la barra LED
Indicadors de combustible de la barra LED
Indicadors de combustible de la barra LED
Indicadors de combustible de la barra LED
Indicadors de combustible de la barra LED

Bé. Aquesta és la part més difícil de tota la construcció. No dubteu a ometre-ho a la vostra primera versió o a millorar-lo i feu-m'ho saber.

Tinc aquestes fantàstiques barres LED que vull utilitzar com a indicadors de combustible. El LED superior és blau, després verd, després taronja i finalment vermell. Si podem encendre un LED a la vegada, podem deixar-lo representar el nivell de combustible de la nostra nau espacial.

Inicialment, vaig demanar ICs del conductor amb ells. Funcionen molt bé! Podeu seleccionar el mode de punt o el mode de barra i mostrarà una tensió d’entrada analògica com un sol LED (punt) o un rang de LED (barra). Però un Arduino no genera una tensió analògica. I la característica PWM que us permet atenuar un LED emulant una tensió analògica no funciona amb aquests IC de controladors.

En el pla 2: registres de torns. Comenceu a treballar amb aquests a tots els equips d’inici Arduino. I podeu obtenir-ne més informació aquí:

El pla és convertir d'alguna manera els nivells de combustible en la cadena adequada de bits que representin els nivells de combustible de les barres LED. Amb cinc indicadors de combustible, tots els nivells de combustible emplenats haurien de ser 10000000001000000000001000000000000000000000000000000. Amb el monopropel·lant buit, passaria a ser: 10000000001000000000000000000000000000000000000000000.

Sona prou senzill. Hi ha algunes complicacions. Els registres de desplaçament tenen 8 pins, mentre que les barres LED tenen 10 LED. Utilitzo 7 registres de torn per obtenir 56 sortides. En connectar-los, he saltat un pin IC en algun lloc (ho ajustarem al codi). I estic connectant una barra LED començant per l'altre extrem (ho solucionarem al codi). Ah i les matemàtiques Arduino que necessitem de vegades utilitzen aritmètica de punt flotant que provoca errors d'arrodoniment (ho solucionarem al codi). Tingueu en compte que comparteixo el codi en un pas posterior.

La meva versió final no coincidia amb l’esquema de cablejat adjunt, de manera que si torneu a construir aquest controlador, cal fer algunes actualitzacions del codi. Comenteu a continuació si necessiteu ajuda.

Cada LED requereix la seva pròpia resistència. Proveu alguns valors diferents per tal que coincideixin amb la brillantor. El verd sembla molt més brillant que el vermell amb les mateixes resistències, de manera que ajuda a equilibrar-lo.

Resultat final: en lloc de 50 pins digitals necessaris per alimentar les 5 barres LED, es redueix a 3: un senyal de rellotge, un senyal de tancament i un senyal de dades.

Pas 9: construcció del recinte

Construint el recinte
Construint el recinte
Construint el recinte
Construint el recinte
Construint el recinte
Construint el recinte
Construint el recinte
Construint el recinte

És hora de venjar-me amb aquests logotips!

He convertit el logotip en dibuixos vectorials adequats perquè quedin gravats bé. Aquesta vegada, tinc un problema diferent. Els forats del cargol no es troben als llocs adequats per al correcte muntatge de la caixa. Vaig utilitzar MDF de 6 mm per a la caixa. Malauradament, cargolar les ungles a les vores fa que es divideixin. El vaig piratejar juntament amb restes de fusta i cola addicionals. Molta cola.

Per a aquells que tingueu millor fusta, cola i / o claus, he adjuntat una versió dels dissenys sense els forats del cargol del tot.

Tot i les dificultats, el resultat final és força fluix.

Pas 10: programari i proves

Image
Image
Programari i proves
Programari i proves

Descarregueu el següent programari perquè el controlador funcioni amb el programa espacial Kerbal:

Connector KSP:

El fitxer ZIP és el complement compilat. La resta és codi font que podeu utilitzar per modificar el connector i compilar la vostra pròpia versió. Desempaqueteu el connector al directori GamaData.

Codi Arduino:

Utilitzeu l'IDE Arduino per penjar el codi a l'Arduino Mega del controlador.

Mireu a la part inferior dreta de l’IDE Arduino per esbrinar en quin port sèrie es troba el controlador (per exemple, /dev/cu.usbmodem1421). Obriu el fitxer config.xml del directori de connectors i assegureu-vos que el port estigui omplert. Ara esteu preparats.

Podeu utilitzar el mode de depuració posant el petit interruptor d’encesa / apagat superior esquerre a la posició ON. La pantalla LCD hauria de mostrar una cadena de lletres. Cada lletra representa un botó o commutador i canvia entre minúscules i majúscules quan premeu el botó o canvieu l'interruptor. Si configureu els commutadors xyz a Xyz (on / off / off) també es mostraran els valors del control lliscant de l'accelerador. xYz mostra els valors del joystick per al joystick de traducció (esquerra). xyZ per al joystick de rotació (dreta).

Modes LCD

Es poden seleccionar els modes de visualització següents per mostrar-los a la pantalla LCD mitjançant els commutadors x, y i z

Mode TakeOff: velocitat / acceleració de la superfície (G)

Mode d’òrbita: Apoapsis + Temps fins a Apoapsis / Periapsis + Temps fins a Periapsis

Mode de maniobra: temps fins al següent node de maniobra / Delta-V restant per al proper node

Mode de trobada: distància a l'objectiu / velocitat en relació amb l'objectiu

Mode de reintroducció: percentatge de sobreescalfament (màxim) / desacceleració (G)

Mode de vol: Altitud / número Mach

Mode d'aterratge: altitud del radar / velocitat vertical

Mode extra: encara no implementat

Per veure els diferents modes en acció, mireu el vídeo al final de la instrucció.

Pas 11: a la Lluna

Image
Image
A la lluna!
A la lluna!

Engegueu KSP, carregueu el vostre vaixell favorit o en construïu un de nou i llest.

Consells:

  • Utilitzeu el grup d'acció personalitzat 5 per a les vostres escales
  • Utilitzeu el grup d'acció 6 personalitzat per als vostres panells solars
  • Utilitzeu el grup d'acció personalitzat 7 per a paracaigudes o rascades de drogue
  • Assigneu el sistema d’escapament del llançament i els desacobladors adequats al grup d’acció Abort
  • No oblideu que heu d’armar el botó de posada en escena
Concurs Arduino 2017
Concurs Arduino 2017
Concurs Arduino 2017
Concurs Arduino 2017

Finalista del Concurs Arduino 2017

Concurs d’autors per primera vegada 2018
Concurs d’autors per primera vegada 2018
Concurs d’autors per primera vegada 2018
Concurs d’autors per primera vegada 2018

Accèssit al primer concurs d’autors 2018

Recomanat: