Sadržaj:

KerbalController: prilagođena upravljačka ploča za svemirski program Kerbal za raketne igre: 11 koraka (sa slikama)
KerbalController: prilagođena upravljačka ploča za svemirski program Kerbal za raketne igre: 11 koraka (sa slikama)

Video: KerbalController: prilagođena upravljačka ploča za svemirski program Kerbal za raketne igre: 11 koraka (sa slikama)

Video: KerbalController: prilagođena upravljačka ploča za svemirski program Kerbal za raketne igre: 11 koraka (sa slikama)
Video: Установка кондиционера на экскаватор погрузчик Volvo bl71b, на штатное место. Своими руками. 2024, Studeni
Anonim
KerbalController: prilagođena upravljačka ploča za svemirski program Kerbal za raketne igre
KerbalController: prilagođena upravljačka ploča za svemirski program Kerbal za raketne igre

Zašto graditi KerbalController?

Pa, zato što je pritiskanje gumba i bacanje fizičkih prekidača mnogo značajnije od klika mišem. Pogotovo kad se radi o velikom crvenom sigurnosnom prekidaču, gdje morate prvo otvoriti poklopac, pritisnuti prekidač da biste aktivirali raketu, pokrenuti odbrojavanje i 3.. 2.. 1.. imamo podizanje!

Što je KerbalController?

KerbalController, koji se naziva i upravljačka ploča, Simpit (simulirani kokpit), DSKY (zaslonska tipkovnica) ili prilagođena upravljačka palica, prilagođeni je ulazni uređaj za upravljanje popularnom izgradnjom raketa i letenjem i, nadamo se, ne eksplodiranjem igre Kerbal Space Program u kombinaciji s dodatnim izlazom iz igre, kao što su svjetla statusa, telemetrijski zasloni i/ili mjerači goriva.

Ova specifična konstrukcija uključuje unose kao što su kontrole rotacije i prevođenja putem upravljačkih palica, klizača za gas, mnoštvo gumba sa svjetlima statusa, LED pokazivači goriva i telemetrijski LCD zaslon s više načina rada.

Ovaj će vodič sadržavati sve što vam je potrebno za izradu identične kopije ili usputne prilagodbe i poboljšanja, prema vašem mišljenju. Uključeno je:

  • popis dijelova
  • crteži digitalnog dizajna spremni za lasersko rezanje
  • upute za ožičenje
  • Arduino kod
  • Kôd za pripadajući dodatak KSP
  • Mnogo slika

Spremni za polijetanje? Idemo!

Korak 1: Alati

Alati
Alati

Najvažniji alat koji trebate imati za ovu konstrukciju je lemilica. To uključuje malo lema, spužvu za čišćenje metala za čišćenje vrha lemilice i "treću ruku".

Drugi alati su skidač žice, rezač žice, pinceta i neki odvijači male veličine.

Korak 2: Dijelovi i osnovni izgled

Dijelovi i osnovni izgled
Dijelovi i osnovni izgled
Dijelovi i osnovni izgled
Dijelovi i osnovni izgled

Napraviti najbolji mogući kontroler za vas znači odabrati točno koje tipke i prekidače želite implementirati. Jer svi igraju igru drugačije. Neki ljudi lete avionima i grade SSTO-ove (jednostupanjske u orbitu). Drugi preferiraju rovere svemirskih postaja. A neki samo žele da stvari spektakularno eksplodiraju!

Pomaže iscrtati sve dijelove u približnoj veličini i povući ih u vektorskom programu za crtanje (poput Affinity Designer ili Inkscape) ili 3D programu za crtanje (poput SketchUpa).

Ako želite lakšu izradu, možete samo kopirati moj kontroler i dobiti dijelove navedene na priloženom popisu dijelova.

Korak 3: Izradite prototip (izborno)

Izradite prototip (izborno)
Izradite prototip (izborno)
Izradite prototip (izborno)
Izradite prototip (izborno)

Ako kopirate moj kontroler, možete preskočiti ovaj korak.

Ako idete na prilagođeni izgled, preporučujem da prvo upotrijebite kutiju za cipele kako biste stvorili radni prototip s glavnim kontrolama. To stvarno pomaže u finom podešavanju položaja glavnih kontrola. Također je lijepo steći samopouzdanje prije nego što nastavite ulagati vrijeme i novac u konačnu izgradnju. Zapravo sam igrao igru neko vrijeme sa svojim kontrolerom kutije za cipele. Nije li to Kerbalov način korištenja spašenih dijelova za hakiranje nečega zajedno?

Korak 4: Savjeti o ožičenju

Savjeti o ožičenju
Savjeti o ožičenju
Savjeti o ožičenju
Savjeti o ožičenju
Savjeti o ožičenju
Savjeti o ožičenju

Prilikom izrade prototipa nemojte lemiti sve svoje gumbe osim ako ih ne želite odlemiti kad dođete do posljednjeg kućišta. Zalemio sam neke žice na gumbe i upotrijebio ploču za lemljenje da napravim privremene veze s Arduinom.

Kada povezujete svu elektroniku s posljednjom prednjom pločom, možete smanjiti nered stvaranjem petlji za 5 V i masu. Ne povezujete sve pinove za uzemljenje izravno na Arduino, već radije spojite uzemljenje na jednom gumbu na uzemljenje na sljedećem gumbu i petlju okolo. Konačno, povezujete se s Arduinom.

Nakon stvaranja petlji za napajanje i masu, ostaju sve veze s Arduino iglicama. Preporučujem da nabavite neke trake zaglavlja i zalemite žice na njih. Možete ih koristiti kao veliki priključak, tako da i dalje možete isključiti svoj Arduino za testiranje.

Duljina žica balansira između dovoljno kratkog da se kućište oslobodi suvišnih zapleta žice (što bi vas moglo spriječiti da zatvorite kutiju) i dovoljno dugog da biste mogli pomaknuti dijelove s puta lemljenja ostale dijelove, zategnite vijke i pomičite se multimetrom dok otklanjate pogreške.

Korak 5: 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

Postizanje čistog, profesionalnog izgleda vrlo je teško pri ručnom piljenju i slikanju. Srećom, lasersko rezanje više nije skupo. Omogućuje iznimnu preciznost, sve dok je vaš dizajn točan.

U privitku je dizajn moje prednje ploče u formatima prikladnim za Affinity Designer i drugim programima za vektorsko crtanje poput besplatnog InkScape -a.

Lasersko su mi rezali prednju ploču u Nizozemskoj u Lichtzwaardu. Od tada su zatvoreni, a aktivnosti je preuzeo Laserbeest, gdje sam laserski izrezao okvir. Svaka trgovina može imati različite zahtjeve za dizajn, stoga prije slanja provjerite u svojoj trgovini. Također gotovo uvijek nude pomoć u dizajnu po satu.

Važne stvari koje treba imati na umu:

  • Sve mora biti zasnovano na vektorima. Zato logo u mom dizajnu prednje ploče nije urezan. Imajte na umu da to nije fiksno u priloženim nacrtima.
  • Čak je i tekst zasnovan na vektorima. Zato pretvorite ta slova u krivulje!
  • Mjera. Mjera. Mjera. Nisam uspio uzeti u obzir veličinu potrebnu za postavljanje upravljačkih palica i morao sam je hakirati. Ispalo je dobro, na sreću. Imajte na umu da je to fiksirano u priloženim izvedbama.

Nakon što ste sve temeljito provjerili, pošaljite ih u radionicu za lasersko rezanje. Očekujte da ćete platiti 40-50 eura u Nizozemskoj i sljedeći dan dobiti ovaj lijepi rezultat poštom!

Korak 6: Spajanje gumba i prekidača

Spajanje gumba i prekidača
Spajanje gumba i prekidača
Spajanje gumba i prekidača
Spajanje gumba i prekidača
Spajanje gumba i prekidača
Spajanje gumba i prekidača

Većina prekidača i gumba ima konektore označene sa C, NO, NC, +, -. Evo kako ih spojiti na Arduino.

Jednostavan prekidač ili gumb:

  • Uzemljenje C (uobičajeno)
  • Arduino digitalni pin NO (normalno otvoren)

Konfigurirat ćemo digitalni pin kao INPUT_PULLUP, što znači da će Arduino držati pin na 5V i detektirati kada pin bude uzemljen i to tretirati kao ulaz. NO konektor na prekidaču ili gumbu je normalno otvoren, pa krug nije spojen. Kada pritisnete gumb ili prebacite prekidač, krug se zatvara, a pin se uzemljuje.

Tipka sa LED diodom:

Dio gumba je isti kao gore. Za LED diodu priključujete dodatne žice:

  • Uzemljenje - (negativno)
  • Arduino digitalni pin + (pozitivan)

Ovaj dio je prilično jednostavan. Arduino pin koristit ćemo u normalnom OUTPUT načinu rada.

Sigurnosni prekidači sa LED diodama:

Oni su malo drugačiji i ne dopuštaju kontrolu nad LED diodom neovisno o položaju prekidača. LED dioda će uvijek svijetliti samo kad je prekidač uključen. Imaju +, - i signalni priključak.

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

Arduino pin koristit ćemo u INPUT načinu rada. Kad je prekidač uključen, LED svijetli, a signalni pin ide visoko.

Korak 7: Spajanje joysticka i LCD -a

Spajanje joysticka i LCD -a
Spajanje joysticka i LCD -a
Spajanje joysticka i LCD -a
Spajanje joysticka i LCD -a
Spajanje joysticka i LCD -a
Spajanje joysticka i LCD -a

LCD

LCD je vrlo jednostavan. Potrebno mu je samo napajanje, zemaljsko i serijsko.

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

Možete koristiti JST konektor ili izravno lemiti žice na ploču.

Joysticks

Upravljačke palice na prvu bi mogle izgledati zastrašujuće, ali jednostavno ih je spojiti. Tri su osi povezane na isti način. Dva od njih koriste konektore na dnu upravljačke palice. Treći koristi neke žice.

  • Uzemljenje
  • Brisač Arduino analogni ulazni pin
  • 5V

Priključci se mogu pričvrstiti ovim redoslijedom. Ne brinite o vraćanju unatrag, brisač je uvijek srednji. Ako se snaga i tlo zamijene, kasnije možemo okrenuti os u Arduino kodu.

Žice mogu imati drugačiju shemu bojanja na upravljačkoj palici, ali općenito: dvije žice identičnih boja služe za gumb na vrhu. Crvena ili narančasta je 5V, crna ili smeđa je uzemljena. Preostala žica je brisač.

Korak 8: LED mjerači goriva

LED mjerači goriva
LED mjerači goriva
LED mjerači goriva
LED mjerači goriva
LED mjerači goriva
LED mjerači goriva

U redu. Ovo je najteži dio cijele konstrukcije. Slobodno ovo preskočite pri prvoj verziji ili ga poboljšajte i obavijestite me!

Dobio sam ove sjajne LED šipke koje želim koristiti kao mjerače goriva. Gornja LED dioda je plava, zatim nešto zelena, zatim narančasta i na kraju crvena. Ako možemo paliti jednu po jednu LED, možemo dopustiti da predstavlja razinu goriva na našoj letjelici.

U početku sam kod njih naručio IC upravljačke programe. Odlično rade! Možete odabrati način točaka ili način rada s trakama i on će prikazati analogni ulazni napon kao jedna LED (točka) ili niz LED dioda (traka). Ali Arduino ne emitira analogni napon! Značajka PWM -a koja vam omogućuje zatamnjivanje LED -a oponašanjem analognog napona ne radi s ovim upravljačkim sklopovima.

Na planu 2: registri smjena. S njima možete raditi u svakom Arduino početnom setu. Više o njima možete saznati ovdje:

Plan je nekako pretvoriti razinu goriva u odgovarajući niz bitova koji će predstavljati razinu goriva na LED trakama. S 5 mjerača goriva, sve napunjene razine goriva morale bi biti 1000000000100000000000100000000010000000001000000000. S praznim monopropelerom postalo bi: 100000000010000000001000000000100000000000000001.

Zvuči dovoljno jednostavno. Postoje neke komplikacije. Registri pomaka imaju 8 pinova, dok LED šipke imaju 10 LED dioda. Koristim 7 registara pomaka da dobijem 56 izlaza. Kad sam ih spojio, preskočio sam negdje IC pin (to ćemo uklopiti u kôd). Ožičio sam jednu LED traku počevši od drugog kraja (to ćemo popraviti u kodu). Oh, i Arduino matematika koja nam je potrebna ponekad koristi aritmetiku s pomičnim zarezom koja uzrokuje pogreške zaokruživanja (popravit ćemo to u kodu). Imajte na umu da kôd dijelim u kasnijem koraku.

Moja konačna verzija nije odgovarala priloženom dijagramu ožičenja, pa ako obnovite ovaj kontroler, potrebna su neka ažuriranja koda. Komentirajte u nastavku ako vam je potrebna pomoć.

Svaka LED dioda zahtijeva vlastiti otpornik. Isprobajte neke različite vrijednosti kako biste uskladili svjetlinu. Zelena izgleda puno svjetlije od crvene s istim otpornicima, pa pomaže u uravnoteženju toga.

Krajnji rezultat: umjesto 50 digitalnih pinova potrebnih za napajanje 5 LED traka, to se smanjuje na 3: signal sata, signal zasuna i podatkovni signal.

Korak 9: Izgradnja kućišta

Izgradnja kućišta
Izgradnja kućišta
Izgradnja kućišta
Izgradnja kućišta
Izgradnja kućišta
Izgradnja kućišta
Izgradnja kućišta
Izgradnja kućišta

Vrijeme je da se osvetim s tim logom!

Pretvorio sam logotipe u odgovarajuće vektorske crteže tako da se dobro urežu. Ovaj put imam drugačiji problem. Rupe za vijke nisu na pravim mjestima za pravilno sastavljanje kutije. Za kutiju sam koristio MDF od 6 mm. Nažalost, uvrtanje čavala u rubove uzrokuje njihovo cijepanje. Hakirao sam ga zajedno s dodatnim ostacima drva i ljepilom. Mnogo ljepila.

Za vas koji ste bolji s drvom, ljepilom i/ili čavlima, priložio sam verziju dizajna bez rupa za vijke.

Unatoč poteškoćama, krajnji rezultat je prilično gladak.

Korak 10: Softver i testiranje

Image
Image
Softver i testiranje
Softver i testiranje

Preuzmite sljedeći softver kako bi kontroler radio s svemirskim programom Kerbal:

KSP dodatak:

ZIP datoteka je prevedeni dodatak. Ostatak je izvorni kod koji možete koristiti za izmjenu dodatka i sastavljanje vlastite verzije. Raspakirajte dodatak u direktorij GamaData.

Arduino kod:

Koristite Arduino IDE za učitavanje koda na Arduino Mega u vašem kontroleru.

Pogledajte donji desni dio Arduino IDE -a kako biste saznali na kojem je serijskom portu kontroler (npr. /Dev/cu.usbmodem1421). Otvorite datoteku config.xml iz direktorija dodataka i provjerite je li vaš port popunjen. Sada ste spremni!

Način otklanjanja pogrešaka možete koristiti postavljanjem malog prekidača za uključivanje/isključivanje gore lijevo u položaj UKLJUČENO. LCD bi trebao prikazati niz slova. Svako slovo predstavlja gumb ili prekidač te se prebacuje između malih i velikih slova kada pritisnete gumb ili prebacite prekidač. Postavljanje prekidača xyz u Xyz (uključivanje/isključivanje/isključivanje) također će prikazati vrijednosti klizača za gas. xYz prikazuje vrijednosti upravljačke palice za prijevodnu (lijevu) upravljačku palicu. xyZ za rotacijsku (desnu) joystick.

LCD načini

Sljedeći načini prikaza mogu se odabrati za prikaz na LCD -u pomoću prekidača x, y i z

Način TakeOff: Brzina / ubrzanje površine (G)

Način orbite: Apoapsis + Vrijeme do Apoapse / Periapsis + Vrijeme do Periapse

Način manevriranja: Vrijeme do sljedećeg čvora za manevriranje / Preostali Delta-V za sljedeći čvor

Rendezvous Mode: Udaljenost do cilja / Brzina u odnosu na cilj

Način ponovnog ulaska: Postotak pregrijavanja (max) / Usporavanje (G)

Način letenja: Nadmorska visina / Mach broj

Način slijetanja: Radarska nadmorska visina / okomita brzina

Dodatni način rada: još nije implementiran

Da biste vidjeli različite načine rada, pogledajte video na kraju upute.

Korak 11: Na Mjesec

Image
Image
Na mjesec!
Na mjesec!

Upalite KSP, napunite svoje omiljeno plovilo ili sagradite novo i krenite!

Savjeti:

  • Koristite prilagođenu akcijsku grupu 5 za svoje ljestve
  • Za svoje solarne ploče upotrijebite prilagođenu akcijsku skupinu 6
  • Upotrijebite prilagođenu akcijsku skupinu 7 za padobrane ili padobranske padobrane
  • Dodijelite sustav za izbjegavanje pokretanja i odgovarajuće odvajače akcijskoj skupini Prekini
  • Ne zaboravite da morate aktivirati gumb Postavljanje
Arduino natjecanje 2017
Arduino natjecanje 2017
Arduino natjecanje 2017
Arduino natjecanje 2017

Drugoplasirani na Arduino natjecanju 2017

Prvo natjecanje autora 2018
Prvo natjecanje autora 2018
Prvo natjecanje autora 2018
Prvo natjecanje autora 2018

Drugoplasirani na prvom autorskom natjecanju 2018

Preporučeni: