Obsah:

KerbalController: vlastný ovládací panel pre raketovú hru Kerbal Space Program: 11 krokov (s obrázkami)
KerbalController: vlastný ovládací panel pre raketovú hru Kerbal Space Program: 11 krokov (s obrázkami)

Video: KerbalController: vlastný ovládací panel pre raketovú hru Kerbal Space Program: 11 krokov (s obrázkami)

Video: KerbalController: vlastný ovládací panel pre raketovú hru Kerbal Space Program: 11 krokov (s obrázkami)
Video: Ako zakázať automatické aktualizácie ovládačov v systéme Windows 10 2024, Júl
Anonim
KerbalController: vlastný ovládací panel pre raketový vesmírny program Kerbal
KerbalController: vlastný ovládací panel pre raketový vesmírny program Kerbal

Prečo vytvoriť KerbalController?

Pretože stláčanie tlačidiel a hádzanie fyzických prepínačov je oveľa podstatnejšie ako kliknutie myšou. Zvlášť, keď je to veľký červený bezpečnostný spínač, kde musíte najskôr otvoriť kryt, švihnutím prepínača vyzbrojíte raketu, spustíte odpočítavanie a 3.. 2.. 1.. máme štart!

Čo je to KerbalController?

KerbalController, tiež označovaný ako ovládací panel, Simpit (simulovaný kokpit), DSKY (klávesnica displeja) alebo vlastný joystick, je prispôsobené vstupné zariadenie na ovládanie populárnej stavby rakiet a lietania a, dúfajme, že neexploduje. hra Kerbal Space Program kombinovaná s voliteľným výstupom z hry, ako sú napríklad stavové svetlá, telemetrické displeje a/alebo palivomery.

Táto konkrétna zostava obsahuje vstupy, ako sú ovládače otáčania a prekladu prostredníctvom joystickov, posúvača plynu, množstvo tlačidiel so stavovými svetlami, LED ukazovatele paliva a telemetrický LCD displej s niekoľkými režimami.

Táto príručka bude obsahovať všetko, čo potrebujete na zostavenie identickej kópie alebo na vykonanie úprav a vylepšení na ceste, ako uznáte za vhodné. Zahrnuté sú:

  • zoznam dielov
  • digitálne návrhové výkresy pripravené na laserové rezanie
  • návod na zapojenie
  • Arduino kód
  • Kód pre sprievodný doplnok KSP
  • Veľa obrázkov

Pripravený vzlietnuť? Poďme!

Krok 1: Nástroje

Nástroje
Nástroje

Najdôležitejším nástrojom, ktorý k tejto stavbe potrebujete, je spájkovačka. To zahŕňa nejakú spájku, kovovú čistiacu špongiu na čistenie špičky spájkovačky a „tretiu ruku“.

Ďalšími nástrojmi sú odstraňovač drôtov, strihačka drôtu, pinzeta a niektoré malé skrutkovače.

Krok 2: Časti a základné rozloženie

Diely a základné rozloženie
Diely a základné rozloženie
Diely a základné rozloženie
Diely a základné rozloženie

Vytvorenie najlepšieho možného ovládača pre vás znamená presne vybrať tlačidlá a prepínače, ktoré chcete implementovať. Pretože každý hrá hru inak. Niektorí ľudia lietajú s lietadlami a stavajú SSTO (jednostupňové na obežnú dráhu). Iní uprednostňujú rovery vesmírnych staníc. A niektorí len chcú, aby veci veľkolepo explodovali!

Pomáha nakresliť všetky diely v ich približnej veľkosti a pretiahnuť ich v programe vektorového kreslenia (ako Affinity Designer alebo Inkscape) alebo 3D kresliacom programe (ako SketchUp).

Ak chcete jednoduchšie zostavenie, stačí skopírovať môj ovládač a získať diely uvedené v priloženom zozname dielov.

Krok 3: Vytvorte prototyp (voliteľné)

Vytvorte prototyp (voliteľné)
Vytvorte prototyp (voliteľné)
Vytvorte prototyp (voliteľné)
Vytvorte prototyp (voliteľné)

Ak kopírujete môj ovládač, môžete tento krok preskočiť.

Ak sa chystáte pre vlastné rozloženie, odporúčam najskôr použiť botník na vytvorenie funkčného prototypu s hlavnými ovládacími prvkami. Naozaj pomáha doladiť polohu hlavných ovládacích prvkov. Je tiež pekné získať sebadôveru, že to môže fungovať, skôr ako budete investovať čas a peniaze do konečnej stavby. V skutočnosti som túto hru hral nejaký čas so svojim ovládačom botníka. Nie je to kerbalský spôsob, ako použiť zachránené časti na to, aby sme niečo hackli dohromady?

Krok 4: Tipy na zapojenie

Tipy na zapojenie
Tipy na zapojenie
Tipy na zapojenie
Tipy na zapojenie
Tipy na zapojenie
Tipy na zapojenie

Pri vytváraní prototypu nespájkujte všetky tlačidlá, pokiaľ ich nechcete odspájkovať, keď sa dostanete do konečného krytu. K tlačidlám som spájkoval niektoré vodiče a na dočasné spojenie s Arduinom som použil bezspájkovaciu dosku.

Pri pripájaní všetkej elektroniky k finálnej čelnej doske môžete obmedziť neporiadok vytvorením slučiek pre 5 V a uzemnenie. Nepripájate všetky uzemňovacie kolíky priamo k Arduinu, ale skôr uzemňujete jedno tlačidlo k uzemneniu ďalšieho tlačidla a slučku dookola. Nakoniec sa pripojíte k Arduinu.

Po vytvorení slučiek pre napájanie a zem zostanú všetky pripojenia k pinom Arduino. Odporúčam zaobstarať niekoľko pásikov kolíkov a k nim spájkovať vodiče. Môžete ich použiť ako veľký konektor, aby ste mohli Arduino na testovanie stále odpojiť.

Dĺžka vodičov je vyvážením medzi dostatočne krátkym, aby sa v kryte nenachádzali prebytočné spleti drôtov (čo by vám mohlo brániť v zatvorení krabice) a dostatočne dlhým na to, aby ste mohli časti premiestniť mimo cesty na spájkovanie. ostatné diely, utiahnite skrutky a pri ladení poklepte multimetrom.

Krok 5: Získanie laserového rezu na čelnej doske

Získanie laserového rezu na čelnej doske
Získanie laserového rezu na čelnej doske
Získanie laserového rezu na čelnej doske
Získanie laserového rezu na čelnej doske
Získanie laserového rezu na čelnej doske
Získanie laserového rezu na čelnej doske

Pri ručnom pílení a lakovaní je dosiahnutie čistého a profesionálneho vzhľadu veľmi ťažké. Našťastie laserové rezanie už nie je veľmi drahé. Umožňuje extrémnu presnosť, pokiaľ je váš návrh presný.

V prílohe je môj návrh čelnej dosky vo formátoch vhodných pre Affinity Designer a ďalšie programy pre vektorové kreslenie, ako je bezplatný InkScape.

Nechal som sa vyrezať čelnou doskou v Holandsku na Lichtzwaarde. Odvtedy sa zavreli a aktivity prevzal Laserbeest, kde som nechal box vyrezať laserom. Každý obchod môže mať iné požiadavky na dizajn, preto sa pred odoslaním overte vo svojom obchode. Takmer vždy ponúkajú pomoc pri navrhovaní za hodinu.

Dôležité veci, ktoré je potrebné mať na pamäti:

  • Všetko musí byť založené na vektoroch. Preto sa logo v mojom dizajne čelnej dosky neleptalo. Uvedomte si, že to nie je stanovené v priložených prevedeniach.
  • Aj text musí byť vektorový. Premeňte teda tieto písmená na krivky!
  • Odmerať. Odmerať. Odmerať. Nezohľadnil som veľkosť potrebnú na montáž joystickov a musel som to hacknúť. Dopadlo to dobre, našťastie. Uvedomte si to v priložených návrhoch.

Po dôkladnej kontrole všetko pošlite do obchodu s laserovým rezaním. Očakávajte, že v Holandsku zaplatíte 40-50 eur a nasledujúci deň dostanete tento krásny výsledok poštou!

Krok 6: Pripojenie tlačidiel a prepínačov

Pripojenie tlačidiel a vypínačov
Pripojenie tlačidiel a vypínačov
Pripojenie tlačidiel a vypínačov
Pripojenie tlačidiel a vypínačov
Pripojenie tlačidiel a vypínačov
Pripojenie tlačidiel a vypínačov

Väčšina prepínačov a tlačidiel má konektory označené C, NO, NC, +, -. Tu je návod, ako ich pripojiť k Arduinu.

Jednoduchý vypínač alebo tlačidlo:

  • Uzemnenie C (spoločné)
  • Digitálny pin Arduino NIE (normálne otvorený)

Digitálny pin nakonfigurujeme ako INPUT_PULLUP, čo znamená, že Arduino bude udržiavať kolík na 5V a detekovať, keď sa pin uzemní, a považovať to za vstup. Konektor NO na spínači alebo tlačidle je normálne otvorený, takže obvod nie je zapojený. Keď stlačíte tlačidlo alebo prepnete spínač, obvod sa uzavrie a kolík sa uzemní.

Tlačidlo s LED:

Tlačidlová časť je rovnaká ako vyššie. Pre LED diódy pripojíte ďalšie vodiče:

  • Zem - (negatívny)
  • Digitálny pin Arduino + (kladný)

Táto časť je veľmi jednoduchá. Pin Arduino budeme používať v normálnom režime VÝSTUP.

Bezpečnostné spínače s LED:

Tieto sú trochu odlišné a neumožňujú ovládať LED nezávisle od polohy prepínača. LED dióda sa rozsvieti vždy iba vtedy, keď je spínač zapnutý. Majú konektor +, - a signál.

  • Zem - (negatívny)
  • 5V + (kladné)
  • Digitálny pin Arduino S (signál)

Pin Arduino budeme používať v režime VSTUP. Keď je spínač zapnutý, LED dióda sa rozsvieti a signálny kolík sa rozsvieti.

Krok 7: Pripojenie joystickov a LCD displeja

Pripojenie joystickov a LCD
Pripojenie joystickov a LCD
Pripojenie joystickov a LCD
Pripojenie joystickov a LCD
Pripojenie joystickov a LCD
Pripojenie joystickov a LCD

LCD

LCD je veľmi jednoduchý. Potrebuje len napájanie, uzemnenie a sériové pripojenie.

  • 5V VDD
  • Pozemný GND
  • Arduino Tx PIN RX

Môžete použiť konektor JST alebo priamo spájkovať vodiče s doskou.

Joysticky

Joysticky môžu na prvý pohľad pôsobiť skľučujúco, ale ich pripojenie je veľmi jednoduché. Existujú tri osi, ktoré sú spojené rovnakým spôsobom. Dvaja z nich používajú konektory v spodnej časti joysticku. Tretí používa niektoré drôty.

  • Zem
  • Analógový vstupný pin stierača Arduino
  • 5V

Konektory je možné pripojiť v tomto poradí. Nebojte sa, že by ste to dostali dozadu, stierač je vždy ten stredný. Ak dôjde k zámene napájania a zeme, môžeme neskôr v kóde Arduino prevrátiť os.

Vodiče môžu mať na joysticku inú farebnú schému, ale vo všeobecnosti: dva vodiče s rovnakými farbami slúžia na tlačidlo hore. Červená alebo oranžová je 5 V, čierna alebo hnedá je uzemnená. Zostávajúci drôt je stierač.

Krok 8: Palivové meradlá LED

LED tyčové palivomery
LED tyčové palivomery
LED tyčové palivomery
LED tyčové palivomery
LED tyčové palivomery
LED tyčové palivomery

Dobre. Toto je najťažšia časť celej zostavy. Neváhajte to pri svojej prvej zostave preskočiť, alebo to vylepšiť a dajte mi vedieť!

Mám tieto skvelé diódy LED, ktoré chcem použiť ako palivomery. Horná LED dióda je modrá, potom zelená, oranžová a nakoniec červená. Ak dokážeme rozsvietiť jednu LED diódu naraz, môžeme ju nechať reprezentovať hladinu paliva v našej vesmírnej lodi.

Pôvodne som u nich objednal IC vodiča. Fungujú skvele! Môžete si vybrať bodový režim alebo režim stĺpca a bude zobrazovať analógové vstupné napätie ako jedna dióda LED (bodka) alebo rozsah diód LED (bar). Arduino však nevydáva analógové napätie! A funkcia PWM, ktorá vám umožňuje stlmiť LED diódu spôsobom emulácie analógového napätia, nefunguje s týmito integrovanými obvodmi ovládača.

Na plán 2: posuvné registre. S týmito sa dostanete do práce v každej štartovacej súprave Arduino. A môžete sa o nich dozvedieť viac tu:

Plán je nejakým spôsobom previesť hladiny paliva na správny reťazec bitov, ktoré budú predstavovať hladiny paliva na diódach LED. S 5 palivomermi by všetky naplnené hladiny paliva museli byť 10000000001000000000100000000010000000001000000000. Pri prázdnom monopropelente by to bolo: 10000000001000000000100000000010000000000000000001.

Znie to dosť jednoducho. Existujú určité komplikácie. Posuvné registre majú 8 kolíkov, zatiaľ čo diódy LED majú 10 diód LED. Na získanie 56 výstupov používam 7 posuvných registrov. Keď som ich zapojoval, niekde som preskočil pin IC (zmestíme sa do kódu). A zapojím jednu lištu LED tak, aby začala na druhom konci (opravíme to v kóde). Matematika Oh a Arduino, ktorú potrebujeme, niekedy používa aritmetiku s pohyblivou rádovou čiarkou, ktorá spôsobuje chyby zaokrúhľovania (opravíme to v kóde). Všimnite si toho, že kód zdieľam v neskoršom kroku.

Moja konečná zostava sa nezhodovala s priloženou schémou zapojenia, takže ak tento ovládač prestaváte, v kóde sú potrebné niektoré aktualizácie. Ak potrebujete pomoc, napíšte komentár nižšie.

Každá LED dióda vyžaduje vlastný odpor. Skúste použiť rôzne hodnoty, aby zodpovedali jasu. Zelená s rovnakými odpormi vyzerá oveľa jasnejšie ako červená, takže to pomáha vyvážiť.

Konečný výsledok: namiesto 50 digitálnych pinov potrebných na napájanie 5 pruhov LED sa zníži na 3: hodinový signál, západkový signál a dátový signál.

Krok 9: Zostavenie prílohy

Stavba ohrady
Stavba ohrady
Stavba ohrady
Stavba ohrady
Stavba ohrady
Stavba ohrady
Stavba ohrady
Stavba ohrady

Čas pomstiť sa týmito logami!

Logo som previedol na správne vektorové kresby, aby sa v pohode vyleptali. Dnes mám iný problém. Otvory pre skrutky nie sú na správnych miestach pre správnu montáž krabice. Na škatuľu som použil 6 mm MDF. Skrutkovanie klincov do okrajov bohužiaľ spôsobí ich rozdelenie. Rozsekal som to spolu s ďalšími kúskami dreva a lepidlom. Veľa lepidla.

Pre tých z vás, ktorým to ide lepšie s drevom, lepidlom a/alebo klincami, som pripojil verziu návrhov bez otvorov pre skrutky.

Napriek ťažkostiam je konečný výsledok veľmi hladký.

Krok 10: Software a testovanie

Image
Image
Software a testovanie
Software a testovanie

Stiahnite si nasledujúci softvér, aby ovládač fungoval s programom Kerbal Space:

Doplnok KSP:

Súbor ZIP je kompilovaný doplnok. Ostatné je zdrojový kód, ktorý môžete použiť na úpravu doplnku a zostavenie vlastnej verzie. Rozbaľte doplnok do adresára GamaData.

Kód Arduino:

Použite Arduino IDE na nahranie kódu do Arduino Mega vo vašom ovládači.

V pravom dolnom rohu Arduino IDE zistíte, na ktorom sériovom porte je ovládač (napr. /Dev/cu.usbmodem1421). Otvorte súbor config.xml z adresára doplnkov a uistite sa, že je váš port vyplnený. Teraz môžete začať!

Režim ladenia môžete použiť tak, že malý vypínač zapnete/vypnete vľavo hore do polohy ON. Na displeji LCD by sa mal zobraziť reťazec písmen. Každé písmeno predstavuje tlačidlo alebo prepínač a pri stlačení tlačidla alebo prepínaní prepína medzi malými a veľkými písmenami. Nastavením prepínačov xyz na Xyz (zapnutie/vypnutie/vypnutie) sa budú zobrazovať aj hodnoty posúvača plynu. xYz zobrazuje hodnoty joysticku pre joystick prekladu (vľavo). xyZ pre otočný (pravý) joystick.

LCD režimy

Nasledujúce režimy zobrazenia je možné zvoliť na zobrazenie na displeji LCD pomocou prepínačov x, y a z

Režim TakeOff: Suface Velocity / Acceleration (G)

Režim na obežnej dráhe: Apoapsis + Time to Apoapsis / Periapsis + Time to Periapsis

Režim manévrovania: Čas do ďalšieho uzla manévru / Zostávajúci Delta-V pre ďalší uzol

Režim Rendezvous: Vzdialenosť k cieľu / Rýchlosť vzhľadom na cieľ

Režim opätovného vstupu: percentuálne prehriatie (max.) / Spomalenie (G)

Režim lietania: Nadmorská výška / Machovo číslo

Režim pristátia: Radarová nadmorská výška / Vertikálna rýchlosť

Extra režim: zatiaľ nie je implementovaný

Ak chcete vidieť rôzne režimy v prevádzke, pozrite sa na video na konci návodu.

Krok 11: Na Mesiac

Image
Image
Na mesiac!
Na mesiac!

Naštartujte KSP, naložte svoje obľúbené plavidlo alebo postavte nové a môžete vyraziť!

Tipy:

  • Na rebríky použite vlastnú akčnú skupinu 5
  • Pre svoje solárne panely použite vlastnú skupinu akcií 6
  • Na padáky alebo sklzové žľaby použite vlastnú akčnú skupinu 7
  • Priraďte únikový systém spustenia a príslušné oddeľovače k akčnej skupine prerušenia
  • Nezabudnite, že musíte zapnúť tlačidlo Staging
Súťaž Arduino 2017
Súťaž Arduino 2017
Súťaž Arduino 2017
Súťaž Arduino 2017

Druhé miesto v súťaži Arduino 2017

Prvá autorská súťaž 2018
Prvá autorská súťaž 2018
Prvá autorská súťaž 2018
Prvá autorská súťaž 2018

Druhé miesto v prvej autorskej súťaži 2018

Odporúča: