Teekkareiden Juomapeli



Samankaltaiset tiedostot
OMNIA OPINNÄYTETYÖ AMMATTIOPISTO. Diginoppa ICTP09SLG OMNIAN AMMATTIOPISTO

Auton akun ylläpitolaturi

Telecrane F24 Käyttö-ohje

Arduino ohjelmistokehitys

Liikennevalot. Arduino toimii laitteen aivoina. Arduinokortti on kuin pieni tietokone, johon voit ohjelmoida toimintoja.

Tällä ohjelmoitavalla laitteella saat hälytyksen, mikäli lämpötila nousee liian korkeaksi.

P I C A X E O H J E L M O I N T I

Sangean PR-D4 Käyttöohjeet

LUMA SUOMI -kehittämisohjelma LUMA FINLAND -utvecklingsprogram LUMA FINLAND development programme Ohjelmointia Arduinolla

CISCO AIRONET 1131AG -TUKIASEMA

Sähköautoprojekti Pienoissähköauto Elektroniikan kokoonpano Moottoriohjain.

Mikrokontrollerikitit - väliraportti

Tehokas ledivalaisin 30 valkoisella ledillä. Käyttöjännite 12 20V. Nimellisvirta on noin 0.10A A Suunnittelija Mikko Esala.

Tehtävä 5. ECIO dataloggeri lämpötila-anturilla

Mikro-ohjain µc harjoitukset - yleisohje

Taitaja semifinaali 2010, Iisalmi Jääkaapin ovihälytin

Adafruit Circuit Playground Express

TAITAJA 2006, Elektroniikka ( /OL) Hakkurivirtalähteen kokoaminen ja testaaminen, Nokia

ONE 118 OHJELMOITAVA PÄÄVAHVISTIN

Akkujen aktiivinen balansointi

AUTOMAATTIVÄLITTÄJÄ EAR 1000 / 2000 KÄYTTÖOHJE. Copyright Duratech Oy, Espoo EAR / ADRA KÄYTTÖOHJE V.3/2005.2

AS Automaatio- ja systeemitekniikan projektityöt

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

Käyttöohje CRL Ennen tämän tuotteen käyttöä lue tämä käyttöohje huolellisesti ja kokonaan.

Ohjeet ovat työn alla ja kirjaan niitä päivittäen ja edes takaisin lukien pari viikkoa.

Asennus ja käyttöopas

Arduino. Kimmo Silvonen (X)

P-870HN-51b pikaopas. Oletusasetukset LAN-portti: LAN1~LAN4 IP-osoite: Salasana: 1234

Elektroniikka II lopputyön ohje

Rev 2.0. GSM-Line Käsikirja

Elektroniikkalajin semifinaalitehtävien kuvaukset

Sähköpajan elektroniikkaa

SafeLine GL1. Käsikirja. GSM-vaihtoehto kaikille hissipuhelimillemme. (GSM-Line)

Versio: FIN Langaton painonappi. Käyttäjän käsikirja

9.6 Kannettava testilaite

1 YLEISTÄ. Taitaja2002, Imatra Teollisuuselektroniikkatyö Protorakentelu 1.1 PROJEKTIN TARKOITUS

ELEC-A4010 Sähköpaja Arduinon ohjelmointi. Jukka Helle

Käyttöohjeet. Kytkinmoduuli

ULA - vastaanotin. + sähkökomponenttien juottaminen. Tiia Hintsa, Viitaniemen koulu. Ula-vastaanotin; Kouluelektroniikka Ky, Rauma.

Turvapuhelin GMED-2G. Pikaopas Helpmeans. Greenmoore Oy, Ver. 1.0

sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin

Harjoitustyö - Mikroprosessorit Liikennevalot

TALOMAT Easy. asennus- ja käyttöohje T91

1 Johdanto. 2 Ominaisuuksia. 2.1 Särö

TALOMAT Light. asennus- ja käyttöohje T104

Ledien kytkeminen halpis virtalähteeseen

CISCO AIRONET 1242AG -TUKIASEMA

Tämän ohjeen kopiointi ja jakaminen on kielletty ilman Bracun Oy:n lupaa Laitteella 1 vuoden (1v) takuu ostopäivästä, takuu asioissa ota yhteys

Käyttöohje EMT757 / 3567 Ohjelmoitava digitaalinen kellokytkin

JOHDATUS ELEKTRONIIKKAAN. Oppitunti 2 Elektroniikan järjestelmät

GSM releen rakennusohjeet

Kenwood TK-3201 käyttöohje

Piirilevyohjelma ARES

WT KÄYTTÖOHJE WT-1010_käyttöohje_ pdf. GSM-välitin hälytysjärjestelmille

Ohjelmoitava magneettivastuksellinen kuntopyörä. LCD-Näyttö BC-81295

DENVER CRP-514 FINNISH TOIMINNOT JA OHJAIMET

Tehtävään on varattu aikaa 8:30 10:00. Seuraavaan tehtävään saat siirtyä aiemminkin. Välipalatarjoilu työpisteisiin 10:00

S Portaalinosturi AS Projektisuunnitelma Oleg Kovalev

Älykäs huoneyksikkö. Tekniset tiedot: Mittaustarkkuus Mittauselementti Näyttö Käyttöjännite Virrankulutus Tiiveysluokka Mitat

Kameran laiteohjelman päivittäminen

Kauko-ohjattua CONNECT-välipistoketta, yleiskäyttöistä valonsäädintä nimitetään jatkossa vain välipistokkeeksi. Välipistokkeen avulla voidaan kytkeä

NIMI: LK: 8b. Sähkön käyttö Tarmo Partanen Ota alakoulun FyssaMoppi. Arvaa, mitä tapahtuu eri töissä etukäteen.

1. TEKNISET TIEDOT 2. LED-TOIMINNOT JA SÄÄDÖT

CITATION SUB KÄYTTÖOHJE

Porttipuhelimen toiminta.

Semifinaalin aikataulu ja paikka. Semifinaalikoordinaattori. Kilpailijamäärä. Elektroniikkalajin semifinaalitehtävien kuvaukset

Ohjauspaneeli jännitteettömällä lähdöllä (NO) ja radiomoduuli Chor-palovaroittimen CHOR-WS/WAC-alustaan. Avaa kansi, paina nuolen suuntaan

ELEC-A4010 Sähköpaja Arduinon ohjelmointi. Peter Kronström

Team Xecuter Joycon Modi Tehnyt: XxWiReDxX

Akkujen aktiivinen balansointi

Sähköpajan elektroniikkaa

Akkujen aktiivinen balansointi

Suomi. Turvallisuusohjeet. Suomi

Mittalaite ja puhelin on laitettu toimimaan automaattisesti yhdessä, sinun tulee seurata puhelimen antamia ohjeita mittauksen suorittamiseen.

Android. Sähköpostin määritys. Tässä oppaassa kuvataan uuden sähköpostitilin käyttöönotto Android Ice Cream Sandwichissä.

LANGATON RENGASPAINEEN JA LÄMPÖTILAN VALVONTAJÄRJESTELMÄ

Sähköpajan elektroniikkaa

Taitaja2010, Iisalmi Suunnittelutehtävä, teoria osa

Micro:bit. Käyttöohje. Innokas verkosto Petja Pyykkönen, Saimaan mediakeskus Käyttöohje / 2016 Innokas

Robottialustan instrumentointi ja käyttöönotto

MAKING MODERN LIVING POSSIBLE. Danfoss Link SCM Simple Communication Module Asennusohje. Danfoss Heating Solutions

1. Sisällysluettelo 2

DVC/01 DC/01 DVC/01 ME DC/01 ME DPF AL DPF NF DPF ME. Ohjelmointi

Ulkoasu. 1.Objektiivi 2.Tallennuspainike 3.Kuvien ottopainike _ FIN 01

602 Elektroniikka. Kilpailutehtävä 1. Asiakirjan nimi 1(2) LEDeillä toteutetun nuolimoduulin kokoaminen ja testaus (10p)

Kauko-ohjattua kytkimellä varustettua CONNECT-välipistoketta nimitetään seuraavassa välipistokkeeksi. Välipistokkeen avulla voidaan ulkoisia

Kameran laiteohjelman päivittäminen

Comet pysäköintimittarin asennus ja kytkeminen tietokoneeseesi (Windows XP) USB-kaapelilla.

S14 09 Sisäpeltorobotti AS Automaatio ja systeemitekniikan projektityöt. Antti Kulpakko, Mikko Ikonen

DENVER CR-918BLACK FINNISH TOIMINNOT JA OHJAIMET

Salamalaitteen laiteohjelman päivittäminen

Toimintaperiaate: 2. Kytke virta vastaanottimeen käyttämällä virtalaitetta, jossa on merkintä "horsealarm receiver only".

UNICARD ACR-201 UNICARD 1. JOHDANTO

KÄYTTÖOHJE CD/MP3-SOITIN FM-RADIOLLA JA USB-LUKIJALLA

Käyttöohje Digitaaliseen ulkoajastimeen

PK-M128-MOOkit (MOOkit = Mikro-ohjain opiskelu/opetus-kitti) Täydentyvä dokumentti ver & &

Sisällysluettelo. HUOM! Muista lukea tämä opas huolellisesti ennen käyttöönottoa.

45 Opetussuunnitelma OSAAMISEN ARVIOINTI ARVIOINNIN KOHTEET JA AMMATTITAITOVAATIMUKSET OSAAMISEN HANKKIMINEN. suorittaja työskentely

Asennusohje. EasyLine GSM

Käyttöohje BTE

Transkriptio:

Teekkareiden Juomapeli Mika Taskinen Taneli Veistinen 22.1.2010

Sisältö 1 Johdanto...1 2 Komponentit ja materiaalit...2 2.1 Mikrokontrolleri...2 2.2 Pistematriisinäyttö...2 2.3 Virtalähde ja virran regulointi...2 2.4 Muut materiaalit...3 3 Laitteen valmistus...4 3.1 Suunnittelu...4 3.2 Piirilevyn valmistus...5 3.3 Ohjelmointi...5 3.4 Kotelointi...6 4 Pelin toiminta...7

1 Johdanto Tavoitteena oli tehdä juomapeli, joka on tarkoitettu 2-10 pelaajalle. Elkoma harjoitustyön lisäksi laite osallistuu vuoden teekkarikeksinö kilpailuun. Jokaista pelaajaa kohti tulisi oma led- valaisin. Laitteeseen oli myös tarkoitus laittaa kaiutin sekä pistematriisinäyttö, joka opastaisi pelaajia pelin kulussa ja näyttäisi alas juoksevaa aikaa. Juomapeli oli alunperin tarkoitus tehdä PIC- piirille. Meidän kokemattomuuden takia päätimme tehdä laitteen Atmelin ATmega 328P- piirille, johon on asennettu helposti lähestyttävä vapaaseen lähdekoodiin perustuva Arduino ohjelmointipohja. Piiri oli ihanteellinen tarkoitukseemme, sillä Arduinon kääntäjässä on valmiina kirjasto pistematriisinäytön, sekä kaiuttimen kytkemiseen, joka helpotti työtämme huomattavasti. Arduinon ohjelmointiin löytyy internetistä todella paljon esimerkkejä ja ohjeita esim. Arduinon kotisivuilta www.arduino.cc. 1

2 Komponentit ja materiaalit 2.1 Mikrokontrolleri Kuten jo johdannosta selviää laitteen aivoiksi otettiin Atmelin valmistama ATmega 328P- mikrokontrolleri. Laite on kokoonsa nähden hyvin tehokas. Piirissä on itsessään 32 kilotavua flash muistia, joista 2 kilotavua on Arduinon käytämää; 1 kilotavu EEPROM:ia; 2 kilotavua SRAM:ia sekä 19 ohjelmoitavaa pinniä, joista 6 kykenee pulssinleveysmodulaatioon. Piiri kykenee jopa 20MHz kellotaajuuksiin, mutta Arduino käyttää 16MHz kellotaajuutta. Mikrokontrollerin kellotaajuus saavutetaan ulkoisella 16MHz kideoskillaattorilla tai vaihtoehtoisesti resonaattorilla. Me valitsimme kideoskillaattorin, vaikka se on hieman kalliimpi kuin resonaattori, sekä tarvitsee erilliset kuormauskondensaattorit. Kideoskillaattorin etu verrattuna resonaattoriin on sen tarkkuudessa, sekä ympäristökestävyydessä. Atmel ATmega 328P Datasheet: http://www.atmel.com/dyn/resources/prod_documents/doc8161.pdf 2.2 Pistematriisinäyttö Pistematriisinäytöksi valittiin Hitachin HD 44780- piiriin perustuva 2- rivinen ja 16- merkkinen näyttö. Kyseiseen Hitachin piiriin perustuviin näyttöihin on Arduinon kääntäjässä valmiiksi kirjastot ja koodiesimerkit, jonka takia se oli helppo valinta meidän projektin kannalta. 2.3 Virtalähde ja virran regulointi Virtaa reguloimaan otettiin 7805- regulaattori. Regulaattori on siitä varsin kätevä, että käyttöjännitteeksi kelpaa 7-35 Volttia. Regulaattori hävittää jännite-eron 2

lämmöksi, joten asensimme varmuuden vuoksi. TO-220 paketoituun regulaattoripiiriin jäähdyttimen. Regulaattorin sisäänmenopuolelle laitettiin 100uF elektrolyyttikondensaattori ja ulostulopuolelle 10uF elektrolyyttikondensaattori ja 100nF polymeerikondensaattori postamaan häiriöitä sekä estämään 7805- piirin tuottamaa vähäistä vaihtovirtavuotoa. Koska regulaattori vaatii vähintään 7V toimiakseen päätimme ottaa virtalähteeksi 2kpl 9V neppariparistoa. Laite toimii yhdelläkin paristolla, mutta laitoimme rinnalle toisen, ettei paristoja tarvitse olla kokoajan vaihtamassa. Laitoimme laitteeseen myös DC- liittimen, jotta paristojen säästämiseksi laitteen voi kytkeä muuntajan kautta pistorasiaan. 2.4 Muut materiaalit Juomapeliin asennettiin yhteensä 11- lediä. 10kpl osoittamaan kutakin pelaajaa ja 1kpl osoittamaan laitteen päälläoloa. Jokaiselle ledille tuli tietenkin sopivan kokoiset etuvastukset. Kosteudenkestävä 50mm pienoiskaiutin tuottaa pulssinleveysmodulaation kautta eri korkuisia monofonisia ääniä. Laitteessa on myös 3kpl painonappeja. 2kpl valintojen tekemiseen ja 1kpl juoma-alustan tunnistamiseen. 3

3 Laitteen valmistus 3.1 Suunnittelu Aluksi teimme tarkan työjaon. Taneli vastaa laitteen suunnittelusta ja valmistamisesta ja Mika hoitaa laitteen ohjelmoimisen. Sovimme mitä mikrokontrollerin pinnejä käytämme minkäkin komponentin ohjaamiseen, sekä mitä laitteen pitää tehdä ja mitä sen täytyy sisältää. Tämän perusteella tehtiin kytkentäkaavio laitteeseen ja testattiin laitteen toiminta koekytkentälevyllä. Kun kytkennät ja ohjelma todettiin toimiviksi aloitettiin PCB:n suunnittelu. PCB eli printed circuit board suunniteltiin Cadsoftin tekemän Eagle -sovelluksen avulla. Eagle on todella tehokas suunnitteluohjolma, joka sisältää runsaasti eri valmistajien komponentteja kirjastossaan. Kuva kytkentäkaaviosta. 4

3.2 Piirilevyn valmistus Piirilevy on melko helppo valmistaa tarkasti valotus syövytys- menetelmän avulla. Ensiksi tulostetaan haluttu kuvio kalvolle. Sitten kalvo laitetaan uv-herkällä lakalla päällystetyn piirilevyn päälle ja valotetaan UV-lampun alla noin 90 sekunttia. Piirilevy tämän jälkeen kehitetään natriumhyroksidi- liuoksessa ja syövytetään natriumpersulfaatti- liuoksessa. Kun piirilevy on syöpynyt siihen porataan reiät komponenteille. Tämän jälkeen piirilevystä pestään ylimääräinen lakka ja lika pois esim. asetonilla. Tämän jälkeen piirilevy on valmis komponenttien juottamiseen. Kuva komponenttipuolesta. Kuva juotospuolesta. 3.3 Ohjelmointi Juomapelin ohjelman prosessoijana toimii Arduino piiri, jolle löytyy oma kääntäjäohjelma Arduino alpha 0017. Kyseinen ohjelma toimii pääasiallisesti C++ kielellä, mutta joukossa selkeästi joitakin java kielen ominaisuuksia. Ohjelman saaminen piirille on näennäisen helppoa, jos käytössä on ohjelmointialusta, jonka avulla mikrokontrolleri keskustelee tietokoneen kanssa. Ohjelmointi itsessään ei tietenkään ole ihan niin yksinkertaista. 5

Arduino käy ohjelmointikoodia läpi jatkuvassa silmukassa, jolloin esim. nappien painalluksien tunnistaminen muotoutuu hieman mutkikkaaksi. Periaatteessa piirin toiminta koostuu kolmesta osasta, jossa aluksi määritellään kaikki muuttujat ja alifunktiot, sitten on setup() funktion vuoro, jossa asetukset eri piirin pinneille laitetaan kuntoon. Esimerkiksi lcd näyttö laitetaan päälle ja ilmoitetaan mitkä pinnit antavat virtaa ulos ja mistä menee sisään (ledit, napit, kaiutin). Sitten on vuorossa piirin päävaihe loop() funktio, jossa varsinainen ohjelma suoritetaan. Juomapeli sinällään koostuu neljästä päävaiheesta. Ensin on alkuefektit, sitten pelaajamäärän valinta, sitten juomavaihe ja lopuksi tilastot. Näin vaiheittain ohjelmaa tehdessä säätetään paljon päänvaivaa kun vaiheet voidaan erotella yksinkertaisella if toiminnolla. Lisäksi juomavaiheessa on ns. alivaiheet (pelaajan valinta, juominen, tarkistus), jotka toimivat myös samalla periaatteella. Koko koodin tekemiseen meni noin 1000 riviä koodia ja kokoa tuli jotakuinkin 15kt käännettynä. Arduinolle kuitenkin mahtuu tuplaten, joten tilanpuute ei tullut ongelmaksi. Suurimmat tilan vievät asiat olivat lcd näyttö, eeprom muistin editoiminen ja musiikin eli monofonisen piippausäänen sisällyttäminen laitteeseen. Laitteen ohjelmointi sinällään oli erittäin vaiherikas. Ensimmäinen tyydyttävästi toimiva versio oli peräti 10. versio ja tuohon versioon ei oltu vielä laitettu eepromin muokkausta. Lopullinen versio, joka piirille jätettiin oli versio 13. Ongelma ohjelmoinnissa oli se että kaikki ohjelmointi piti vaihe kerrallaan testata itse laitteella koekytkentälevyillä. Lisäksi jokainen vaihe vaati laajaa ohjelmointia ennekuin siitä tuli edes testauskelpoista. Sitten kun tuo osuus oli valmis olikin kyse enää vain bugien poistosta. 3.4 Kotelointi Laitteen valmistuttua oli jäljellä vain kotelointi. Kotelo päätettiin suunnitella itse ja tilata laserleikattuna, kaiverrettuna, taivutettuna ja hitsattuna. Materiaaliksi valittiin tyylikäs hiottu 2mm AISI 304 ruostumaton teräs. Kotelo piirrettiin Autocadillä, jonka jälkeen valmistus oli firman harteilla josta kotelo tilattiin. 6

4 Pelin toiminta Kun juomapeli kytketään päälle, lähtevät alkuefektit päälle. Näyttöön tulee teksti Tervetuloa juomapeliin! ja valot alkavat vilkkua luoden hienon alkuefektin. Napauttamalla jompaa kumpaa pelinappia siirrytään seuraavaan vaiheeseen. Toisaalta, jos nappia pidetään pohjassa n. 2 sekuntia niin eteen tulee tilastot siitä kuinka monta kertaa peli on käynnistetty ja kuinka monta kertaa peli on pelattu loppuun. Napin vapauttamalla siirrytään tästä vaiheesta seuraavaan. Pelin toisessa vaiheessa valitaan pelaajien määrä. Vähintään kaksi on tietenkin mukana, jotta saadaan kilpailua aikaiseksi. Myöskin pelaajia vastaavat ledit palavat. Napilla 1 valitaan pelaajat ja nappia kaksi painetaan kun pelaajamäärä on sopiva ja siirrytään seuraavaan vaiheeseen. Pelin kolmannessa vaiheessa on varsinainen peli. Valo pyörii ympäri pelialustaa rulettiefektinä, kunnes se osuu pelaajaan, joka on mukana ja joka ei edellisellä kierroksella ole joutunut juomaan. Kun pelaaja on valittu, asettaa hän juomalasin alustalle ja varmistaa napin painalluksella olevansa valmis. Aika lähtee juoksemaan heti kun juoma nostetaan alustalta ja aika näytetään aktiivisesti lcd -näytöllä. Mikäli pelaaja ehtii annetussa ajassa asettamaan lasin takaisin alustalle, kuuluu voittoääni ja sen jälkeen näytetään kuinka kauan juomiseen meni aikaa. Hetken kuluttua kysytään oliko suoritus tarpeeksi hyvä. Jos oli niin painetaan nappia 1, muutoin nappia 2 ja pelaaja poistuu pelistä. Mikäli suoritus oli hyvä niin seuraavalla kierroksella aikaa juomiseen on vähemmän. Mikäli pelaaja epäonnistuu niin aika pysyy samana. Kun pelaajia on jäljellä enää yksi niin tuo pelaaja on voittaja ja siirrytään lopputilastoihin, jossa kerrotaan voittaja, kierrosten määrä, paras alitus, eli pienin aika, josta selvittiin ja paras aika missä juotiin. Sen jälkeen on vielä lopputekstit. Pitämällä jompaa kumpaa nappia pohjassa pari sekuntia siirrytään pelin alkuun ja voidaan aloittaa uusi peli. 7

5 Loppusanat Vaikka projekti oli ehkä vähän liian kunnianhimoinen taidoillemme se oli meidän mielestämme täysi menestys. Tavoitteet tuli täytettyä, jopa ehkä ylitettyäkin. Työ sujui molemmilta melko mutkattomasti ja työnjako oli hyvä. Projektin budjetti ylittyi puolella, mutta ei se taloutta kaatanut. Laite on tähän asti toiminut halutulla tavalla ja kestänyt teekkareiden kovakouraista käsittelyä. Molemmat on oppinnut todella paljon elektroniikasta ja mikrokontrollereista koko kahden kuukauden aikana, kun laitetta on suunniteltu ja rakennettu. Toivomme, että laitteelle on käyttöä ja että voitamme vuoden teekkarikeksintö- palkinnon. Kaikenkaikkiaan voidaan sanoa, että hauskaa oli. 8