Kazalo:

KerbalController: Nadzorna plošča po meri za vesoljski program Kerbal za raketne igre: 11 korakov (s slikami)
KerbalController: Nadzorna plošča po meri za vesoljski program Kerbal za raketne igre: 11 korakov (s slikami)

Video: KerbalController: Nadzorna plošča po meri za vesoljski program Kerbal za raketne igre: 11 korakov (s slikami)

Video: KerbalController: Nadzorna plošča po meri za vesoljski program Kerbal za raketne igre: 11 korakov (s slikami)
Video: Полный курс по Next js - Изучи Nextjs за 2 часа! | React SSR +таймкоды 2024, Julij
Anonim
KerbalController: Nadzorna plošča po meri za vesoljski program Rocket Game Kerbal
KerbalController: Nadzorna plošča po meri za vesoljski program Rocket Game Kerbal

Zakaj zgraditi KerbalController?

No, ker je pritiskanje gumbov in metanje fizičnih stikal veliko bolj pomembno kot klikanje miške. Še posebej, če gre za veliko rdeče varnostno stikalo, kjer morate najprej odpreti pokrov, pritisniti stikalo, da aktivirate raketo, zaženete odštevanje in 3.. 2.. 1.. imamo vzpon!

Kaj je KerbalController?

KerbalController, imenovan tudi nadzorna plošča, Simpit (simulirana pilotska kabina), DSKY (zaslonska tipkovnica) ali krmilna palica po meri, je prilagojena vhodna naprava za nadzor nad priljubljeno raketogradnjo in letenjem in upajmo, da ne bo eksplodirala igre Kerbal Space Program v kombinaciji z izbirnimi izhodi iz igre, kot so luči stanja, zasloni telemetrije in/ali merilniki goriva.

Ta posebna konstrukcija vključuje vnose, kot so kontrole vrtenja in prevajanja prek krmilnih ročic, drsnika za plin, veliko gumbov z lučkami stanja, LED merilniki goriva in telemetrični LCD zaslon z več načini.

Ta priročnik bo vseboval vse, kar potrebujete za izdelavo enake kopije ali za prilagajanje in izboljšanje, kot se vam zdi primerno. Vključeni so:

  • seznam delov
  • risbe za digitalno oblikovanje, pripravljene za lasersko rezanje
  • navodila za ožičenje
  • Koda Arduino
  • Koda za pripadajoči vtičnik KSP
  • Veliko slik

Ste pripravljeni na vzlet? Pojdimo!

1. korak: Orodja

Orodja
Orodja

Najpomembnejše orodje, ki ga morate imeti za to gradnjo, je spajkalnik. To vključuje nekaj spajkanja, kovinsko gobico za čiščenje konice spajkalnika in "tretjo roko".

Druga orodja so odstranjevalec žice, rezalnik žice, pinceta in nekateri majhni izvijači.

2. korak: Deli in osnovna postavitev

Deli in osnovna postavitev
Deli in osnovna postavitev
Deli in osnovna postavitev
Deli in osnovna postavitev

Izdelati za vas najboljši možni krmilnik pomeni natančno izbrati, katere gumbe in stikala želite uporabiti. Ker vsak igra igro drugače. Nekateri ljudje letijo z letali in gradijo SSTO (enostopenjski v orbito). Drugi imajo raje roverje vesoljskih postaj. Nekateri pa želijo, da stvari spektakularno eksplodirajo!

Pomaga narisati vse dele v njihovi približni velikosti in jih povleči v vektorskem programu za risanje (na primer Affinity Designer ali Inkscape) ali v programu za risanje 3D (na primer SketchUp).

Če želite lažjo izdelavo, lahko preprosto kopirate moj krmilnik in dobite dele, navedene na priloženem seznamu delov.

3. korak: Ustvarite prototip (neobvezno)

Ustvari prototip (neobvezno)
Ustvari prototip (neobvezno)
Ustvari prototip (neobvezno)
Ustvari prototip (neobvezno)

Če kopirate moj krmilnik, lahko ta korak preskočite.

Če se odločite za postavitev po meri, priporočam, da najprej uporabite škatlo za čevlje, da ustvarite delujoč prototip z glavnimi kontrolniki. Resnično pomaga pri natančni nastavitvi položaja glavnih kontrol. Prav tako je lepo pridobiti zaupanje, da ga lahko aktivirate, preden še naprej vlagate čas in denar v končno gradnjo. Pravzaprav sem se kar nekaj časa igral s krmilnikom škatle za čevlje. Ali ni to Kerbalov način, da uporabite rešene dele, da skupaj nekaj vdrete?

4. korak: Nasveti za ožičenje

Nasveti za ožičenje
Nasveti za ožičenje
Nasveti za ožičenje
Nasveti za ožičenje
Nasveti za ožičenje
Nasveti za ožičenje

Ko ustvarjate prototip, ne spajkajte vseh gumbov, razen če jih želite odstraniti, ko pridete do zadnjega ohišja. Spajal sem nekaj žic na gumbe in s pomočjo spajkalne plošče vzpostavil začasne povezave z Arduinom.

Ko priključite vso elektroniko na zadnjo prednjo ploščo, lahko zmanjšate nered z ustvarjanjem zank za 5 V in maso. Ne priključite vseh ozemljitvenih zatičev neposredno na Arduino, ampak ozemljitev enega gumba povežete z ozemljitvijo naslednjega gumba in zanite povsod. Nazadnje se povežete z Arduinom.

Po ustvarjanju zank za napajanje in ozemljitev ostanejo vse povezave z zatiči Arduino. Priporočam, da vzamete nekaj trakov zatičev glave in jim spajkate žice. Te lahko uporabite kot velik priključek, tako da lahko še vedno izključite Arduino za testiranje.

Dolžina žic je uravnovešanje med dovolj kratko, da ohišje ostane brez odvečnih zapletov žice (ki vam lahko prepreči, da bi zaprli škatlo), in dovolj dolgo, da lahko premikate dele s poti do spajkanja druge dele, privijte vijake in med odpravljanjem napak pobrskajte z multimetrom.

5. korak: lasersko rezanje prednje plošče

Lasersko rezanje prednje plošče
Lasersko rezanje prednje plošče
Lasersko rezanje prednje plošče
Lasersko rezanje prednje plošče
Lasersko rezanje prednje plošče
Lasersko rezanje prednje plošče

Čistega in profesionalnega videza je pri ročnem žaganju in barvanju zelo težko doseči. Na srečo lasersko rezanje ni več drago. Omogoča izjemno natančnost, če je vaša zasnova natančna.

Priložena je moja oblika sprednje plošče v formatih, primernih za Affinity Designer in druge programe za vektorsko risanje, kot je brezplačni InkScape.

Na Nizozemskem sem imel lasersko rezanje na Lichtzwaardu. Od takrat so se zaprli, dejavnosti pa je prevzel Laserbeest, kjer sem lasersko odrezal škatlo. Vsaka trgovina ima lahko drugačne zahteve za oblikovanje, zato se pred oddajo obrnite na svojo trgovino. Prav tako skoraj vedno ponujajo oblikovalsko pomoč po urni postavki.

Pomembne stvari, ki jih morate upoštevati:

  • Vse mora temeljiti na vektorju. Zato logotip v moji zasnovi prednje plošče ni bil urezan. Upoštevajte, da to ni pritrjeno v priloženih modelih.
  • Tudi besedilo temelji na vektorju. Zato te črke pretvorite v krivulje!
  • Izmerite. Izmerite. Izmerite. Nisem upošteval velikosti, potrebne za namestitev igralnih palic, in sem jo moral vdreti. Na srečo se je izkazalo. Upoštevajte, da je to pritrjeno v priloženih izvedbah.

Po temeljitem preverjanju vse pošljite v delavnico za lasersko rezanje. Pričakujte, da boste na Nizozemskem plačali 40-50 evrov in naslednji dan po pošti prejeli ta čudovit rezultat!

6. korak: Priključitev gumbov in stikal

Priključitev gumbov in stikal
Priključitev gumbov in stikal
Priključitev gumbov in stikal
Priključitev gumbov in stikal
Priključitev gumbov in stikal
Priključitev gumbov in stikal

Večina stikal in gumbov ima priključke z oznako C, NO, NC, +, -. Evo, kako jih priključiti na Arduino.

Preprosto stikalo ali gumb:

  • Ozemljitev C (pogosta)
  • Arduino digitalni pin NO (normalno odprt)

Digitalni pin bomo konfigurirali kot INPUT_PULLUP, kar pomeni, da bo Arduino obdržal pin pri 5V in odkril, kdaj se pin ozemlji, in to obravnaval kot vhod. Konektor NO na stikalu ali gumbu je normalno odprt, zato vezje ni povezano. Ko pritisnete gumb ali preklopite stikalo, se vezje zapre in pin se ozemlji.

Tipka z LED:

Del gumba je enak kot zgoraj. Za LED priklopite dodatne žice:

  • Tla - (negativno)
  • Arduino digitalni pin + (pozitiven)

Ta del je precej preprost. Arduino pin bomo uporabili v običajnem načinu OUTPUT.

Varnostna stikala z LED:

Ti so nekoliko drugačni in ne dovoljujejo nadzora nad LED, neodvisno od položaja stikala. LED bo vedno zasvetil le, ko je stikalo vklopljeno. Imajo +, - in signalni priključek.

  • Tla - (negativno)
  • 5V + (pozitivno)
  • Arduino digitalni pin S (signal)

Arduino pin bomo uporabili v načinu INPUT. Ko je stikalo vklopljeno, zasveti LED in signalni zatič se dvigne.

7. korak: Priključite igralne palice in LCD

Priključitev igralnih palic in LCD -zaslona
Priključitev igralnih palic in LCD -zaslona
Priključitev igralnih palic in LCD -zaslona
Priključitev igralnih palic in LCD -zaslona
Priključitev igralnih palic in LCD -zaslona
Priključitev igralnih palic in LCD -zaslona

LCD

LCD je zelo preprost. Potrebuje le napajanje, ozemljitveno in serijsko.

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

Uporabite lahko priključek JST ali žice spajkate neposredno na ploščo.

Igralne palice

Igralne palice na prvi pogled morda izgledajo zastrašujoče, vendar jih je enostavno povezati. Obstajajo tri osi, ki so povezane na enak način. Dva od njih uporabljata priključke na dnu krmilne palice. Tretji uporablja nekaj žic.

  • Tla
  • Brisalnik za analogni vhod Arduino
  • 5V

Priključke lahko pritrdite v tem vrstnem redu. Ne skrbite, da bi ga dobili nazaj, brisalnik je vedno srednji. Če se moč in zemlja zamenjata, lahko pozneje obrnemo os v kodi Arduino.

Žice imajo lahko drugačno shemo barvanja na krmilni palici, vendar na splošno: dve žici enakih barv sta za gumb na vrhu. Rdeča ali oranžna je 5V, črna ali rjava je ozemljena. Preostala žica je brisalnik.

8. korak: Merilniki goriva LED

LED -merilniki goriva
LED -merilniki goriva
LED -merilniki goriva
LED -merilniki goriva
LED -merilniki goriva
LED -merilniki goriva

V redu. To je najtežji del celotne gradnje. Tega lahko preskočite pri prvi gradnji ali pa ga izboljšajte in mi sporočite!

Dobil sem te odlične LED palice, ki jih želim uporabiti kot merilnike goriva. Zgornja LED je modra, nato nekaj zelena, nato oranžna in na koncu rdeča. Če lahko prižgemo eno LED naenkrat, lahko pustimo, da predstavlja raven goriva na našem vesoljskem plovilu.

Sprva sem pri njih naročil IC -je za voznike. Delujejo odlično! Izberete lahko način pik ali način vrstice in analogna vhodna napetost bo prikazana kot ena LED (točka) ali vrsta LED (črta). Toda Arduino ne oddaja analogne napetosti! Funkcija PWM, ki vam omogoča, da zatemnite LED z nekakšno emulacijo analogne napetosti, ne deluje s temi gonilniki IC.

Načrt 2: registri premikov. S temi lahko delate v vsakem začetnem kompletu Arduino. Več o njih lahko izveste tukaj:

Načrt je nekako pretvoriti raven goriva v ustrezen niz bitov, ki bodo predstavljali nivo goriva na LED palicah. S 5 merilniki goriva bi morale biti vse napolnjene ravni goriva 1000000000100000000000100000000010000000001000000000. Če je monopropelator prazen, bi postal: 100000000010000000001000000000100000000000000001.

Sliši se dovolj preprosto. Obstaja nekaj zapletov. Registri premikov imajo 8 zatičev, LED palice pa 10 LED. Uporabljam 7 registrov premikov, da dobim 56 izhodov. Ko sem jih ožičil, sem nekje preskočil pin IC (to bomo vnesli v kodo). Na eni strani sem ožičil eno LED palico (to bomo popravili v kodi). Oh, in matematika Arduino, ki jo potrebujemo, včasih uporablja aritmetiko s plavajočo vejico, ki povzroča napake pri zaokroževanju (to bomo popravili v kodi). Upoštevajte, da kodo delim v naslednjem koraku.

Moja končna sestava se ni ujemala s priloženim diagramom ožičenja, zato morate pri ponovni izgradnji tega krmilnika kode posodobiti. Če potrebujete pomoč, komentirajte spodaj.

Vsaka LED dioda potrebuje svoj upor. Poskusite z različnimi vrednostmi, da se ujemajo s svetlostjo. Zelena je z istimi upori veliko svetlejša od rdeče, zato to pomaga uravnovesiti.

Končni rezultat: namesto 50 digitalnih zatičev, potrebnih za napajanje 5 LED palic, se to zmanjša na 3: signal ure, signal zapaha in podatkovni signal.

9. korak: Gradnja ohišja

Gradnja ohišja
Gradnja ohišja
Gradnja ohišja
Gradnja ohišja
Gradnja ohišja
Gradnja ohišja
Gradnja ohišja
Gradnja ohišja

Čas je, da se maščevam s temi logotipi!

Logotip sem pretvoril v ustrezne vektorske risbe, tako da se dobro vtisnejo. Tokrat imam drugačen problem. Odprtine za vijake niso na pravih mestih za pravilno montažo škatle. Za škatlo sem uporabil 6 mm MDF. Žal privijanje žebljev v robove povzroči njihovo cepitev. Zlomil sem ga skupaj z dodatnimi ostanki lesa in lepilom. Veliko lepila.

Za tiste, ki ste boljši z lesom, lepilom in/ali žeblji, sem priložil različico modelov brez odprtin za vijake.

Kljub težavam je končni rezultat precej moteč.

10. korak: Programska oprema in testiranje

Image
Image
Programska oprema in testiranje
Programska oprema in testiranje

Prenesite naslednjo programsko opremo, da bo krmilnik deloval s vesoljskim programom Kerbal:

Vtičnik KSP:

Datoteka ZIP je sestavljeni vtičnik. Ostalo je izvorna koda, s katero lahko spremenite vtičnik in sestavite svojo različico. Vtičnik razpakirajte v imenik GamaData.

Koda Arduino:

Uporabite Arduino IDE, da naložite kodo na Arduino Mega v krmilniku.

V spodnjem desnem kotu Arduino IDE ugotovite, na katerih serijskih vratih je krmilnik (npr. /Dev/cu.usbmodem1421). Odprite datoteko config.xml iz imenika vtičnikov in se prepričajte, da so vaša vrata zapolnjena. Zdaj ste pripravljeni!

Način odpravljanja napak lahko uporabite tako, da majhno stikalo za vklop/izklop zgoraj levo postavite v položaj ON. LCD mora prikazati niz črk. Vsaka črka predstavlja gumb ali stikalo in preklaplja med malimi in velikimi črkami, ko pritisnete gumb ali preklopite stikalo. Če nastavite stikala xyz v Xyz (vklop/izklop/izklop), bodo prikazane tudi vrednosti drsnika za plin. xYz prikazuje vrednosti krmilne palice za prevodno (levo) krmilno palčko. xyZ za krmilno palico Rotation (desno).

Načini LCD

Naslednje načine prikaza lahko izberete za prikaz na LCD -ju s pomočjo stikal x, y in z

Način TakeOff: Suface Velocity / Acceleration (G)

Način orbite: Apoapsis + čas do Apoapsis / Periapsis + Čas do Periapsis

Manevrski način: Čas do naslednjega manevrskega vozlišča / Preostali delta-V za naslednje vozlišče

Rendezvous Mode: razdalja do cilja / hitrost glede na cilj

Način ponovnega vstopa: odstotek pregrevanja (max) / pojemk (G)

Način letenja: nadmorska višina / Mach številka

Način pristanka: Radarska višina / navpična hitrost

Dodatni način: še ni izveden

Če si želite ogledati različne načine delovanja, si oglejte videoposnetek na koncu navodil.

11. korak: Na Luno

Image
Image
Na Luno!
Na Luno!

Prižgite KSP, naložite svoje najljubše plovilo ali zgradite novo in pojdite!

Nasveti:

  • Uporabite skupino dejanj po meri za svoje lestve
  • Uporabite skupino dejanj po meri za svoje sončne celice
  • Uporabite skupino dejanj po meri za padala ali padala
  • Dodelite sistem za izhod v sili in ustrezne ločevalnike akcijski skupini Prekinitev
  • Ne pozabite, da morate aktivirati gumb za uprizoritev
Natečaj Arduino 2017
Natečaj Arduino 2017
Natečaj Arduino 2017
Natečaj Arduino 2017

Podprvak na tekmovanju Arduino 2017

Prvič natečaj avtorjev 2018
Prvič natečaj avtorjev 2018
Prvič natečaj avtorjev 2018
Prvič natečaj avtorjev 2018

Podprvak na prvem tekmovanju avtorjev 2018

Priporočena: