Sadržaj:

KerbalController: prilagođena kontrolna ploča za raketne igre Kerbal Space Program: 11 koraka (sa slikama)
KerbalController: prilagođena kontrolna ploča za raketne igre Kerbal Space Program: 11 koraka (sa slikama)

Video: KerbalController: prilagođena kontrolna ploča za raketne igre Kerbal Space Program: 11 koraka (sa slikama)

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

Zašto graditi KerbalController?

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

Šta je KerbalController?

KerbalController, koji se naziva i kontrolna tabla, Simpit (simulirani kokpit), DSKY (ekranska tastatura) ili prilagođeni džojstik, 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 opcionalnim izlazima 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 preko džojstika, klizač za gas, mnoštvo dugmadi sa svjetlima statusa, LED pokazivači goriva i telemetrijski LCD ekran sa više načina rada.

Ovaj vodič će uključivati sve što vam je potrebno za izradu identične kopije ili usputna prilagođavanja i poboljšanja, prema vašem mišljenju. Uključeno je:

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

Spremni za poletanje? 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 tačno koja dugmad i prekidače želite implementirati. Jer svi igraju igru drugačije. Neki ljudi lete avionima i grade SSTO-ove (jednostepene u orbitu). Drugi preferiraju rovere svemirskih stanica. A neki samo žele da stvari spektakularno eksplodiraju!

Pomaže crtanje svih dijelova u približnoj veličini i njihovo povlačenje u programu za vektorsko 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ženoj listi dijelova.

Korak 3: Kreirajte prototip (opcionalno)

Kreirajte prototip (opcionalno)
Kreirajte prototip (opcionalno)
Kreirajte prototip (opcionalno)
Kreirajte prototip (opcionalno)

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. Zaista pomaže u finom podešavanju položaja glavnih kontrola. Također je lijepo steći samopouzdanje da ga uspijete prije nego nastavite ulagati vrijeme i novac u konačnu izgradnju. Zapravo sam igrao igru neko vrijeme sa svojim kontrolerom kutije za cipele. Nije li to Kerbal 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 stvaranja prototipa nemojte lemiti sve svoje tipke osim ako ih ne želite odlemiti kada dođete do posljednjeg kućišta. Lemio sam neke žice na dugmad i koristio ploču za lemljenje da napravim privremene veze sa Arduinom.

Kada povežete 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 petljajte okolo. Konačno, povezujete se s Arduinom.

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

Dužina žica balansira između dovoljno kratkog da se kućište oslobodi viška zapetljanih žica (koje vas mogu spriječiti da zatvorite kutiju) i dovoljno dugog da biste mogli pomaknuti dijelove s puta lemljenja ostale dijelove, pritegnite vijke i pomičite se multimetrom dok otklanjate greš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ćava izuzetnu preciznost, sve dok je vaš dizajn tačan.

U prilogu je dizajn moje prednje ploče, u formatima prikladnim za Affinity Designer i druge programe za vektorsko crtanje poput besplatnog InkScape -a.

Lasersko su mi rezali prednju ploču u Holandiji u Lichtzwaardu. Od tada su se zatvorili, a aktivnosti je preuzeo Laserbeest, gdje sam laserski izrezao okvir. Svaka trgovina može imati različite zahtjeve za dizajn, pa prije podnošenja provjerite u svojoj trgovini. Oni 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 ovo nije fiksirano u priloženim projektima.
  • Čak je i tekst zasnovan na vektorima. Zato pretvorite ta slova u krivulje!
  • Izmerite. Izmerite. Izmerite. Nisam uspio uzeti u obzir veličinu potrebnu za postavljanje upravljačkih palica i morao sam je hakirati. Na sreću ispalo je dobro. 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 Holandiji i sljedeći dan dobiti ovaj lijepi rezultat poštom!

Korak 6: Povezivanje dugmadi i prekidača

Priključivanje dugmadi i prekidača
Priključivanje dugmadi i prekidača
Priključivanje dugmadi i prekidača
Priključivanje dugmadi i prekidača
Priključivanje dugmadi i prekidača
Priključivanje dugmadi i prekidača

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

Jednostavan prekidač ili dugme:

  • 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 se pin uzemlji i tretirat će to kao ulaz. NO konektor na prekidaču ili gumbu je normalno otvoren, pa krug nije povezan. Kada pritisnete dugme ili prebacite prekidač, krug se zatvara i pin se uzemljuje.

Taster sa LED diodom:

Dio dugmeta 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 ćemo koristiti 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 kada je prekidač uključen. Imaju +, - i signalni konektor.

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

Arduino pin ćemo koristiti u INPUT načinu rada. Kada je prekidač uključen, LED svijetli i signalni pin se podiže.

Korak 7: Povezivanje džojstika i LCD -a

Povezivanje džojstika i LCD -a
Povezivanje džojstika i LCD -a
Povezivanje džojstika i LCD -a
Povezivanje džojstika i LCD -a
Povezivanje džojstika i LCD -a
Povezivanje džojstika 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 lemiti žice direktno na ploču.

Joysticks

Upravljačke palice na prvi pogled mogu izgledati zastrašujuće, ali povezivanje ih je prilično jednostavno. Tri su osi povezane na isti način. Dva od njih koriste konektore na dnu upravljačke palice. Treći koristi neke žice.

  • Ground
  • Brisač Arduino pin za analogni ulaz
  • 5V

Konektori 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 bojenja 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 preskočite ovo 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 joj dopustiti da predstavlja nivo goriva na našoj svemirskoj letjelici.

U početku sam kod njih naručio IC upravljačke programe. Odlično rade! Možete odabrati način tačka ili način rada trake i on će prikazati analogni ulazni napon kao jedna LED (tačka) ili niz LED dioda (traka). Ali Arduino ne emitira analogni napon! I PWM funkcija koja vam omogućuje zatamnjivanje LED -a emulacijom analognog napona, ne radi s ovim upravljačkim programima.

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 nivo goriva u odgovarajući niz bitova koji će predstavljati nivo goriva na LED trakama. S 5 mjerača goriva, svi napunjeni nivoi goriva trebali 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. Prilikom njihovog povezivanja preskočio sam negdje IC pin (to ćemo uklopiti u kod). 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 greške zaokruživanja (to ćemo popraviti u kodu). Imajte na umu da kôd dijelim u kasnijem koraku.

Moja konačna verzija nije se podudarala s priloženim dijagramom ožičenja, pa ako obnovite ovaj kontroler, potrebna su neka ažuriranja koda. Komentirajte ispod ako vam je potrebna pomoć.

Svaka LED dioda zahtijeva vlastiti otpornik. Pokušajte s različitim vrijednostima kako biste uskladili svjetlinu. Zelena izgleda mnogo svjetlije od crvene sa 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 signal podataka.

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 logotip 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 drvenim ostacima i ljepilom. Mnogo ljepila.

Za vas koji ste bolji s drvetom, ljepilom i/ili ekserima, 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 Kerbal Space Programmom:

KSP dodatak:

ZIP datoteka je kompajlirani 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 postavljanje 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 greš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 dugme ili prekidač i prebacuje se između malih i velikih slova kada pritisnete dugme 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 džojstika za prijevodni (lijevi) joystick. xyZ za rotacijski (desni) joystick.

LCD režimi

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 Apoapsis / Periapsis + Vrijeme do Periapsis

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

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

Re-Entry Mode: Postotak pregrijavanja (max) / Usporavanje (G)

Režim letenja: Nadmorska visina / Mahov 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 zapis na kraju uputstva.

Korak 11: Na Mjesec

Image
Image
Na Mjesec!
Na Mjesec!

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

Savjeti:

  • Koristite prilagođenu akcijsku grupu 5 za svoje ljestve
  • Koristite prilagođenu akcijsku grupu 6 za svoje solarne panele
  • Koristite prilagođenu akcijsku grupu 7 za padobrane ili padobranske padobrane
  • Dodijelite sustav za izbjegavanje pokretanja i odgovarajuće odvajače akcijskoj grupi Prekini
  • Ne zaboravite da morate aktivirati dugme Postavljanje
Arduino takmičenje 2017
Arduino takmičenje 2017
Arduino takmičenje 2017
Arduino takmičenje 2017

Drugoplasirani na Arduino takmičenju 2017

Prvo takmičenje autora 2018
Prvo takmičenje autora 2018
Prvo takmičenje autora 2018
Prvo takmičenje autora 2018

Drugoplasirani na prvom takmičenju autora 2018

Preporučuje se: