sunnuntai 27. huhtikuuta 2014

Väliraportti

Tämä blogiteksti kertoo 2. luokan projektityöstäni, ja siitä mitä olen saanut aikaan tähän asti nyt kun kurssi on suurinpiirtein puolivälissä. Projektini oli tehdä reaktiopeli (ja ehkä myös vielä toinenkin peli) käyttäen Arduino Uno -ohjelmointilautaa. Suunnittelin toteuttavani sen neljällä ledillä ja neljällä kytkimellä.

Kun olin löytänyt kyseisen idean ja päättänyt toteuttaa sen, aloitin projektin tekemällä projektisuunnitelman Wordillä. Siihen käytin aikaa noin kaksi oppituntia. Sen jälkeen aikataulutin projektin kahdelle jaksolle käytettävissä oleville tunneille. Siihen käytin ohjelmaa nimeltä Open Proj.

Projektisuunnitelma

Suunnitelman jälkeen keräsin yhteen komponentit jotka tarvitsen, ja sijoittelin niitä alustavasti kahdelle koekytkentälaudalle. Kaikki tarvitsemani komponentit löytyivät Arduinon laatikosta. Kun mielessäni loisti kirkkaasti mihin mikäkin komponentti tulee, aloin kirjoittaa pelille koodia Arduinon ohjelmalla. Löysin siihen onneksi jonkin verran apua netistä, koska koko koodin kirjoittaminen sille itse olisi voinut olla melko tuskaista, tai ainakin toimivan sellaisen kirjoittaminen.

Koodi on tällä hetkellä jo valmis lukuisten muutosten ja parannusten jälkeen. Ensimmäinen toimiva koodini pelille oli yksinkertaisesti sellainen, että yksi ledeistä syttyy sekunnin välein, joka täytyy "kuitata" painamalla oikeaa kytkintä. Jos reaktio ledin syttymisen ja napin painamisen välillä oli yli 0,5 sekuntia, peli päättyi. Kun sain tuon tehtyä, aloitin parannusten lisäilemisen yksi kerrallaan viikkojen kuluessa.

Paranteluina lisäsin muunmuassa Arduinon LCD -näytön koekytkentälaudalle, johon puolestaan "tulostin" muita paranteluita, kuten reaaliaikaisen pistelaskun, huipputuloksen ja rankin eli pelaajan taitotason. Pistin myös reaktioaikaa pienemmäksi tietyn pistemäärän välein. Pelaajan on siis reagoitava nopeammin pelin edetessä. Olisin myös lisännyt peliin musiikkia Arduinon meksikolaisella Piezo -kaiuttimella, mutta sen estivät digitaaliporttien loppuminen.

Viimeisenä vaiheena, joka on parhaillaan meneillään, siirrän komponentit pois koekytkentäalustalta reikälevylle tinaten ne siihen kiinni. Lopputulos tulee olemaan siis sellainen, että Arduinolta tulee tinatut hyppylangat reikälevylle.

Ei kommentteja:

Lähetä kommentti