Langattoman peliohjaimen varusohjelmisto
Kari, Janne (2016)
Kari, Janne
Metropolia Ammattikorkeakoulu
2016
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2016091214185
https://urn.fi/URN:NBN:fi:amk-2016091214185
Tiivistelmä
Insinöörityön tarkoituksena oli ohjelmoida varusohjelmisto asiakkaalta saatuun sulautettuun järjestelmään. Järjestelmästä muodostettiin peliohjain erillisenä projektina toteutettuun liikuntapeliin. Työn tavoitteena oli luoda toimiva prototyyppi annetussa aikataulussa, minkä lisäksi peliohjainta oli määrä pystyä käyttämään itsenäisesti tasapainokeppinä kuntoilun apuna. Ajatuksena oli, että peliohjain voitiin viedä esimerkiksi kuntosaleille.
Peliohjaimen runko rakennettiin mikroprosessorista ja kiihtyvyysanturista, joita täydennettiin 7-segmenttinäytöillä, värinämoottoreilla ja Bluetooth-moduulilla.
Peliohjaimesta oli olemassa kaksi prototyyppiä. Ensimmäisessä prototyypissä käytettiin piirikortteja ja moduuleita, joihin tarvitut komponentit oli integroitu. Prototyyppi ohjelmoitiin käyttämällä Arduino-ohjelmointiympäristöä ja sen valmiita kirjastoja. Toisessa prototyypissä komponentit ladottiin suoraan erilliselle piirilevylle. Lopullinen, toinen prototyyppi ohjelmoitiin puhtaasti C-ohjelmointikielellä.
Prototyyppien ohjelmointi aloitettiin kiihtyvyysanturista ja näytöistä, jotka yhdessä värinämoottoreiden kanssa muodostivat ensimmäisen testeihin menneen prototyypin. Luodun ohjelmiston kääntäminen toiseen prototyyppiin ei sujunut vaivatta, sillä valmiiden kirjastojen käyttämisen sijaan prototyyppi ohjelmoitiin alusta alkaen uusiksi. Lisäksi ongelmia ilmeni laitetasolla. Ongelmat saatiin kuitenkin ratkaistua yhteistyössä kolmannen osapuolen yrityksen kanssa, joka myös toimitti projektissa käytetyt piirilevyt.
Toiseen prototyyppiin lisättiin Bluetooth-toiminnot, jotka yhdessä ensimmäisessä prototyypissä toteutettujen toimintojen kanssa muodostivat toimivan kokonaisuuden. Peliohjaimen toimivuus testattiin niin pelin kanssa kuin ilmankin sitä, minkä lisäksi peliohjaimen asetuksia voitiin muuttaa Bluetooth-moduulin kautta ilman, että peliohjaimen lähdekoodia muokataan.
Prototyyppi luovutettiin asiakkaalle jatkokehitettäväksi keväällä 2016. Prototyyppiä oli jo mahdollista käyttää sellaisenaan, mutta asiakkaalle annettiin kehitysehdotuksia muun muassa laitepuolelle, ja prototyyppiä jatkokehitetään syksyllä 2016.
Peliohjaimen runko rakennettiin mikroprosessorista ja kiihtyvyysanturista, joita täydennettiin 7-segmenttinäytöillä, värinämoottoreilla ja Bluetooth-moduulilla.
Peliohjaimesta oli olemassa kaksi prototyyppiä. Ensimmäisessä prototyypissä käytettiin piirikortteja ja moduuleita, joihin tarvitut komponentit oli integroitu. Prototyyppi ohjelmoitiin käyttämällä Arduino-ohjelmointiympäristöä ja sen valmiita kirjastoja. Toisessa prototyypissä komponentit ladottiin suoraan erilliselle piirilevylle. Lopullinen, toinen prototyyppi ohjelmoitiin puhtaasti C-ohjelmointikielellä.
Prototyyppien ohjelmointi aloitettiin kiihtyvyysanturista ja näytöistä, jotka yhdessä värinämoottoreiden kanssa muodostivat ensimmäisen testeihin menneen prototyypin. Luodun ohjelmiston kääntäminen toiseen prototyyppiin ei sujunut vaivatta, sillä valmiiden kirjastojen käyttämisen sijaan prototyyppi ohjelmoitiin alusta alkaen uusiksi. Lisäksi ongelmia ilmeni laitetasolla. Ongelmat saatiin kuitenkin ratkaistua yhteistyössä kolmannen osapuolen yrityksen kanssa, joka myös toimitti projektissa käytetyt piirilevyt.
Toiseen prototyyppiin lisättiin Bluetooth-toiminnot, jotka yhdessä ensimmäisessä prototyypissä toteutettujen toimintojen kanssa muodostivat toimivan kokonaisuuden. Peliohjaimen toimivuus testattiin niin pelin kanssa kuin ilmankin sitä, minkä lisäksi peliohjaimen asetuksia voitiin muuttaa Bluetooth-moduulin kautta ilman, että peliohjaimen lähdekoodia muokataan.
Prototyyppi luovutettiin asiakkaalle jatkokehitettäväksi keväällä 2016. Prototyyppiä oli jo mahdollista käyttää sellaisenaan, mutta asiakkaalle annettiin kehitysehdotuksia muun muassa laitepuolelle, ja prototyyppiä jatkokehitetään syksyllä 2016.