INHOUDSOPGAWE:

KerbalController: 'n pasgemaakte bedieningspaneel vir vuurpyl -speletjies Kerbal Space -program: 11 stappe (met foto's)
KerbalController: 'n pasgemaakte bedieningspaneel vir vuurpyl -speletjies Kerbal Space -program: 11 stappe (met foto's)

Video: KerbalController: 'n pasgemaakte bedieningspaneel vir vuurpyl -speletjies Kerbal Space -program: 11 stappe (met foto's)

Video: KerbalController: 'n pasgemaakte bedieningspaneel vir vuurpyl -speletjies Kerbal Space -program: 11 stappe (met foto's)
Video: 10 Most Luxurious Limousines in the World 2024, November
Anonim
KerbalController: 'n pasgemaakte bedieningspaneel vir 'n Kerbal Space -program vir vuurpyle
KerbalController: 'n pasgemaakte bedieningspaneel vir 'n Kerbal Space -program vir vuurpyle

Waarom 'n KerbalController bou?

Omdat die druk op knoppies en die gooi van fisiese skakelaars soveel groter voel as om met u muis te klik. Veral as dit 'n groot rooi veiligheidsskakelaar is, waar u eers die deksel moet oopmaak, draai die skakelaar om u vuurpyl te bewapen, begin aftel en 3.. 2.. 1.. ons het 'n liftoff!

Wat is 'n KerbalController?

'N KerbalController, ook bekend as 'n bedieningspaneel, Simpit (gesimuleerde kajuit), DSKY (skermtoetsenbord) of pasgemaakte joystick, is 'n aangepaste invoertoestel vir die bestuur van die gewilde vuurpyl-bou-en-vlieg-en-hopelik-nie-ontplof spel Kerbal Space Program gekombineer met opsionele uitset uit die spel, soos statusligte, telemetrie -uitstallings en/of brandstofmeters.

Hierdie spesifieke konstruksie bevat insette soos rotasie- en vertaalkontroles deur middel van joysticks, 'n gasklep, baie knoppies met statusligte, LED -brandstofmeters en 'n telemetrie LCD -skerm met verskeie modi.

Hierdie gids bevat alles wat u nodig het om 'n identiese kopie te bou, of om aanpassings en verbeterings onderweg aan te bring, soos u goeddink. Ingesluit is:

  • 'n onderdele lys
  • digitale ontwerptekeninge gereed vir lasersny
  • bedrading instruksies
  • Arduino kode
  • Kode vir die meegaande KSP -inprop
  • Baie foto's

Gereed vir op styg? Kom ons gaan!

Stap 1: Die gereedskap

Die gereedskap
Die gereedskap

Die belangrikste hulpmiddel wat u vir hierdie konstruksie moet hê, is 'n soldeerbout. Dit bevat soldeer, 'n metaal skoonmaak spons om die punt van die soldeerbout skoon te maak en 'n "derde hand".

Ander gereedskap is 'n draadstropper, 'n draadknipper, 'n pincet en 'n paar klein skroewedraaiers.

Stap 2: Onderdele en basiese uitleg

Onderdele en basiese uitleg
Onderdele en basiese uitleg
Onderdele en basiese uitleg
Onderdele en basiese uitleg

Om die beste kontroleerder vir u te maak, beteken presies watter knoppies en skakelaars u wil implementeer. Omdat almal die spel anders speel. Sommige mense vlieg met vliegtuie en bou SSTO's (enkel-fase-na-baan). Ander verkies rovers van ruimtestasies. En sommige wil net hê dinge moet skouspelagtig ontplof!

Dit help om al die dele in hul benaderde grootte te teken en rond te sleep in 'n vektortekeningsprogram (soos Affinity Designer of Inkscape) of 3D -tekenprogram (soos SketchUp).

As u 'n makliker bou wil hê, kan u my kontroleerder kopieer en die onderdele op die aangehegte onderdele -lys kry.

Stap 3: Skep 'n prototipe (opsioneel)

Skep 'n prototipe (opsioneel)
Skep 'n prototipe (opsioneel)
Skep 'n prototipe (opsioneel)
Skep 'n prototipe (opsioneel)

As u my beheerder kopieer, kan u hierdie stap oorslaan.

As u 'n pasgemaakte uitleg het, beveel ek aan dat u eers 'n skoenboks gebruik om 'n werkende prototipe met die hoofkontroles te skep. Dit help regtig om die posisie van die hoofkontroles te verfyn. Dit is ook lekker om die vertroue te kry dat u dit kan laat werk voordat u aanhou om tyd en geld in die finale bou te belê. Ek het eintlik 'n hele ruk die speletjie gespeel met my skoenboksbeheerder. Is dit nie die Kerbal -manier om geredde dele te gebruik om iets saam te kap nie?

Stap 4: Wenke oor bedrading

Wenke oor bedrading
Wenke oor bedrading
Wenke oor bedrading
Wenke oor bedrading
Wenke oor bedrading
Wenke oor bedrading

As u 'n prototipe skep, moet u nie al u knoppies soldeer nie, tensy u dit wil ontsoldeer wanneer u by die finale omhulsel kom. Ek het 'n paar drade aan die knoppies gesoldeer en 'n soldeerlose broodbord gebruik om die tydelike verbindings met die Arduino te maak.

As u alle elektronika aan die finale voorplaat koppel, kan u rommel verminder deur lusse vir 5V en grond te skep. U verbind nie alle grondpenne direk met die Arduino nie, maar verbind die grond eerder met die een knoppie tot die grond op die volgende knoppie en draai alles om. Uiteindelik maak u verbinding met die Arduino.

Nadat u lusse vir krag en grond gemaak het, bly al die verbindings met die Arduino -penne. Ek beveel aan dat u 'n paar stroke kopstukke kry en die drade daaraan soldeer. U kan dit as 'n groot aansluiting gebruik, sodat u die Arduino steeds kan ontkoppel om te toets.

Die lengte van die drade is 'n balans tussen kort genoeg om die omhulsel vry van oortollige draaddraad te hou (wat kan verhoed dat u die boks kan sluit) en lank genoeg om dele uit die pad te kan beweeg om te soldeer ander dele in, draai skroewe vas en steek rond met u multimeter terwyl u ontfout.

Stap 5: Kry die voorplaat Lasercut

Kry die voorplaat Lasercut
Kry die voorplaat Lasercut
Kry die voorplaat Lasercut
Kry die voorplaat Lasercut
Kry die voorplaat Lasercut
Kry die voorplaat Lasercut

Dit is baie moeilik om 'n skoon, professionele voorkoms te verkry as u met die hand saag en skilder. Gelukkig is laser sny nie meer duur nie. Dit bied uiterste presisie, solank u ontwerp akkuraat is.

Hierby is my ontwerp van die voorplaat, in formate wat geskik is vir Affinity Designer en ander vektortekeningsprogramme soos die gratis InkScape.

Ek het 'n lasersnit in Lichtzwaard in Nederland gehad. Hulle is sedertdien gesluit en aktiwiteite is oorgeneem deur Laserbeest, waar ek die bokslaser laat sny het. Elke winkel kan verskillende vereistes vir die ontwerp hê, dus raadpleeg u winkel voordat u dit stuur. Hulle bied ook byna altyd ontwerphulp teen 'n uurlikse tarief aan.

Belangrike dinge om in gedagte te hou:

  • Alles moet op 'n vektor gebaseer wees. Daarom is die logo in my ontwerp van die voorplaat nie geëts nie. Let daarop dat dit nie vas is in die aangehegte ontwerpe nie.
  • Selfs teks moet vektor wees. Omskep dus die letters in krommes!
  • Meet. Meet. Meet. Ek het nie die grootte wat nodig is vir die montering van die joysticks in ag geneem nie en moes dit inbreek. Dit het gelukkig goed gegaan. Let daarop dat dit in die aangehegte ontwerpe vasgestel word.

Nadat u alles deeglik nagegaan het, stuur dit na die lasersnywinkel. Verwag dat u 40-50 euro in Nederland sal betaal en die volgende dag hierdie pragtige resultaat in die pos ontvang!

Stap 6: Sluit knoppies en skakelaars aan

Knoppies en skakelaars aansluit
Knoppies en skakelaars aansluit
Knoppies en skakelaars aansluit
Knoppies en skakelaars aansluit
Knoppies en skakelaars aansluit
Knoppies en skakelaars aansluit

Die meeste skakelaars en knoppies het die verbindings met die naam C, NO, NC, +, -. Hier is hoe u hulle aan die Arduino kan koppel.

Eenvoudige skakelaar of drukknop:

  • Grond C (algemeen)
  • Arduino digitale pen NO (normaalweg oop)

Ons stel die digitale pen in as INPUT_PULLUP, wat beteken dat die Arduino die pen op 5V sal hou en sal agterkom wanneer die pen geaard word en dit as 'n inset beskou. Die NO -aansluiting op die skakelaar of knoppie is normaalweg oop, dus is die kring nie gekoppel nie. As u op die knoppie druk of die skakelaar skakel, word die stroombaan gesluit en die pen word geaard.

Drukknop met LED:

Die knoppie is dieselfde as hierbo. Vir die LED heg u ekstra drade aan:

  • Grond - (negatief)
  • Arduino digitale pen + (positief)

Hierdie deel is redelik eenvoudig. Ons gebruik die Arduino -pen in die normale OUTPUT -modus.

Veiligheidsskakelaars met LED:

Dit is 'n bietjie anders en laat beheer oor die LED onafhanklik van die skakelaarposisie toe. Die LED sal altyd net brand as die skakelaar aangeskakel word. Hulle het 'n +, - en seinaansluiting.

  • Grond - (negatief)
  • 5V + (positief)
  • Arduino digitale pen S (sein)

Ons sal die Arduino -pen in die INPUT -modus gebruik. As die skakelaar aangeskakel word, brand die LED en die seinpen gaan hoog.

Stap 7: Verbind joysticks en die LCD

Verbind joysticks en die LCD
Verbind joysticks en die LCD
Verbind joysticks en die LCD
Verbind joysticks en die LCD
Verbind joysticks en die LCD
Verbind joysticks en die LCD

LCD

Die LCD is baie eenvoudig. Dit benodig net krag, grond en reeks.

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

U kan 'n JST -aansluiting gebruik of die drade direk aan die bord soldeer.

Joysticks

Die joysticks lyk aanvanklik skrikwekkend, maar dit is redelik maklik om aan te sluit. Daar is drie as wat op dieselfde manier verbind is. Twee van hulle gebruik die verbindings aan die onderkant van die joystick. Die derde gebruik 'n paar drade.

  • Grond
  • Wisser Arduino analoog invoerpen
  • 5V

Die verbindings kan in hierdie volgorde geheg word. Moenie bekommerd wees oor die agteruitgang nie, die ruitveër is altyd die middelste. As krag en grond omgeruil word, kan ons later die as in die Arduino -kode omdraai.

Die drade het 'n ander kleurskema op u joystick, maar in die algemeen: die twee drade met dieselfde kleure is vir die knoppie bo -op. Rooi of oranje is 5V, swart of bruin is gemaal. Die oorblywende draad is die ruitveër.

Stap 8: LED -staaf brandstofmeters

LED staaf brandstofmeters
LED staaf brandstofmeters
LED staaf brandstofmeters
LED staaf brandstofmeters
LED staaf brandstofmeters
LED staaf brandstofmeters

Goed. Dit is die moeilikste deel van die hele konstruksie. Slaan dit gerus oor op u eerste build, of verbeter dit en laat my weet!

Ek het hierdie wonderlike LED bars wat ek as brandstofmeters wil gebruik. Die boonste LED is blou, dan groen, dan oranje en uiteindelik rooi. As ons een LED op 'n slag kan aansteek, kan ons die brandstofvlak op ons ruimtetuig laat voorstel.

Ek het aanvanklik bestuurders -IC's by hulle bestel. Hulle werk puik! U kan die puntmodus of die staafmodus kies, en dit sal 'n analoog ingangsspanning as 'n enkele LED (punt) of 'n reeks LED's (staaf) vertoon. Maar 'n Arduino lewer nie 'n analoog spanning nie! En die PWM -funksie waarmee u 'n LED kan dim deur 'n analoog spanning na te boots, werk nie met hierdie bestuurders -IC's nie.

Op plan 2: skofregisters. U kan hiermee werk in elke Arduino -beginpakket. En u kan hier meer hieroor leer:

Die plan is om die brandstofvlakke op een of ander manier om te skakel in die regte string stukkies wat die brandstofvlakke op die LED -balke sal verteenwoordig. Met 5 brandstofmeters sou alle brandstofvlakke gevul moet word 10000000001000000000100000000010000000001000000000. Met monopropellant leeg, sou dit word: 1000000000100000000010000000001000000000000000000000000001.

Klink eenvoudig genoeg. Daar is 'n paar komplikasies. Die skofregisters het 8 penne, terwyl die LED -balke 10 LED's het. Ek gebruik 7 skofregisters om 56 uitsette te kry. Toe ek hulle inskakel, het ek 'n IC -pen êrens oorgeslaan (ons pas dit in die kode). En ek bedek die een LED -balk aan die ander kant (ons sal dit in kode regmaak). O, en Arduino -wiskunde wat ons benodig, gebruik soms dryfpunt -rekenkunde wat afrondingsfoute veroorsaak (ons sal dit in kode regstel). Let daarop dat ek die kode in 'n latere stap deel.

My finale bou pas nie by die aangehegte bedradingsdiagram nie, so as u hierdie beheerder herbou, is 'n paar opdaterings van die kode nodig. Lewer kommentaar hieronder as u hulp nodig het.

Elke LED benodig sy eie weerstand. Probeer 'n paar verskillende waardes om by die helderheid te pas. Groen lyk baie helderder as rooi met dieselfde weerstande, dus dit help om dit te balanseer.

Eindresultaat: in plaas van 50 digitale penne wat nodig is om die 5 LED -balke aan te dryf, word dit verminder tot 3: 'n kloksein, 'n grendelsein en 'n datasignaal.

Stap 9: Bou die omhulsel

Bou die omheining
Bou die omheining
Bou die omheining
Bou die omheining
Bou die omheining
Bou die omheining
Bou die omheining
Bou die omheining

Tyd om wraak te neem met die logo's!

Ek het die logo's in die regte vektortekeninge omskep, sodat dit netjies geët word. Hierdie keer het ek 'n ander probleem. Die skroefgate is nie op die regte plekke om die boks behoorlik te monteer nie. Ek het 6 mm MDF vir die boks gebruik. Ongelukkig veroorsaak dit dat die spykers in die rande vasskroef. Ek het dit saam met ekstra houtafval en gom gekap. Baie gom.

Vir diegene wat beter is met hout, gom en/of spykers, het ek 'n weergawe van die ontwerpe sonder die skroefgate heeltemal aangeheg.

Ten spyte van die probleme, is die eindresultaat redelik glad.

Stap 10: Sagteware en toetsing

Image
Image
Sagteware en toetsing
Sagteware en toetsing

Laai die volgende sagteware af om die beheerder met Kerbal Space Program te laat werk:

KSP -inprop:

Die zip -lêer is die saamgestelde inprop. Die res is bronkode wat u kan gebruik om die inprop te verander en u eie weergawe saam te stel. Pak die inprop uit in die GamaData -gids.

Arduino -kode:

Gebruik die Arduino IDE om die kode op die Arduino Mega in u kontroleerder op te laai.

Kyk regs onder in die Arduino IDE om uit te vind op watter seriële poort die beheerder is (bv. /Dev/cu.usbmodem1421). Maak die config.xml -lêer uit die inpropgids oop en maak seker dat u poort ingevul is. Nou is u gereed!

U kan die ontfoutingsmodus gebruik deur die klein aan/uit -skakelaar links bo in die AAN -posisie te plaas. Die LCD moet 'n string letters vertoon. Elke letter verteenwoordig 'n knoppie of skakelaar en wissel tussen klein en hoofletters as u op die knoppie druk of die skakelaar skakel. Deur die xyz -skakelaars in Xyz in te stel (aan/uit/af), word ook die gaskleperskuifwaardes vertoon. xYz vertoon joystickwaardes vir die vertaling (links) joystick. xyZ vir die joystick vir rotasie (regs).

LCD -modusse

Die volgende vertoonmodusse kan gekies word vir vertoning op die LCD deur die x, y en z skakelaars te gebruik

TakeOff -modus: Oppervlaksnelheid / versnelling (G)

Omloopmodus: Apoapsis + Tyd tot Apoapsis / Periapsis + Tyd tot Periapsis

Manoeuvreermodus: tyd vir die volgende maneuverknooppunt / oorblywende Delta-V vir die volgende knoop

Rendez -modus: Afstand tot teiken / snelheid relatief tot teiken

Herbetredingsmodus: persentasie oorverhitting (maksimum) / vertraging (G)

Vliegmodus: Hoogte / Mach -nommer

Landingsmodus: Radarhoogte / vertikale snelheid

Ekstra modus: nog nie geïmplementeer nie

Kyk na die video aan die einde van die instruksies om die verskillende maniere in aksie te sien.

Stap 11: Na die maan

Image
Image
Na die maan!
Na die maan!

Maak KSP aan, laai u gunsteling vaartuig, of bou 'n nuwe en begin!

Wenke:

  • Gebruik pasgemaakte aksiegroep 5 vir u lere
  • Gebruik pasgemaakte aksiegroep 6 vir u sonpanele
  • Gebruik pasgemaakte aksiegroep 7 vir valskerms of drogue chutes
  • Ken die lanseer -ontsnappingsisteem en die toepaslike ontkoppelaars toe aan die Abort -aksiegroep
  • Moenie vergeet dat u die Staging -knoppie moet inskakel nie
Arduino wedstryd 2017
Arduino wedstryd 2017
Arduino wedstryd 2017
Arduino wedstryd 2017

Naaswenner in die Arduino -kompetisie 2017

Eerste keer skrywerwedstryd 2018
Eerste keer skrywerwedstryd 2018
Eerste keer skrywerwedstryd 2018
Eerste keer skrywerwedstryd 2018

Naaswenner in die eerste keer skrywerwedstryd 2018

Aanbeveel: