Innholdsfortegnelse:

KerbalController: et tilpasset kontrollpanel for rakettspill Kerbal Space Program: 11 trinn (med bilder)
KerbalController: et tilpasset kontrollpanel for rakettspill Kerbal Space Program: 11 trinn (med bilder)

Video: KerbalController: et tilpasset kontrollpanel for rakettspill Kerbal Space Program: 11 trinn (med bilder)

Video: KerbalController: et tilpasset kontrollpanel for rakettspill Kerbal Space Program: 11 trinn (med bilder)
Video: How to Configure Port Forwarding to Remotely Access Your Synology NAS 2024, Juli
Anonim
KerbalController: et tilpasset kontrollpanel for Rocket Game Kerbal Space Program
KerbalController: et tilpasset kontrollpanel for Rocket Game Kerbal Space Program

Hvorfor bygge en KerbalController?

Fordi det er så mye mer omfattende å trykke på knapper og kaste fysiske brytere enn å klikke med musen. Spesielt når det er en stor rød sikkerhetsbryter, der du først må åpne dekselet, slå på bryteren for å aktivere raketten, starte nedtellingen og 3.. 2.. 1.. vi har løfting!

Hva er en KerbalController?

En KerbalController, også referert til som et kontrollpanel, Simpit (simulert cockpit), DSKY (displaytastatur) eller egendefinert joystick, er en tilpasset inndataenhet for å kontrollere den populære rakettbyggingen-og-fly-og-forhåpentligvis-ikke-eksploderende spill Kerbal Space Program kombinert med valgfri utgang fra spillet, for eksempel statuslys, telemetri -skjermer og/eller drivstoffmålere.

Denne spesifikke konstruksjonen inkluderer innganger som rotasjon og oversettelseskontroller gjennom joysticks, en gassglidebryter, mange knapper med statuslys, LED -drivstoffmålere og en telemetri LCD -skjerm med flere moduser.

Denne guiden vil inneholde alt du trenger for å bygge en identisk kopi, eller gjøre justeringer og forbedringer underveis, slik du finner det passende. Inkludert er:

  • en deleliste
  • digitale designtegninger klare for laserskjæring
  • ledningsinstruksjoner
  • Arduino -kode
  • Kode for den medfølgende KSP -pluginen
  • Mange bilder

Klar for start? La oss gå!

Trinn 1: Verktøyene

Verktøyene
Verktøyene

Det viktigste verktøyet du må ha for denne bygningen er et loddejern. Det inkluderer litt loddetinn, en rengjøringssvamp av metall for å rengjøre spissen av loddejernet og en "tredje hånd".

Andre verktøy er en wire stripper, en wire cutter, pinsett og noen små skrutrekkere.

Trinn 2: Deler og grunnleggende oppsett

Deler og grunnleggende oppsett
Deler og grunnleggende oppsett
Deler og grunnleggende oppsett
Deler og grunnleggende oppsett

Å lage den best mulige kontrolleren for deg betyr å velge nøyaktig hvilke knapper og brytere du vil implementere. Fordi alle spiller spillet annerledes. Noen flyr fly og bygger SSTO-er (en-trinns-til-bane). Andre foretrekker rovere av romstasjoner. Og noen vil bare at ting skal eksplodere spektakulært!

Det hjelper å tegne alle delene i sin omtrentlige størrelse og dra dem rundt i et vektortegningsprogram (som Affinity Designer eller Inkscape) eller 3D -tegningsprogram (som SketchUp).

Hvis du vil ha en enklere konstruksjon, kan du bare kopiere kontrolleren min og få delene oppført på den vedlagte delelisten.

Trinn 3: Lag en prototype (valgfritt)

Lag en prototype (valgfritt)
Lag en prototype (valgfritt)
Lag en prototype (valgfritt)
Lag en prototype (valgfritt)

Hvis du kopierer kontrolleren min, kan du hoppe over dette trinnet.

Hvis du går for et tilpasset oppsett, anbefaler jeg å bruke en skokasse først for å lage en fungerende prototype med hovedkontrollene. Det hjelper virkelig å finjustere plasseringen av hovedkontrollene. Det er også hyggelig å få tilliten du kan få til å fungere før du fortsetter å investere tid og penger i det siste bygget. Jeg spilte faktisk spillet en god stund med min skoboks -kontroller. Er det ikke Kerbal -måten å bruke bergede deler til å hacke noe sammen?

Trinn 4: Tips om ledninger

Tips om ledninger
Tips om ledninger
Tips om ledninger
Tips om ledninger
Tips om ledninger
Tips om ledninger

Når du oppretter en prototype, må du ikke lodde alle knappene dine med mindre du vil avlodde dem når du kommer til det endelige kabinettet. Jeg loddet noen ledninger til knappene og brukte et loddfritt brødbrett for å lage midlertidige forbindelser til Arduino.

Når du kobler all elektronikk til den siste frontplaten, kan du redusere rotet ved å lage sløyfer for 5V og bakken. Du kobler ikke alle bakkepinner direkte til Arduino, men kobler heller bakken på en knapp til bakken på den neste knappen og sløyfe rundt. Til slutt kobler du deg til Arduino.

Etter å ha opprettet sløyfer for strøm og bakke, forblir alle forbindelsene til Arduino -pinnene. Jeg anbefaler å få noen strimler med toppnål og lodde ledningene til dem. Du kan bruke disse som en stor kontakt, slik at du fortsatt kan koble fra Arduino for testing.

Lengden på ledningene er en balansegang mellom kort nok til å holde kabinettet fri for overflødig virvar av ledninger (som kan forhindre deg i å kunne lukke esken) og lang nok til å kunne flytte deler ut av veien til lodding andre deler i, stram skruene og stikk rundt med multimeteret ditt mens du feilsøker.

Trinn 5: Få frontplaten Lasercut

Få frontplaten Lasercut
Få frontplaten Lasercut
Få frontplaten Lasercut
Få frontplaten Lasercut
Få frontplaten Lasercut
Få frontplaten Lasercut

Å oppnå et rent, profesjonelt utseende er veldig vanskelig når du sager og maler for hånd. Heldigvis er laserskjæring ikke veldig dyrt lenger. Det gir ekstrem presisjon, så lenge designet ditt er nøyaktig.

Vedlagt er min frontdesign, i formater som passer for Affinity Designer og andre vektortegningsprogrammer som gratis InkScape.

Jeg hadde frontplaten lasercut i Nederland i Lichtzwaard. De har siden stengt og aktiviteter har blitt overtatt av Laserbeest, der jeg fikk kassen laserskåret. Hver butikk kan ha forskjellige krav til designet, så ta kontakt med butikken din før du sender inn. De tilbyr også nesten alltid designhjelp til en timepris.

Viktige ting å huske på:

  • Alt må være vektorbasert. Derfor ble ikke logoen i frontdesignet mitt etset. Vær oppmerksom på at dette ikke er løst i de vedlagte designene.
  • Selv tekst må være vektorbasert. Så konverter bokstavene til kurver!
  • Måle. Måle. Måle. Jeg klarte ikke å ta hensyn til størrelsen som kreves for å montere styrespakene og måtte hacke den. Ble bra, heldigvis. Merk at dette er fast i de vedlagte designene.

Etter å ha sjekket alt grundig, send det til laserskjæringsbutikken. Forvent å betale 40-50 euro i Nederland og få dette vakre resultatet i posten dagen etter!

Trinn 6: Koble til knapper og brytere

Koble til knapper og brytere
Koble til knapper og brytere
Koble til knapper og brytere
Koble til knapper og brytere
Koble til knapper og brytere
Koble til knapper og brytere

De fleste brytere og knapper har kontaktene merket C, NO, NC, +, -. Slik kobler du dem til Arduino.

Enkel bryter eller trykknapp:

  • Ground C (vanlig)
  • Arduino digital pin NO (normalt åpen)

Vi vil konfigurere den digitale pinnen som INPUT_PULLUP, noe som betyr at Arduino vil beholde pinnen på 5V og oppdage når pinnen blir jordet og behandle det som en inngang. NO -kontakten på bryteren eller knappen er normalt åpen, så kretsen er ikke tilkoblet. Når du trykker på knappen eller bytter bryteren, blir kretsen lukket og pinnen blir jordet.

Trykknapp med LED:

Knappdelen er den samme som ovenfor. For LED -en fester du flere ledninger:

  • Bakken - (negativ)
  • Arduino digital pin + (positiv)

Denne delen er ganske grei. Vi bruker Arduino -pinnen i normal OUTPUT -modus.

Sikkerhetsbrytere med LED:

Disse er litt forskjellige og tillater ikke kontroll over lysdioden uavhengig av bryterposisjonen. Lysdioden vil alltid bare lyse når bryteren er slått på. De har en +, - og signalkontakt.

  • Bakken - (negativ)
  • 5V + (positiv)
  • Arduino digital pin S (signal)

Vi bruker Arduino -pinnen i INPUT -modus. Når bryteren er slått på, lyser LED -en og signalpinnen går høyt.

Trinn 7: Koble til joysticks og LCD -skjermen

Koble til joysticks og LCD -skjermen
Koble til joysticks og LCD -skjermen
Koble til joysticks og LCD -skjermen
Koble til joysticks og LCD -skjermen
Koble til joysticks og LCD -skjermen
Koble til joysticks og LCD -skjermen

LCD

LCD -skjermen er veldig enkel. Den trenger bare strøm, bakken og seriell.

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

Du kan bruke en JST -kontakt eller lodde ledningene direkte til brettet.

Styrespaker

Styrespakene kan se skremmende ut i begynnelsen, men de er ganske enkle å koble til. Det er tre akser som er koblet på samme måte. To av dem bruker kontaktene på undersiden av styrespaken. Den tredje bruker noen ledninger.

  • Bakke
  • Visker Arduino analog inngangspinne
  • 5V

Kontaktene kan festes i denne rekkefølgen. Ikke bekymre deg for å få den bakover, viskeren er alltid den midterste. Hvis strøm og jord byttes, kan vi snu aksen rundt i Arduino -koden senere.

Ledningene kan ha et annet fargevalg på joysticken, men generelt: de to ledningene med identiske farger er for knappen på toppen. Rød eller oransje er 5V, svart eller brun er bakken. Den gjenværende ledningen er viskeren.

Trinn 8: LED -drivstoffmålere

LED -drivstoffmålere
LED -drivstoffmålere
LED -drivstoffmålere
LED -drivstoffmålere
LED -drivstoffmålere
LED -drivstoffmålere

Greit. Dette er den vanskeligste delen av hele bygget. Hopp over dette på din første build, eller forbedre det og gi meg beskjed!

Jeg har disse flotte LED -stolpene jeg vil bruke som drivstoffmålere. Den øverste LED -en er blå, deretter litt grønn, deretter oransje og til slutt rød. Hvis vi kan tenne en LED om gangen, kan vi la den representere drivstoffnivået på romfartøyet vårt.

Jeg bestilte først driver -IC -er med dem. De fungerer kjempebra! Du kan velge prikkmodus eller stolpemodus, og den vil vise en analog inngangsspenning som en enkelt LED (prikk) eller en rekke lysdioder (bar). Men en Arduino sender ikke ut en analog spenning! Og PWM -funksjonen som lar deg dimme en LED ved å etterligne en analog spenning, fungerer ikke med disse driver -IC -ene.

Videre til plan 2: skiftregistre. Du får jobbe med disse i hvert Arduino startpakke. Og du kan lære mer om dem her:

Planen er å på en eller annen måte konvertere drivstoffnivået til den riktige biten som vil representere drivstoffnivået på LED -stolpene. Med 5 drivstoffmålere må alle drivstoffnivåer fylle opp 10000000001000000000100000000010000000001000000000. Med monopropellantom tomt, vil det bli: 100000000010000000001000000000100000000000000000000001.

Høres enkelt nok ut. Det er noen komplikasjoner. Skiftregistrene har 8 pinner, mens LED -stolpene har 10 lysdioder. Jeg bruker 7 skiftregistre for å få 56 utganger. Når jeg koblet dem til, hoppet jeg over en IC -pin et sted (vi passer det i koden). Og jeg kobler til en LED -bar i begynnelsen i den andre enden (vi fikser det i kode). Oh og Arduino matematikk som vi trenger bruker noen ganger flytende aritmetikk som forårsaker avrundingsfeil (vi fikser det i kode). Vær oppmerksom på at jeg deler koden i et senere trinn.

Min siste konstruksjon stemte ikke overens med det vedlagte koblingsskjemaet, så hvis du bygger om denne kontrolleren, kreves det noen oppdateringer av koden. Kommenter nedenfor hvis du trenger hjelp.

Hver LED krever sin egen motstand. Prøv noen forskjellige verdier for å matche lysstyrken. Grønt ser mye lysere ut enn rødt med de samme motstandene, så det hjelper å balansere det.

Sluttresultat: i stedet for 50 digitale pinner som kreves for å drive de 5 LED -stolpene, reduseres det til 3: et klokkesignal, et låsesignal og et datasignal.

Trinn 9: Bygg kabinettet

Bygg kabinettet
Bygg kabinettet
Bygg kabinettet
Bygg kabinettet
Bygg kabinettet
Bygg kabinettet
Bygg kabinettet
Bygg kabinettet

På tide å hevne meg med disse logoene!

Jeg konverterte logoene til riktige vektortegninger slik at de blir etset helt fint. Denne gangen har jeg et annet problem. Skruehullene er ikke på de riktige stedene for riktig montering av esken. Jeg brukte 6 mm MDF til esken. Dessverre forårsaker skruing av spikring i kantene at de splittes. Jeg hacket den sammen med ytterligere trester og lim. Mye lim.

For de av dere som er bedre med tre, lim og/eller spiker, har jeg lagt ved en versjon av designene uten skruehullene helt.

Til tross for vanskelighetene er sluttresultatet ganske glatt.

Trinn 10: Programvare og testing

Image
Image
Programvare og testing
Programvare og testing

Last ned følgende programvare for å få kontrolleren til å fungere med Kerbal Space Program:

KSP -plugin:

ZIP -filen er den kompilerte pluginen. Resten er kildekoden du kan bruke til å endre plugin og kompilere din egen versjon. Pakk ut programtillegget i GamaData -katalogen.

Arduino -kode:

Bruk Arduino IDE for å laste opp koden til Arduino Mega i kontrolleren.

Se nederst til høyre på Arduino IDE for å finne ut hvilken serieport kontrolleren er på (f.eks. /Dev/cu.usbmodem1421). Åpne config.xml -filen fra plugin -katalogen og kontroller at porten er fylt ut. Nå er du i gang!

Du kan bruke feilsøkingsmodus ved å sette den lille av/på -bryteren øverst til venstre i PÅ -posisjon. LCD -skjermen skal vise en rekke bokstaver. Hver bokstav representerer en knapp eller bryter og bytter mellom små og store bokstaver når du trykker på knappen eller bytter bryteren. Når du setter xyz -bryterne til Xyz (på/av/av), vises også verdiene for gassregulatoren. xYz viser joystick -verdier for joysticken til oversettelse (venstre). xyZ for rotasjon (høyre) joystick.

LCD -moduser

Følgende visningsmoduser kan velges for visning på LCD -skjermen ved hjelp av bryterne x, y og z

TakeOff -modus: Overflatehastighet / akselerasjon (G)

Bane -modus: Apoapsis + Tid til Apoapsis / Periapsis + Tid til Periapsis

Manøvreringsmodus: Tid til neste manøvernode / Gjenværende Delta-V for neste node

Rendez -modus: Avstand til mål / hastighet i forhold til målet

Re-Entry Mode: Prosent overoppheting (maks) / retardasjon (G)

Flymodus: Høyde / Mach -nummer

Landingsmodus: Radarhøyde / vertikal hastighet

Ekstra modus: ikke implementert (ennå)

For å se de forskjellige modusene i aksjon, se på videoen på slutten av instruksjonsboken.

Trinn 11: Til månen

Image
Image
Til månen!
Til månen!

Slå på KSP, last inn favorittfartøyet ditt, eller bygg et nytt og sett i gang!

Tips:

  • Bruk tilpasset handlingsgruppe 5 for stiger
  • Bruk tilpasset handlingsgruppe 6 for solcellepanelene dine
  • Bruk tilpasset handlingsgruppe 7 for fallskjerm eller drogue -renner
  • Tilordne lanseringsfluktsystemet og de riktige avkoblerne til handlingsgruppen Avbryt
  • Ikke glem at du må aktivere Staging -knappen
Arduino -konkurransen 2017
Arduino -konkurransen 2017
Arduino -konkurransen 2017
Arduino -konkurransen 2017

Runner Up i Arduino -konkurransen 2017

Forfatterskonkurranse for første gang 2018
Forfatterskonkurranse for første gang 2018
Forfatterskonkurranse for første gang 2018
Forfatterskonkurranse for første gang 2018

Runner Up in the First Time Author Contest 2018

Anbefalt: