Obsah:

KerbalController: vlastní ovládací panel pro raketovou hru Kerbal Space Program: 11 kroků (s obrázky)
KerbalController: vlastní ovládací panel pro raketovou hru Kerbal Space Program: 11 kroků (s obrázky)

Video: KerbalController: vlastní ovládací panel pro raketovou hru Kerbal Space Program: 11 kroků (s obrázky)

Video: KerbalController: vlastní ovládací panel pro raketovou hru Kerbal Space Program: 11 kroků (s obrázky)
Video: Thrustmaster ESWAP: Profesionální ovladač k PS4, který si můžete vytunit! (RECENZE #1026) 2024, Červenec
Anonim
KerbalController: vlastní ovládací panel pro raketový program Kerbal Space Program
KerbalController: vlastní ovládací panel pro raketový program Kerbal Space Program

Proč stavět KerbalController?

Protože mačkání tlačítek a házení fyzických přepínačů je mnohem podstatnější než kliknutí myší. Zvlášť když je to velký červený bezpečnostní spínač, kde musíte nejprve otevřít kryt, švihnutím spínače vyzbrojíte raketu, spustíte odpočítávání a 3.. 2.. 1.. máme start!

Co je to KerbalController?

KerbalController, také označovaný jako ovládací panel, Simpit (simulovaný kokpit), DSKY (klávesnice pro zobrazení) nebo vlastní joystick, je přizpůsobené vstupní zařízení pro ovládání populární stavby raket a létání a doufejme, že ne exploduje hra Kerbal Space Program kombinovaná s volitelným výstupem ze hry, jako jsou stavová světla, telemetrické displeje a/nebo palivoměry.

Tato konkrétní sestava obsahuje vstupy, jako jsou ovládací prvky otáčení a překladu prostřednictvím joysticků, posuvného ovladače plynu, spousty tlačítek se stavovými kontrolkami, LED palivoměrů a telemetrického LCD displeje s více režimy.

Tato příručka bude obsahovat vše, co potřebujete k vytvoření identické kopie nebo k provádění úprav a vylepšení na cestě, jak uznáte za vhodné. Zahrnuty jsou:

  • seznam dílů
  • digitální designové výkresy připravené k laserovému řezání
  • pokyny k zapojení
  • Arduino kód
  • Kód doprovodného pluginu KSP
  • Spousta obrázků

Jste připraveni na vzlet? Pojďme!

Krok 1: Nástroje

Nástroje
Nástroje

Nejdůležitějším nástrojem, který pro tuto stavbu potřebujete mít, je páječka. To zahrnuje nějakou pájku, kovovou houbičku na čištění špičky páječky a „třetí ruku“.

Dalšími nástroji jsou odizolovač drátu, řezačka drátu, pinzeta a některé malé šroubováky.

Krok 2: Díly a základní rozvržení

Díly a základní rozvržení
Díly a základní rozvržení
Díly a základní rozvržení
Díly a základní rozvržení

Vytvořit pro vás co nejlepší ovladač znamená přesně vybrat, která tlačítka a přepínače chcete implementovat. Protože každý hraje hru jinak. Někteří lidé létají s letadly a staví SSTO (jednostupňové na oběžnou dráhu). Jiní dávají přednost roverům vesmírných stanic. A někteří jen chtějí, aby věci efektně explodovaly!

Pomůže nakreslit všechny díly v jejich přibližné velikosti a přetáhnout je v programu pro vektorové kreslení (jako Affinity Designer nebo Inkscape) nebo 3D kreslícím programu (jako SketchUp).

Pokud chcete jednodušší sestavení, stačí zkopírovat můj ovladač a získat součásti uvedené v přiloženém seznamu dílů.

Krok 3: Vytvořte prototyp (volitelně)

Vytvořit prototyp (volitelně)
Vytvořit prototyp (volitelně)
Vytvořit prototyp (volitelně)
Vytvořit prototyp (volitelně)

Pokud kopírujete můj ovladač, můžete tento krok přeskočit.

Pokud se chystáte pro vlastní rozložení, doporučuji nejprve použít botník k vytvoření funkčního prototypu s hlavními ovládacími prvky. Opravdu pomáhá doladit polohu hlavních ovládacích prvků. Je také příjemné získat jistotu, že to dokáže fungovat, než budete investovat čas a peníze do finální stavby. Vlastně jsem tu hru hrál nějakou dobu se svým ovladačem botníku. Není to Kerbalský způsob, jak pomocí zachráněných částí něco hacknout dohromady?

Krok 4: Tipy pro zapojení

Tipy pro zapojení
Tipy pro zapojení
Tipy pro zapojení
Tipy pro zapojení
Tipy pro zapojení
Tipy pro zapojení

Při vytváření prototypu nepájejte všechna svá tlačítka, pokud je nechcete odspájkovat, až se dostanete ke konečnému pouzdru. K tlačítkům jsem připájel několik vodičů a pomocí dočasného připojení k Arduinu jsem použil nepájivou desku.

Když připojujete veškerou elektroniku k finální čelní desce, můžete omezit nepořádek vytvořením smyček pro 5 V a uzemnění. Nepřipojíte všechny zemnící piny přímo k Arduinu, ale spíše připojíte uzemnění na jednom tlačítku k uzemnění na dalším tlačítku a smyčku všude kolem. Nakonec se připojíte k Arduinu.

Po vytvoření smyček pro napájení a uzemnění zůstanou všechna připojení k pinům Arduino. Doporučuji sehnat pár proužků kolíků a k těm připájet dráty. Můžete je použít jako velký konektor, takže můžete Arduino pro testování stále odpojit.

Délka vodičů je vyvážením mezi dostatečně krátkými, aby se v pouzdře udržely přebytečné spleti drátu (což by vám mohlo zabránit v uzavření krabice) a dostatečně dlouhými, aby bylo možné přesunout části z cesty k pájení další části dovnitř, utáhněte šrouby a šťourejte se s multimetrem při ladění.

Krok 5: Získání Lasercutu čelní desky

Získání faceplate lasercutem
Získání faceplate lasercutem
Získání faceplate lasercutem
Získání faceplate lasercutem
Získání facecutového lasercutu
Získání facecutového lasercutu

Při ručním řezání a malování je dosažení čistého a profesionálního vzhledu velmi obtížné. Naštěstí řezání laserem už není příliš drahé. Umožňuje extrémní přesnost, pokud je váš návrh přesný.

V příloze je můj design čelní desky ve formátech vhodných pro Affinity Designer a další programy pro kreslení vektorů, jako je bezplatný InkScape.

Nechal jsem se na čelním panelu lasercutem v Nizozemsku na Lichtzwaardu. Od té doby se zavřely a aktivity převzal Laserbeest, kde jsem nechal box vyřezat laserem. Každý obchod může mít jiné požadavky na design, proto se před odesláním obraťte na svůj obchod. Také téměř vždy nabízejí pomoc s návrhem za hodinovou sazbu.

Důležité věci, které je třeba mít na paměti:

  • Všechno musí být založeno na vektoru. Proto se logo v mém designu čelní desky neleptalo. Všimněte si, že to není v přiložených návrzích opraveno.
  • I text má být vektorový. Takže převeďte ta písmena na křivky!
  • Opatření. Opatření. Opatření. Nezohlednil jsem velikost potřebnou pro montáž joysticků a musel jsem to hacknout. Dopadlo to dobře, naštěstí. Všimněte si toho, že je to opraveno v přiložených návrzích.

Po důkladné kontrole vše odešlete do obchodu s laserovým řezáním. Počítejte s tím, že v Nizozemsku zaplatíte 40–50 eur a druhý den dostanete tento krásný výsledek poštou!

Krok 6: Zapojení tlačítek a přepínačů

Zapojení tlačítek a spínačů
Zapojení tlačítek a spínačů
Zapojení tlačítek a spínačů
Zapojení tlačítek a spínačů
Zapojení tlačítek a spínačů
Zapojení tlačítek a spínačů

Většina přepínačů a tlačítek má konektory označené C, NO, NC, +, -. Zde je návod, jak je připojit k Arduinu.

Jednoduchý spínač nebo tlačítko:

  • Ground C (společné)
  • Digitální pin Arduino NE (normálně otevřený)

Digitální pin nakonfigurujeme jako INPUT_PULLUP, což znamená, že Arduino bude udržovat pin na 5V a detekovat, kdy se pin uzemní, a považovat to za vstup. Konektor NO na spínači nebo tlačítku je normálně otevřený, takže obvod není připojen. Když stisknete tlačítko nebo přepnete spínač, obvod se uzavře a pin se uzemní.

Tlačítko s LED:

Část tlačítka je stejná jako výše. Pro LED připojíte další vodiče:

  • Ground - (negativní)
  • Digitální pin Arduino + (kladný)

Tato část je docela přímočará. Pin Arduino budeme používat v normálním režimu VÝSTUP.

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

Ty jsou trochu jiné a neumožňují ovládání LED nezávisle na poloze spínače. LED dioda se vždy rozsvítí, pouze když je spínač zapnutý. Mají konektor +, - a signál.

  • Ground - (negativní)
  • 5V + (kladný)
  • Arduino digitální pin S (signál)

Pin Arduino použijeme v režimu INPUT. Když je spínač zapnutý, LED se rozsvítí a signální kolík se rozsvítí vysoko.

Krok 7: Zapojení joysticků a displeje LCD

Zapojení joysticků a LCD
Zapojení joysticků a LCD
Zapojení joysticků a LCD
Zapojení joysticků a LCD
Zapojení joysticků a LCD
Zapojení joysticků a LCD

LCD

LCD je velmi jednoduchý. Potřebuje pouze napájení, uzemnění a sériové připojení.

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

Můžete použít konektor JST nebo přímo připájet vodiče k desce.

Joysticky

Joysticky mohou na první pohled vypadat skličující, ale jejich připojení je celkem snadné. Existují tři osy, které jsou spojeny stejným způsobem. Dva z nich používají konektory ve spodní části joysticku. Třetí používá nějaké dráty.

  • Přízemní
  • Wiper Arduino analogový vstupní pin
  • 5V

Konektory lze připojit v tomto pořadí. Nebojte se, že byste to dostali zpět, stěrač je vždy prostřední. Pokud dojde k záměně napájení a země, můžeme osu v kódu Arduino později převrátit.

Dráty mohou mít na joysticku jiné barevné schéma, ale obecně: dva vodiče se stejnými barvami jsou pro tlačítko nahoře. Červená nebo oranžová je 5V, černá nebo hnědá je uzemněná. Zbývající drát je stěrač.

Krok 8: Palivoměry LED Bar

LED bar palivoměry
LED bar palivoměry
LED bar palivoměry
LED bar palivoměry
LED bar palivoměry
LED bar palivoměry

Dobře. Toto je nejtěžší část celé stavby. Nebojte se to přeskočit na své první sestavě, nebo to vylepšit a dejte mi vědět!

Mám tyto skvělé LED tyče, které chci použít jako palivoměry. Horní LED dioda je modrá, pak zelená, oranžová a nakonec červená. Pokud můžeme rozsvítit jednu LED najednou, můžeme ji nechat reprezentovat hladinu paliva v naší kosmické lodi.

Původně jsem u nich objednal integrované obvody řidiče. Fungují skvěle! Můžete zvolit bodový režim nebo pruhový režim a bude zobrazovat analogové vstupní napětí jako jedna LED (tečka) nebo řada LED (bar). Arduino ale nevydává analogové napětí! A funkce PWM, která vám umožňuje ztlumit LED pomocí emulace analogového napětí, nefunguje s těmito integrovanými obvody ovladače.

Na plán 2: posuvné registry. S těmito můžete pracovat v každé startovací sadě Arduino. A můžete se o nich dozvědět více zde:

V plánu je nějak převést hladiny paliva na správný řetězec bitů, které budou představovat hladiny paliva na lištách LED. Při použití 5 palivoměrů by všechny hladiny paliva musely být 10000000001000000000100000000010000000001000000000. Při prázdném monopropelentu by to bylo: 10000000001000000000100000000010000000000000000001.

Zní to dost jednoduše. Existují určité komplikace. Posuvné registry mají 8 pinů, zatímco lišty LED mají 10 LED. Pro získání 56 výstupů používám 7 posuvných registrů. Když jsem je zapojoval, někde jsem přeskočil pin IC (vejdeme se do kódu). A zapojím jednu LED lištu na začátek na druhém konci (opravíme to v kódu). Oh a Arduino matematika, kterou potřebujeme, někdy používá aritmetiku s pohyblivou řádovou čárkou, která způsobuje chyby zaokrouhlování (opravíme to v kódu). Všimněte si, že kód sdílím v pozdějším kroku.

Moje konečná sestava neodpovídala připojenému schématu zapojení, takže pokud tento ovladač znovu sestavíte, jsou v kódu vyžadovány některé aktualizace. Komentujte níže, pokud potřebujete pomoc.

Každá LED vyžaduje vlastní odpor. Vyzkoušejte různé hodnoty, aby odpovídaly jasu. Zelená se stejným odporem vypadá mnohem jasněji než červená, takže to pomáhá vyrovnat.

Konečný výsledek: namísto 50 digitálních pinů potřebných k napájení 5 LED diod je redukováno na 3: hodinový signál, západkový signál a datový signál.

Krok 9: Sestavení přílohy

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

Čas pomstít se s těmi logy!

Logo jsem převedl na správné vektorové kresby, takže se v pohodě vyleptají. Dnes mám jiný problém. Otvory pro šrouby nejsou na správných místech pro správnou montáž krabice. Na krabici jsem použil 6mm MDF. Šroubování hřebíků do okrajů bohužel způsobí jejich rozdělení. Rozsekal jsem to spolu s dalšími kousky dřeva a lepidlem. Hodně lepidla.

Pro ty z vás, kteří jsou lepší se dřevem, lepidlem a/nebo hřebíky, jsem připojil verzi návrhů bez otvorů pro šrouby.

Navzdory obtížím je konečný výsledek docela hladký.

Krok 10: Software a testování

Image
Image
Software a testování
Software a testování

Stáhněte si následující software, aby ovladač fungoval s Kerbal Space Program:

Plugin KSP:

Soubor ZIP je kompilovaný plugin. Zbytek je zdrojový kód, který můžete použít k úpravě pluginu a kompilaci vlastní verze. Rozbalte plugin do adresáře GamaData.

Kód Arduino:

Pomocí Arduino IDE nahrajte kód do Arduino Mega ve vašem ovladači.

Podívejte se do pravého dolního rohu Arduino IDE, abyste zjistili, na kterém sériovém portu je ovladač (např. /Dev/cu.usbmodem1421). Otevřete soubor config.xml z adresáře pluginu a ujistěte se, že je váš port vyplněn. Nyní můžete začít!

Režim ladění můžete použít tak, že malý vypínač zapnete/vypnete vlevo nahoře do polohy ON. Na displeji LCD by se měl zobrazit řetězec písmen. Každé písmeno představuje tlačítko nebo přepínač a přepíná mezi malými a velkými písmeny, když stisknete tlačítko nebo přepnete přepínač. Nastavením přepínačů xyz na Xyz (zapnutí/vypnutí/vypnutí) se také zobrazí hodnoty posuvníku plynu. xYz zobrazuje hodnoty joysticku pro joystick Překlad (vlevo). xyZ pro otočný (pravý) joystick.

LCD režimy

Následující režimy zobrazení lze vybrat pro zobrazení na displeji LCD pomocí přepínačů x, y a z

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

Režim na oběžné dráze: Apoapsis + Time to Apoapsis / Periapsis + Time to Periapsis

Režim manévrování: Čas do dalšího uzlu manévru / Zbývající Delta-V pro další uzel

Režim Rendezvous: Vzdálenost k cíli / Rychlost vzhledem k cíli

Režim opětovného vstupu: Procentuální přehřátí (max) / zpomalení (G)

Režim létání: Nadmořská výška / Machovo číslo

Režim přistání: Radarová nadmořská výška / Vertikální rychlost

Extra režim: zatím není implementován

Chcete -li vidět různé režimy v akci, podívejte se na video na konci pokynů.

Krok 11: Na Měsíc

Image
Image
Na měsíc!
Na měsíc!

Zapalte KSP, naložte své oblíbené plavidlo nebo postavte nové a můžete vyrazit!

Tipy:

  • Pro své žebříky použijte vlastní akční skupinu 5
  • Pro své solární panely použijte vlastní akční skupinu 6
  • Použijte vlastní akční skupinu 7 pro padáky nebo skluzavky
  • Přiřaďte spouštěcí únikový systém a příslušné oddělovače akční skupině Přerušit
  • Nezapomeňte, že musíte aktivovat tlačítko Staging
Soutěž Arduino 2017
Soutěž Arduino 2017
Soutěž Arduino 2017
Soutěž Arduino 2017

Druhé místo v soutěži Arduino Contest 2017

První autorská soutěž 2018
První autorská soutěž 2018
První autorská soutěž 2018
První autorská soutěž 2018

Runner Up in the First Time Author Contest 2018

Doporučuje: