Sisällysluettelo:
- Vaihe 1: Työkalut
- Vaihe 2: Osat ja perusasettelu
- Vaihe 3: Luo prototyyppi (valinnainen)
- Vaihe 4: Vinkkejä johdotukseen
- Vaihe 5: Etulevyn laserleikkaus
- Vaihe 6: Painikkeiden ja kytkimien liittäminen
- Vaihe 7: Ohjaussauvojen ja nestekidenäytön liittäminen
- Vaihe 8: LED -palkin polttoainemittarit
- Vaihe 9: Kotelon rakentaminen
- Vaihe 10: Ohjelmisto ja testaus
- Vaihe 11: Kuuhun
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Miksi rakentaa KerbalController?
No, koska painikkeiden painaminen ja fyysisten kytkimien heittäminen tuntuu paljon tärkeämmältä kuin hiiren napsauttaminen. Varsinkin kun kyseessä on iso punainen turvakytkin, jossa sinun on avattava kansi ensin, napsauttamalla kytkintä raketin virittämiseksi, aloita lähtölaskenta ja 3.. 2.. 1.. meillä on nosto!
Mikä on KerbalController?
KerbalController, jota kutsutaan myös nimellä Ohjauspaneeli, Simpit (simuloitu ohjaamo), DSKY (näytön näppäimistö) tai mukautettu ohjaussauva, on räätälöity syöttölaite, joka ohjaa suosittua rakettien rakentamista ja lentämistä ja toivottavasti ei räjähtävää peli Kerbal Space Program yhdistettynä pelin valinnaiseen lähtöön, kuten tilavalot, telemetriset näytöt ja/tai polttoainemittarit.
Tämä erityinen rakenne sisältää tuloja, kuten kääntö- ja käännösohjaimet ohjaussauvojen kautta, kaasuliukusäätimen, paljon painikkeita tilavaloilla, LED -polttoainemittarit ja telemetria -LCD -näyttö, jossa on useita tiloja.
Tämä opas sisältää kaiken, mitä tarvitset samanlaisen kopion luomiseen tai säätöjen ja parannusten tekemiseen matkan varrella. Mukana ovat:
- osaluettelo
- digitaaliset suunnittelupiirustukset valmiina laserleikkaukseen
- kytkentäohjeet
- Arduino -koodi
- Mukana tulevan KSP -laajennuksen koodi
- Paljon kuvia
Valmiina nousuun? Mennään!
Vaihe 1: Työkalut
Tärkein työkalu, joka sinulla on oltava tätä rakennetta varten, on juotin. Sisältää juotoksen, metallisen puhdistussienen juotosraudan kärjen puhdistamiseen ja "kolmannen käden".
Muita työkaluja ovat langanpoistaja, langanleikkuri, pinsetit ja jotkut pienikokoiset ruuvimeisselit.
Vaihe 2: Osat ja perusasettelu
Parhaan mahdollisen säätimen tekeminen tarkoittaa, että valitset tarkasti, mitkä painikkeet ja kytkimet haluat toteuttaa. Koska jokainen pelaa peliä eri tavalla. Jotkut lentävät lentokoneilla ja rakentavat SSTO: ta (yksivaiheinen kiertorata). Toiset suosivat avaruusasemien kulkijoita. Ja jotkut haluavat vain asioiden räjähtävän räjähdysmäisesti!
Se auttaa piirtämään kaikki osat likimääräiseen kokoon ja vetämään niitä vektoripiirtuohjelmassa (kuten Affinity Designer tai Inkscape) tai 3D -piirustusohjelmassa (kuten SketchUp).
Jos haluat helpomman rakenteen, voit kopioida ohjaimeni ja saada osat osaluettelosta.
Vaihe 3: Luo prototyyppi (valinnainen)
Jos kopioit ohjainta, voit ohittaa tämän vaiheen.
Jos aiot käyttää mukautettua ulkoasua, suosittelen ensin kenkälaatikon luomista toimivan prototyypin pääohjaimilla. Se todella auttaa hienosäätämään pääohjaimien asentoa. On myös mukavaa saada itseluottamusta, jotta saat sen toimimaan, ennen kuin jatkat ajan ja rahan sijoittamista lopulliseen rakentamiseen. Itse asiassa pelasin peliä jonkin aikaa kenkälaatikon ohjaimella. Eikö se ole Kerbalin tapa käyttää pelastettuja osia hakkeroimaan jotain yhdessä?
Vaihe 4: Vinkkejä johdotukseen
Kun luot prototyyppiä, älä juota kaikkia painikkeitasi, ellet halua poistaa juotosta, kun pääset lopulliseen koteloon. Juotin joitakin johtoja painikkeisiin ja käytin juotonta leipälautaa tilapäisten yhteyksien luomiseen Arduinoon.
Kun kytket kaiken elektroniikan lopulliseen etulevyyn, voit vähentää sotkua luomalla silmukoita 5 V: lle ja maadoitukselle. Et liitä kaikkia maadoituspiikkejä suoraan Arduinoon, vaan yhdistä maadoitus yhdellä painikkeella seuraavan painikkeen maahan ja kierrä ympäri. Lopuksi muodostat yhteyden Arduinoon.
Kun olet luonut silmukat sähkölle ja maalle, kaikki liitännät Arduino -nastoihin säilyvät. Suosittelen hankkimaan joitakin nauhaliuskoja ja juottamaan johdot niihin. Voit käyttää niitä suurena liittimenä, joten voit silti irrottaa Arduinon pistokkeen testausta varten.
Johtojen pituus on tasapainotus, joka on riittävän lyhyt, jotta kotelo ei pääse ylimääräisiin langanpunoksiin (mikä voi estää sinua kykenemästä sulkemaan laatikkoa), ja riittävän pitkä, jotta osat voidaan siirtää pois juottamisen tieltä muita osia, kiristä ruuvit ja pyöritä yleismittarilla virheenkorjauksen aikana.
Vaihe 5: Etulevyn laserleikkaus
Puhtaan ja ammattimaisen ilmeen saavuttaminen on erittäin vaikeaa, kun sahataan ja maalataan käsin. Onneksi laserleikkaus ei ole enää kovin kallista. Se mahdollistaa äärimmäisen tarkan, kunhan suunnittelu on tarkka.
Liitteenä on etulevyn suunnittelu Affinity Designerille ja muille vektoripiirustusohjelmille, kuten ilmaiselle InkScapelle, sopivissa muodoissa.
Minulla oli laserleikkaus Alankomaissa Lichtzwaardissa. Ne ovat sittemmin suljettu ja toiminnot on ottanut Laserbeest, jossa minulla oli laatikkoleikkaus. Jokaisella myymälällä voi olla erilaisia vaatimuksia suunnittelulle, joten tarkista kauppasi ennen lähettämistä. He tarjoavat myös melkein aina suunnitteluapua tuntihinnalla.
Tärkeitä asioita pitää mielessä:
- Kaiken on oltava vektoripohjaista. Siksi etupaneelissani oleva logo ei syövytetty. Huomaa, että tämä ei ole kiinteä liitteenä olevissa malleissa.
- Jopa tekstin on oltava vektoripohjainen. Muunna siis kirjaimet käyriksi!
- Mitata. Mitata. Mitata. En ottanut huomioon ohjaussauvojen asentamiseen tarvittavaa kokoa ja jouduin hakkeroimaan sen. Hyvin meni, onneksi. Huomaa, että tämä on korjattu liitteenä olevissa malleissa.
Kun olet tarkistanut kaiken perusteellisesti, lähetä se laserleikkaamoon. Odota maksaa 40-50 euroa Alankomaissa ja saat tämän kauniin tuloksen postitse seuraavana päivänä!
Vaihe 6: Painikkeiden ja kytkimien liittäminen
Useimpien kytkimien ja painikkeiden liittimet on merkitty C, NO, NC, +, -. Näin voit kytkeä ne Arduinoon.
Yksinkertainen kytkin tai painike:
- Kenttä C (yleinen)
- Arduino -digitaalinen nasta (normaalisti auki)
Määritämme digitaalisen nastan INPUT_PULLUP -asetukseksi, mikä tarkoittaa, että Arduino pitää nastan 5 V: n jännitteellä ja havaitsee, kun nasta on maadoitettu, ja käsittelee sitä tulona. Kytkimen tai painikkeen NO -liitin on normaalisti auki, joten piiriä ei ole kytketty. Kun painat painiketta tai vaihdat kytkintä, piiri sulkeutuu ja nasta maadoitetaan.
Painike LED -valolla:
Painikeosa on sama kuin yllä. Liitä LED -valoon lisäjohdot:
- Maa - (negatiivinen)
- Arduino Digital Pin + (positiivinen)
Tämä osa on melko suoraviivainen. Käytämme Arduino -nastaa normaalissa OUTPUT -tilassa.
LED -turvakytkimet:
Nämä ovat hieman erilaisia eivätkä salli LED -valvontaa kytkimen asennosta riippumatta. LED -valo syttyy aina vain, kun kytkin on kytketty päälle. Niissä on +, - ja signaaliliitin.
- Maa - (negatiivinen)
- 5V + (positiivinen)
- Arduino Digital Pin S (signaali)
Käytämme Arduino -nastaa INPUT -tilassa. Kun kytkin on kytketty päälle, LED -valo syttyy ja signaalitappi nousee korkealle.
Vaihe 7: Ohjaussauvojen ja nestekidenäytön liittäminen
LCD -näyttö
Nestekidenäyttö on hyvin yksinkertainen. Se tarvitsee vain virtaa, maata ja sarjaa.
- 5V VDD
- Maa GND
- Arduino Tx PIN RX
Voit käyttää JST -liitintä tai juottaa johdot suoraan levylle.
Ohjaussauvat
Ohjaussauvat näyttävät aluksi pelottavilta, mutta ne on helppo yhdistää. On kolme akselia, jotka on kytketty samalla tavalla. Kaksi niistä käyttää ohjaussauvan pohjassa olevia liittimiä. Kolmas käyttää johtoja.
- Maa
- Pyyhin Arduino analoginen tulonastappi
- 5V
Liittimet voidaan kiinnittää tässä järjestyksessä. Älä huolestu saamasta sitä taaksepäin, pyyhin on aina keskimmäinen. Jos virta ja maa vaihdetaan, voimme kääntää akselin ympäri Arduino -koodissa myöhemmin.
Johtimilla saattaa olla erilainen värimaailma ohjaussauvassasi, mutta yleensä: kaksi samanväristä johtoa ovat päällä olevaa painiketta varten. Punainen tai oranssi on 5 V, musta tai ruskea on maa. Jäljellä oleva lanka on pyyhin.
Vaihe 8: LED -palkin polttoainemittarit
Okei. Tämä on koko rakentamisen vaikein osa. Voit vapaasti ohittaa tämän ensimmäisen kokoonpanosi yhteydessä tai parantaa sitä ja ilmoittaa siitä minulle!
Sain nämä upeat LED -palkit, joita haluan käyttää polttoainemittarina. Ylin LED on sininen, sitten vihreä, sitten oranssi ja lopuksi punainen. Jos voimme sytyttää yhden LEDin kerrallaan, voimme antaa sen edustaa avaruusaluksemme polttoainetasoa.
Tilasin aluksi kuljettajan IC: t heidän kanssaan. Ne toimivat loistavasti! Voit valita pistetilan tai palkkitilan, ja se näyttää analogisen tulojännitteen yksittäisenä LED -merkkivalona (piste) tai LED -merkkivaloina (palkki). Mutta Arduino ei lähetä analogista jännitettä! Ja PWM -ominaisuus, jonka avulla voit himmentää LEDiä emuloimalla analogista jännitettä, ei toimi näiden ohjainpiirien kanssa.
Suunnitelmaan 2: vuororekisterit. Voit työskennellä näiden kanssa kaikissa Arduino -aloituspakkauksissa. Ja voit oppia lisää niistä täältä:
Suunnitelmana on muuttaa polttoainetasot jollain tavalla oikeaan bittisarjaan, joka edustaa polttoainetasoja LED -palkeissa. Viiden polttoainemittarin avulla kaikkien täytettyjen polttoainemäärien on oltava 10000000001000000000100000000010000000001000000000. Jos monopropellantti on tyhjä, siitä tulee: 10000000001000000000100000000010000000000000000001.
Kuulostaa riittävän yksinkertaiselta. On joitakin komplikaatioita. Vaihtorekisterissä on 8 nastaa, kun taas LED -palkeissa on 10 LEDiä. Käytän 7 vuororekisteriä saadaksesi 56 lähtöä. Kun kytken ne sisään, ohitin IC -nastan jonnekin (sovitamme sen koodiin). Ja johdotan yhden LED -palkin alusta toisesta päästä (korjaamme sen koodilla). Voi, ja tarvitsemamme Arduino -matematiikka käyttää joskus liukulukuaritmetiikkaa, joka aiheuttaa pyöristysvirheitä (korjaamme sen koodissa). Huomaa, että jaan koodin myöhemmin.
Lopullinen kokoonpanoni ei vastannut liitteenä olevaa kytkentäkaaviota, joten jos rakennat tämän ohjaimen uudelleen, koodiin vaaditaan joitain päivityksiä. Kommentoi alle, jos tarvitset apua.
Jokainen LED vaatii oman vastuksen. Kokeile eri arvoja kirkkauden vastaamiseksi. Vihreä näyttää paljon kirkkaammalta kuin punainen samoilla vastuksilla, joten se auttaa tasapainottamaan sen.
Lopputulos: 5 LED -palkin virtalähteeksi tarvittavan 50 digitaalisen nastan sijasta, joka pienenee 3: kellosignaali, salvasignaali ja datasignaali.
Vaihe 9: Kotelon rakentaminen
On aika kostaa noilla logoilla!
Muutin logon oikeiksi vektoripiirroksiksi, jotta ne syövyttävät hienosti. Tällä kertaa minulla on eri ongelma. Ruuvinreiät eivät ole oikeissa paikoissa laatikon asianmukaista asennusta varten. Laatikossa käytin 6 mm MDF -levyä. Valitettavasti naulauksen ruuvaaminen reunoihin aiheuttaa niiden halkeamisen. Hakkeroin sen yhdessä muiden puujätteiden ja liiman kanssa. Paljon liimaa.
Niille teistä, jotka osaavat paremmin puuta, liimaa ja/tai nauloja, olen liittänyt mallin version ilman ruuvinreikiä.
Vaikeuksista huolimatta lopputulos on melko liukas.
Vaihe 10: Ohjelmisto ja testaus
Lataa seuraava ohjelmisto saadaksesi ohjaimen toimimaan Kerbal Space -ohjelman kanssa:
KSP -laajennus:
ZIP -tiedosto on käännetty laajennus. Loput ovat lähdekoodia, jonka avulla voit muokata laajennusta ja koota oman version. Pura laajennus GamaData -hakemistoon.
Arduino -koodi:
Lataa koodi Arduino IDE -laitteella ohjaimesi Arduino Megaan.
Katso Arduino IDE: n oikeasta alakulmasta, mikä sarjaportti ohjain on käytössä (esim. /Dev/cu.usbmodem1421). Avaa config.xml -tiedosto laajennushakemistosta ja varmista, että porttisi on täynnä. Nyt voit aloittaa!
Voit käyttää virheenkorjaustilaa asettamalla pienen päälle/pois -kytkimen vasemmassa yläkulmassa ON -asentoon. Nestekidenäytössä pitäisi näkyä kirjainjono. Jokainen kirjain edustaa painiketta tai kytkintä ja vaihtaa pienen ja ison kirjaimen välillä, kun painat painiketta tai vaihdat kytkintä. Jos asetat xyz -kytkimet Xyz -asentoon (päälle/pois/pois), myös kaasun liukusäätimen arvot näkyvät. xYz näyttää käännös (vasen) -ohjaussauvan ohjaussauvan arvot. xyZ for Rotation (oikea) ohjaussauva.
LCD -tilat
Seuraavat näyttötilat voidaan valita näytettäväksi nestekidenäytössä x-, y- ja z -kytkimillä
TakeOff -tila: Pinnan nopeus / kiihtyvyys (G)
Kiertoradatila: Apoapsis + Aika Apoapsis / Periapsis + Aika periapsikseen
Ohjaustila: Aika seuraavaan ohjaussolmuun / Jäljellä oleva Delta-V seuraavaan solmuun
Rendezvous -tila: Etäisyys kohteeseen / nopeus suhteessa kohteeseen
Uudelleenkäyttötila: Ylikuumenemisen prosenttiosuus (maks.) / Hidastuvuus (G)
Lentotila: Korkeus / Mach -numero
Laskutila: Tutkan korkeus / pystysuuntainen nopeus
Lisätila: ei toteutettu (vielä)
Näet eri tilat toiminnassa katsomalla ohjeen lopussa olevaa videota.
Vaihe 11: Kuuhun
Sytytä KSP, lataa suosikkialuksesi tai rakenna uusi ja lähde liikkeelle!
Vinkkejä:
- Käytä mukautettua toimintaryhmää 5 tikkaillesi
- Käytä mukautettua toimintaryhmää 6 aurinkopaneeleillesi
- Käytä mukautettua toimintaryhmää 7 laskuvarjoille tai kuivuuskouruille
- Määritä laukaisujärjestelmä ja sopivat irrotuslaitteet Keskeytä -toimintaryhmään
- Älä unohda, että sinun on viritettävä pysäytyspainike
Toinen sija Arduino -kilpailussa 2017
Toinen sija ensimmäisessä kirjailijakilpailussa 2018