Innehållsförteckning:

KerbalController: en anpassad kontrollpanel för Rocket Game Kerbal Space Program: 11 steg (med bilder)
KerbalController: en anpassad kontrollpanel för Rocket Game Kerbal Space Program: 11 steg (med bilder)

Video: KerbalController: en anpassad kontrollpanel för Rocket Game Kerbal Space Program: 11 steg (med bilder)

Video: KerbalController: en anpassad kontrollpanel för Rocket Game Kerbal Space Program: 11 steg (med bilder)
Video: Thinknoodles vs KreekCraft - Piggy (Roblox Battles Championship Season 3) 2024, Juli
Anonim
KerbalController: en anpassad kontrollpanel för Rocket Game Kerbal Space Program
KerbalController: en anpassad kontrollpanel för Rocket Game Kerbal Space Program

Varför bygga en KerbalController?

Tja, för att trycka på knappar och kasta fysiska switchar känns så mycket mer omfattande än att klicka med musen. Speciellt när det är en stor röd säkerhetsbrytare, där du måste öppna locket först, slå på strömbrytaren för att aktivera din raket, börja nedräkningen och 3.. 2.. 1.. vi har liftoff!

Vad är en KerbalController?

En KerbalController, även kallad en kontrollpanel, Simpit (simulerad cockpit), DSKY (displaytangentbord) eller anpassad joystick, är en anpassad inmatningsenhet för att styra den populära raketbyggande-och-flygande-och-förhoppningsvis-inte-exploderande spelet Kerbal Space Program kombinerat med valfri utmatning från spelet, till exempel statuslampor, telemetri -displayer och/eller bränslemätare.

Denna specifika konstruktion inkluderar ingångar som rotation och översättningskontroller genom joysticks, en gasreglage, massor av knappar med statuslampor, LED -bränslemätare och en telemetri LCD -display med flera lägen.

Den här guiden innehåller allt du behöver för att bygga en identisk kopia, eller göra justeringar och förbättringar längs vägen, som du tycker passar. Inkluderat är:

  • en reservlista
  • digitala designritningar redo för laserskärning
  • ledningsinstruktioner
  • Arduino -kod
  • Kod för den medföljande KSP -plugin
  • Massor av bilder

Redo för avgång? Nu går vi!

Steg 1: Verktygen

Verktygen
Verktygen

Det viktigaste verktyget du behöver ha för denna konstruktion är ett lödkolv. Det inkluderar lite löd, en metallrengöringssvamp för att rengöra spetsen på lödkolven och en "tredje hand".

Andra verktyg är en trådavdragare, en trådskärare, pincett och några små skruvmejslar.

Steg 2: Delar och grundläggande layout

Delar och grundläggande layout
Delar och grundläggande layout
Delar och grundläggande layout
Delar och grundläggande layout

Att göra den bästa möjliga styrenheten för dig innebär att du väljer exakt vilka knappar och omkopplare du vill implementera. För att alla spelar spelet annorlunda. Vissa människor flyger flygplan och bygger SSTO: er (enstegs-till-bana). Andra föredrar rovers av rymdstationer. Och vissa vill bara att saker och ting ska explodera spektakulärt!

Det hjälper till att rita alla delar i sin ungefärliga storlek och dra dem runt i ett vektorritprogram (som Affinity Designer eller Inkscape) eller 3D -ritprogram (som SketchUp).

Om du vill ha en enklare konstruktion kan du bara kopiera min controller och få delarna listade på den bifogade dellistan.

Steg 3: Skapa en prototyp (valfritt)

Skapa en prototyp (valfritt)
Skapa en prototyp (valfritt)
Skapa en prototyp (valfritt)
Skapa en prototyp (valfritt)

Om du kopierar min handkontroll kan du hoppa över det här steget.

Om du går för en anpassad layout rekommenderar jag att du först använder en skokartong för att skapa en fungerande prototyp med huvudkontrollerna. Det hjälper verkligen att finjustera positionen för huvudkontrollerna. Det är också trevligt att få det förtroende du kan få det att fungera innan du fortsätter att investera tid och pengar i det sista bygget. Jag spelade faktiskt spelet ett bra tag med min skokartong. Är det inte Kerbal -sättet att använda bärgade delar för att hacka ihop något?

Steg 4: Tips om kabeldragning

Tips om kabeldragning
Tips om kabeldragning
Tips om kabeldragning
Tips om kabeldragning
Tips om kabeldragning
Tips om kabeldragning

När du skapar en prototyp, löd inte in alla dina knappar om du inte vill avlödda dem när du kommer till det slutliga höljet. Jag lödde några trådar till knapparna och använde en lödlös brödbräda för att göra tillfälliga anslutningar till Arduino.

När du ansluter all elektronik till den slutliga frontplattan kan du minska röran genom att skapa slingor för 5V och jord. Du ansluter inte alla jordstift direkt till Arduino, utan snarare ansluta marken på en knapp till marken på nästa knapp och slinga runt. Slutligen ansluter du till Arduino.

Efter att ha skapat slingor för kraft och jord kvarstår alla anslutningar till Arduino -stiften. Jag rekommenderar att du skaffar några remsor av huvudstiften och lödar trådarna till dem. Du kan använda dessa som en stor kontakt, så du kan fortfarande koppla ur din Arduino för testning.

Ledarnas längd är en balansgång mellan tillräckligt kort för att hålla höljet fritt från överflödiga trassel av tråd (vilket kan hindra dig från att kunna stänga lådan) och tillräckligt länge för att kunna flytta delar ur vägen för att löda andra delar i, dra åt skruvarna och peta runt med din multimeter medan du felsöker.

Steg 5: Skaffa frontplattan Lasercut

Skaffa frontplattan Lasercut
Skaffa frontplattan Lasercut
Skaffa frontplattan Lasercut
Skaffa frontplattan Lasercut
Skaffa frontplattan Lasercut
Skaffa frontplattan Lasercut

Att uppnå ett rent, professionellt utseende är mycket svårt när du sågar och målar för hand. Lyckligtvis är laserskärning inte särskilt dyr längre. Det möjliggör extrem precision, så länge din design är korrekt.

Bifogad är min frontplattform, i format som är lämpliga för Affinity Designer och andra vektorteckningsprogram som gratis InkScape.

Jag hade laserskuren i Lichtzwaard i Nederländerna. De har sedan stängts och aktiviteter har tagits över av Laserbeest, där jag fick laserskärningen. Varje butik kan ha olika krav på designen, så kontakta din butik innan du skickar in den. De erbjuder också nästan alltid designhjälp i timpris.

Viktiga saker att tänka på:

  • Allt måste vara vektorbaserat. Det är därför som logotypen i min frontplåtdesign inte blev etsad. Observera att detta inte är fixat i de bifogade mönstren.
  • Även text måste vara vektorbaserad. Så konvertera dessa bokstäver till kurvor!
  • Mäta. Mäta. Mäta. Jag misslyckades med att ta hänsyn till storleken som krävs för att montera joystickarna och var tvungen att hacka den. Blev bra, som tur var. Observera att detta är fast i de bifogade mönstren.

Efter att ha kontrollerat allt noggrant, skicka det till laserskäraren. Räkna med att betala 40-50 euro i Nederländerna och få detta vackra resultat på posten nästa dag!

Steg 6: Anslutning av knappar och omkopplare

Anslutningsknappar och omkopplare
Anslutningsknappar och omkopplare
Anslutningsknappar och omkopplare
Anslutningsknappar och omkopplare
Anslutningsknappar och omkopplare
Anslutningsknappar och omkopplare

De flesta omkopplare och knappar har kontakterna märkta C, NO, NC, +, -. Så här ansluter du dem till Arduino.

Enkel omkopplare eller tryckknapp:

  • Mark C (vanligt)
  • Arduino digital pin NO (normalt öppen)

Vi kommer att konfigurera den digitala stiftet som INPUT_PULLUP, vilket innebär att Arduino kommer att hålla stiftet vid 5V och upptäcka när stiftet blir jordat och behandla det som en ingång. NO -kontakten på omkopplaren eller knappen är normalt öppen, så kretsen är inte ansluten. När du trycker på knappen eller växlar omkopplaren stängs kretsen och stiftet jordas.

Tryckknapp med LED:

Knappdelen är densamma som ovan. För lysdioden fäster du ytterligare ledningar:

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

Denna del är ganska enkel. Vi kommer att använda Arduino -stiftet i normalt OUTPUT -läge.

Säkerhetsbrytare med LED:

Dessa är lite olika och tillåter inte kontroll över lysdioden oberoende av omkopplarens läge. Lysdioden tänds bara när strömbrytaren är påslagen. De har en +, - och signalanslutning.

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

Vi kommer att använda Arduino -stiftet i INPUT -läge. När omkopplaren är påslagen tänds lysdioden och signalstiftet går högt.

Steg 7: Anslutning av joysticks och LCD -skärmen

Anslutning av joysticks och LCD -skärmen
Anslutning av joysticks och LCD -skärmen
Anslutning av joysticks och LCD -skärmen
Anslutning av joysticks och LCD -skärmen
Anslutning av joysticks och LCD -skärmen
Anslutning av joysticks och LCD -skärmen

LCD

LCD -skärmen är mycket enkel. Det behöver bara ström, jord och serie.

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

Du kan använda en JST -kontakt eller löd trådarna direkt på kortet.

Joysticks

Styrspakarna kan se skrämmande ut först, men de är ganska enkla att ansluta. Det finns tre axlar som är anslutna på samma sätt. Två av dem använder kontakterna på joystickens undersida. Den tredje använder några ledningar.

  • Jord
  • Torkar Arduino analog ingångsstift
  • 5V

Anslutningarna kan fästas i denna ordning. Oroa dig inte för att få den bakåt, torkaren är alltid den mellersta. Om kraft och mark byts kan vi vända axeln i Arduino -koden senare.

Trådarna kan ha ett annat färgschema på din joystick, men i allmänhet: de två trådarna med identiska färger är för knappen på toppen. Rött eller orange är 5V, svart eller brunt är mark. Den återstående tråden är torkaren.

Steg 8: LED -bränslemätare

LED -bränslemätare
LED -bränslemätare
LED -bränslemätare
LED -bränslemätare
LED -bränslemätare
LED -bränslemätare

Okej. Detta är den svåraste delen av hela bygget. Hoppa gärna över detta på ditt första bygge, eller förbättra det och meddela mig!

Jag fick dessa fantastiska LED -barer som jag vill använda som bränslemätare. Den övre lysdioden är blå, sedan lite grön, sedan orange och slutligen röd. Om vi kan tända en lysdiod i taget kan vi låta den representera bränslenivån på vårt rymdfarkoster.

Jag beställde inledningsvis förarens IC: er med dem. De fungerar jättebra! Du kan välja punktläge eller stapelläge och det kommer att visa en analog ingångsspänning som en enda lysdiod (punkt) eller en rad lysdioder (bar). Men en Arduino matar inte ut en analog spänning! Och PWM -funktionen som låter dig dimma en lysdiod genom att efterlikna en analog spänning fungerar inte med dessa förar -IC: er.

Till plan 2: skiftregister. Du får arbeta med dessa i varje Arduino -startpaket. Och du kan lära dig mer om dem här:

Planen är att på något sätt omvandla bränslenivåerna till rätt bitsträng som representerar bränslenivåerna på LED -staplarna. Med 5 bränslemätare skulle alla bränslenivåer behöva vara 10000000001000000000100000000010000000001000000000. Med monopropellant tomt skulle det bli: 100000000010000000001000000000100000000000000000000001.

Låter tillräckligt enkelt. Det finns vissa komplikationer. Skiftregistren har 8 stift, medan LED -staplarna har 10 lysdioder. Jag använder 7 skiftregister för att få 56 utgångar. När jag kopplade in dem hoppade jag över en IC -nål någonstans (det passar vi i koden). Och jag kopplar in en LED -bar i början i andra änden (vi fixar det i kod). Åh och Arduino -matematik som vi behöver använder ibland flytande punktaritmetik som orsakar avrundningsfel (vi fixar det i kod). Observera att jag delar koden i ett senare steg.

Min slutliga konstruktion matchade inte det bifogade kopplingsschemat, så om du bygger om den här styrenheten krävs vissa uppdateringar av koden. Kommentera nedan om du behöver hjälp.

Varje LED kräver sitt eget motstånd. Prova några olika värden för att matcha ljusstyrkan. Grönt verkar mycket ljusare än rött med samma motstånd, så det hjälper till att balansera det.

Slutresultat: istället för 50 digitala stift som krävs för att driva de 5 LED -staplarna, reduceras det till 3: en klocksignal, en spärrsignal och en datasignal.

Steg 9: Bygg höljet

Bygga höljet
Bygga höljet
Bygga höljet
Bygga höljet
Bygga höljet
Bygga höljet
Bygga höljet
Bygga höljet

Dags att hämnas med dessa logotyper!

Jag konverterade logotyperna till korrekta vektorteckningar så att de blev etsade bra. Den här gången har jag en annan fråga. Skruvhålen är inte på rätt plats för korrekt montering av lådan. Jag använde 6 mm MDF för lådan. Tyvärr gör skruvning av spikning i kanterna att de splittras. Jag hackade den tillsammans med ytterligare träskrot och lim. Mycket lim.

För er som är bättre på trä, lim och/eller spikar har jag bifogat en version av mönstren utan skruvhålen helt och hållet.

Trots svårigheterna är slutresultatet ganska snyggt.

Steg 10: Programvara och testning

Image
Image
Programvara och testning
Programvara och testning

Ladda ner följande programvara för att få kontrollen att fungera med Kerbal Space Program:

KSP -plugin:

ZIP -filen är det kompilerade tillägget. Resten är källkod som du kan använda för att ändra plugin och kompilera din egen version. Packa upp pluginprogrammet i GamaData -katalogen.

Arduino -kod:

Använd Arduino IDE för att ladda upp koden till Arduino Mega i din handkontroll.

Titta längst ner till höger på Arduino IDE för att ta reda på vilken seriell port som styrenheten är på (t.ex. /dev/cu.usbmodem1421). Öppna config.xml -filen från plugin -katalogen och se till att din port är fylld. Nu är du klar att gå!

Du kan använda felsökningsläge genom att sätta den lilla på/av -knappen högst upp till vänster till PÅ -läget. LCD -skärmen ska visa en rad bokstäver. Varje bokstav representerar en knapp eller omkopplare och växlar mellan små och stora bokstäver när du trycker på knappen eller växlar. Om du ställer in xyz -omkopplarna till Xyz (på/av/av) visas också gasreglagevärdena. xYz visar joystickvärden för joysticken för översättning (vänster). xyZ för styrspaken (höger).

LCD -lägen

Följande visningslägen kan väljas för visning på LCD -skärmen med hjälp av knapparna x, y och z

TakeOff -läge: Ythastighet / acceleration (G)

Omloppsläge: Apoapsis + Time to Apoapsis / Periapsis + Time to Periapsis

Manöverläge: Tid till nästa manövernod / Återstående Delta-V för nästa nod

Rendezvous Mode: Avstånd till mål / hastighet i förhållande till målet

Återinmatningsläge: procentuell överhettning (max) / retardation (G)

Flygläge: Höjd / Mach -nummer

Landningsläge: Radarhöjd / Vertikal hastighet

Extra läge: inte implementerat (ännu)

För att se de olika lägena i aktion, titta på videon i slutet av den instruerbara.

Steg 11: Till månen

Image
Image
Till månen!
Till månen!

Slå på KSP, ladda ditt favoritfartyg eller bygg ett nytt och kör iväg!

Tips:

  • Använd anpassad actiongrupp 5 för dina stegar
  • Använd anpassad actiongrupp 6 för dina solpaneler
  • Använd anpassad åtgärdsgrupp 7 för fallskärmar eller drogue -rännor
  • Tilldela startflyktsystemet och lämpliga avkopplare till åtgärdsgruppen Avbryt
  • Glöm inte att du måste aktivera Staging -knappen
Arduino Contest 2017
Arduino Contest 2017
Arduino Contest 2017
Arduino Contest 2017

Tvåa i Arduino -tävlingen 2017

Författartävling för första gången 2018
Författartävling för första gången 2018
Författartävling för första gången 2018
Författartävling för första gången 2018

Runner Up in the First Time Author Contest 2018

Rekommenderad: