Obsah:
- Krok 1: Ako to funguje a zoznam materiálov
- Krok 2: Zapojte obvod
- Krok 3: Naprogramujte Arduino
- Krok 4: Otestujte Arduino
- Krok 5: Spustite softvér Listener
- Krok 6: Liftoff
Video: Vylepšite svoj vesmírny štart pomocou tlačidla fyzickej fázy pre vesmírny program Kerbal: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
Nedávno som si vybral demo verziu programu Kerbal Space. Kerbal Space Program je simulátorová hra, ktorá vám umožní navrhovať a vypúšťať rakety a navigovať ich k vzdialeným mesiacom a planétam. Stále sa pokúšam úspešne pristáť na Mesiaci (alebo Mun, ako sa tomu v hre hovorí). Pri prezeraní oficiálnych fór som narazil na tento úhľadný projekt. Je to fyzický ovládací panel s desiatkami prepínačov a číselníkov, ktorý dodáva zážitku punc realistickosti. Niekedy si myslím, že by bolo zábavné vytvoriť si vlastné nastavenie, ale zatiaľ nemám všetky komponenty. Medzitým som zostavil toto jednoduché tlačidlo, ktoré je možné použiť na vykonávanie postupných kontrol, ako je spustenie štartu, odhodenie prázdnych palivových nádrží a rozmiestnenie padákov. Skutočne to dodáva hre zábavný prvok a na to, aby ste si vytvorili svoj vlastný, stačí Arduino, tlačidlový spínač a niekoľko ďalších malých kúskov.
Začnime!
Krok 1: Ako to funguje a zoznam materiálov
Tu je základný prehľad o tom, ako moje nastavenie funguje.
Na jednom z kolíkov Arduina je prepojený tlačidlový spínač. Arduino čaká na stlačenie tlačidla a potom odošle malú správu cez USB do môjho počítača. V počítači ľahký program počúva signál z Arduina a odošle simulovaný stlačením medzerníka do programu Kerbal Space Program (alebo akéhokoľvek iného programu, ktorý je v počítači momentálne aktívny). Je to skutočne veľmi jednoduché a celý projekt by sa dal ľahko prispôsobiť akémukoľvek inému účelu zmenou požadovaného stlačenia klávesu. Môžete vytvoriť tlačidlo, ktoré vyvolá konkrétny nástroj v editore fotografií, alebo napríklad tlačidlo, ktoré obnoví webovú stránku vo vašom prehliadači. Možnosti sú dosť široké.
Tu sú veci, ktoré budete potrebovať na spustenie vlastného tlačidla:
- Arduino s príslušným káblom USB (použil som Arduino Uno)
- Nepájkovateľné nepájivé pole
- Chvíľkový vypínač (stačí akékoľvek tlačidlo. Pozrite sa na druhý obrázok, ktorý som použil)
- Malý odporník
- Na prepojenie komponentov prepojte prepojovacie vodiče alebo niekoľko dĺžok vodiča 22 AWG.
Samozrejme budete potrebovať aj kópiu programu Kerbal Space. U tohto projektu demo verzia funguje dobre, takže ak hru ešte nevlastníte, môžete si toto tlačidlo vytvoriť a vyskúšať. Stiahnite si hru tu: kerbalspaceprogram.com
Krok 2: Zapojte obvod
Teraz začneme s konštrukciou obvodu.
Najprv prepojovacím káblom prepojte 5v kolík vášho Arduina s červeným stĺpcom na doske. To isté urobte s uzemňovacím (GND) kolíkom a modrým stĺpcom. To nám umožní získať energiu z Arduina na akomkoľvek kolíku na červenej čiare a umožní nám pripojiť sa na zem na akomkoľvek pine pozdĺž modrej čiary.
Za druhé, vložte vypínač na nepájivú dosku. Na presnom umiestnení veľmi nezáleží, len sa uistite, že vstupné a výstupné kolíky sú v oddelených radoch. Teraz prepojte prepojovací kábel z červeného stĺpca nepájivej dosky na jednu stranu vypínača. Pripojte druhú stranu prepínača k modrému stĺpcu pomocou odporu. Nakoniec pripojte rovnakú stranu prepínača, ku ktorému ste pripojili odpor, k jednému, ak sú kolíky na Arduine. Použil som pin 2.
To je pre základný okruh všetko!
Krok 3: Naprogramujte Arduino
Ďalšia vec, ktorú musíme urobiť, je nahrať kód do Arduina.
Upravil som ukážkový náčrt Debounce, ktorý je súčasťou softvéru Arduino, aby odoslal číslo 1 cez sériové pripojenie do počítača pri každom stlačení tlačidla. Jediné, čo som musel urobiť, bolo pridať "Serial.begin (9600)" do funkcie nastavenia a "Serial.println (1)" do vnútra príkazu if, ktorý kontroluje, či buttonState == HIGH. Tiež som odstránil kód, ktorý zapína a vypína palubnú diódu LED.
Môžete buď urobiť to, čo som urobil, a upraviť skicu Debounce, alebo si jednoducho stiahnuť moju hotovú verziu z tohto návodu.
V každom prípade budete chcieť zapojiť Arduino, otvoriť hotový náčrt a nahrať ho na dosku Arduino.
Krok 4: Otestujte Arduino
Kým sa pohneme ďalej, pomôže nám vyskúšať si, čo sme doteraz vybudovali.
Keď je Arduino stále zapojené do počítača, otvorte sériový monitor v softvéri Arduino. Niekoľkokrát stlačte tlačidlo. Každý lis by mal v okne sériového monitora vytvoriť „1“. Ak je to tak, ste pripravení ísť ďalej. Ak nie, vráťte sa a skontrolujte, či ste všetko zapojili správne, a skúste znova nahrať skicu Arduino. Ak to stále nefunguje, zanechajte komentár nižšie a uvidíme, či vám môžem pomôcť, aby to fungovalo.
Krok 5: Spustite softvér Listener
Teraz máme fyzické tlačidlo, ktoré odosiela správu do počítača pri každom stlačení. Teraz musíme v počítači nastaviť poslucháča, ktorý bude prekladať „1“pochádzajúce z Arduina do stlačení klávesov, ktoré Kerbal Space Program rozpozná.
Napísal som malý program, aby som to urobil. Stiahnite, rozbaľte a potom spustite program. Malo by to vyzerať ako na obrázku. Teraz nastavte číslo portu COM na číslo svojho Arduina. Ak neviete, aký port COM používa vaše Arduino, otvorte program Arduino editor a skontrolujte pravý dolný roh.
Ďalej umiestnite kurzor do textového poľa a jedenkrát stlačte medzerník. Poslucháč bude simulovať stlačenie klávesu pre čokoľvek, čo je napísané v tomto poli. Pretože štartovacím tlačidlom v programe Kerbal Space je medzerník, v tomto textovom poli chceme jednu medzeru.
Keď nastavíte číslo portu COM a v textovom poli máte miesto, môžete to vyskúšať !. Stlačte tlačidlo „Začať počúvať“. Otvorte textový editor, napríklad Poznámkový blok alebo Word, a stlačte tlačidlo. Mal by sa objaviť priestor. Ak nie, znova skontrolujte, či je Arduino zapojené, či je číslo portu správne a či program počúvania stále beží.
Krok 6: Liftoff
Všetko je hotové! Vystreľte vesmírny program Kerbal, zostavte raketu a vyrazte na štartovaciu rampu. Ak všetko pôjde dobre, vaša raketa by sa mala spustiť po stlačení tlačidla. Ak ste postavili viacstupňovú raketu, tlačidlo bude fungovať aj na odpálenie ďalších stupňov.
Vďaka za prečítanie! Dúfam, že sa vám tento návod dal páčiť. V prípade akýchkoľvek otázok mi dajte vedieť v komentároch a nezabudnite zverejniť obrázok dokončeného tlačidla spustenia.
Odporúča:
Vylepšite svoj zbytočný box: 5 krokov
Vylepšite svoj zbytočný box: Tento návod vám ukáže, ako môžete zlepšiť svoj zbytočný box, keď reaguje príliš rýchlo, takže po prepnutí prepínača na aktiváciu boxu máte málo času na odstránenie prsta
Vytvorenie ovládača fyzickej hry: 10 krokov (s obrázkami)
Vytvorenie ovládača fyzickej hry: Keď bol Nintendo Wii uvedený na trh, hráči boli povzbudzovaní, nie však povinní, aby opustili pohovku a skákali, tancovali a hýbali sa, aby získali body v hre, ktorú si vybrali. Aj keď pri budovaní Wii existuje strmá krivka učenia, je ľahké ho
Kapacitný dotykový vstup ESP32 pomocou „zástrčiek s kovovou dierou“pre tlačidlá: 5 krokov (s obrázkami)
Kapacitný dotykový vstup ESP32 pomocou „zástrčiek s kovovou dierou“pre tlačidlá: Keď som finalizoval rozhodnutia o návrhu pre nadchádzajúci projekt ESP32 WiFi Kit 32 vyžadujúci vstup s tromi tlačidlami, jedným z výrazných problémov bolo, že WiFi Kit 32 nemá jediné mechanické tlačidlo, napriek tomu tri mechanické tlačidlá,
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: Prečo stavať KerbalController? Nuž, 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ď ide o veľký červený bezpečnostný spínač, kde musíte najskôr otvoriť kryt, prepnite vypínač
Vylepšite svoj IPod Mini pomocou pamäte Flash - už žiadny pevný disk!: 6 krokov (s obrázkami)
Vylepšite svoj IPod Mini pomocou pamäte Flash - už žiadny pevný disk!: Namiesto pevného disku bude váš nový inovovaný iPod používať pamäť Flash bez pohyblivých častí na rýchlejšie spustenie & prístupové časy a nižšia spotreba energie. (IPod som bežal nepretržite viac ako 20 hodín na jedno nabitie!). Tiež získate vylepšenie