TETRIS. LTH, Campus Helsingborg EITA15 Digitala System

Relevanta dokument
Snake. Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola,

Projekt EITA15. Väckarklocka. LTH Ingenjörshögskolan vid Campus Helsingborg Datateknik

Gustaf Backman, Anton Nystedt, Nicholas Peebo Battleships. Lunds tekniska högskola. EITF11 Digitala projekt

Digitala Projekt (EITF11)

Helena Harrysson och Linnéa Wickberg

The Intelligent Timer

Rapport. Fyra i rad-spel. Rapport Digitala Projekt EITF11 Grupp 9 Emma Rasmusson & Louise Ragnarsson Handledare: Bertil Lindvall

Pulsmätare med varningsindikatorer

Temperaturmätare med lagringsfunktion DIGITALA PROJEKT EITF11 GRUPP 14, ERIK ENFORS, LUDWIG ROSENDAL, CARL MIKAEL WIDMAN

Rapport Digitala Projekt EITF11 Grupp 4 Axel Sundberg, Jakob Wennerström Gille Handledare: Bertil Lindvall

Innehållsförteckning. Figur- och tabellförteckning. Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet...

The Secure Light. Digitala Projekt EITF11. Hanna Tinglöf, I-12 Anna Horvath, I-12 Filippa Österlin, I-12. Handledare: Bertil Lindvall

Department of Information Technology Digitala projekt. SuperKull. Daniel Öhman Alexander Persson

DANCING ROBOT. EITF11, Grupp 10. Kajsa Salomonsson, Hugo Hedin och Petter Mårtensson

Digitala Projekt VT13. PING-Pong

LARMANLÄGGNING. Digitala Projekt, EITF11. Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall

PlantPuppy Räddaren för den som inte kan hålla växterna vid liv

Digitala projekt Linjeföljande bil

Bilen som inte kan krocka

EITF11 Digitala Projekt TIC TAC TOE. Lukas Ljungblom & Johan Lyckenvik I-13 Handledare: Bertil Lindvall

Laboration 5. Temperaturmätning med analog givare. Tekniska gränssnitt 7,5 p. Förutsättningar: Uppgift: Temperatur:+22 C

Växtviskaren EITF11 Digitala projekt VT15, I12

Sebastian Nordqvist André Reis Malte Wallander Oliver Hedetoft Handledare: Lars-Göran Larsson & Bertil Lindvall. Projektrapport Digitala System

Projektrapport i Digitala System

Digitala Projekt(EITF40) - Larm

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia

TEMPERATUR OCH VINDMÄTARE MED HÖGTALARFUNKTION

Pulsmätare Digitala Projekt EITF11

Innehåll. 1 Inledning 3

DIGITALA PROJEKT Väderstation

EITF11. WormFight. Axel Eriksson, Felix Geuken Handledare: Bertil Lindvall EITF11

Lunds Tekniska Högskola Elektro- och informationsteknik Digitala projekt (EITF11)

Avståndsmätare. Digitala System EITA Grupp 7. Abdelsalem Yabrag, Abdulhadi kikar, Fredrik Peterson, Jesper Annefors

PROJEKTTYP: Rapportsammanfattning STUDENTER: Larsson, J. ( ) och Oredsson, J. ( ) DATUM: 26 april, 2015

Digitalt Projekt: Radiostyrd Bil

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser

RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk

TEMPERATURMÄTARE MED GRAFRITARE

Datorteknik 1 (AVR 1)

Tetris By Tobbe. EDI021 Digitala Projekt. Tobbe Lundberg Handledare: Bertil Lindvall. Lund, Mars 2009

EDI021 Digitala projekt. Rapport LARMSYSTEM. Utförd av: Niklas Eklund E03 David Olsson E04. Inlämnad:

Digitala projekt, EDI021 Rapport Handledare: Bertil Lindvall

Larmcentral. Digitala Projekt. Cecilia Olsson & Erika Björck Handledare: Bertil Lindvall LUNDS TEKNISKA HÖGSKOLA

Whac A mole. Ett rektionstest i kursen Digitala Projekt EITF11 utfört av: Axel Spångberg I10 Marcus Witting I10. Handlett av: Bertil Lindvall

Rapport Digitala Projekt EITF Grupp 12 Elin Blomstergren, Victor Sundgren Handledare: Bertil Lindvall. Fyra i rad

Lunds Tekniska Högskola EITF11 Digitala projekt. Bandspelaren

Pong Mayhem. Innehållsförteckning Inledning Kravspecifikation Komponenter/Hårdvara Arbetsprocess Reflektion...

EITF40 - RFID-terminal. Joakim Marculescu (dt08jm6), Eric Johansson (dt08ej6)

Effektpedal för elgitarr

LARMANLÄGGNING. Digitala Projekt, EITF11. Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall

LABORATION. Datorteknik Y

Digitala Projekt Konstruktion av Tamagocchi. Av: Oskar Andersson D05 & Danial Rehman D05

Digitala Projekt (EITF11) Hemlarm

Digitala Projekt: Digitala Projekt, EITF11 - VT17 Oscar Ahlgren, Patrik Lorentsson och Sten Hellberg Handledare: Bertil Lindvall

LTH Ingenjörhögskolan vid Campus Helsingborg. Mastermindspel

EITF11 - Digitala projekt. Hastighetsmätare. Hugo Backmyr Mattias Karlsson

Tynker gratisapp på AppStore

Labyrintspelet EDI021 Grupp 5

Digitalteknik: CoolRunner-II CPLD Starter Kit

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012

LABORATION. Datorteknik Y

Digitala projekt - Radiostyrd bil

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI

LUNDS TEKNISKA HÖGSKOLA. Väderstation. Digitala Projekt, EITF11. Martin Olofsson, I08 & Fredrik Oher, I08 Vt 2012

Jan Babor och Oscar Ågren Handledare: Bertil Lindvall 5/16/2011

Digitala projekt rapport

Laboration 1: Styrning av lysdioder med en spänning

Feeding Daisy. EITF11 Lunds Tekniska Högskola. Grupp 12: Pontus Akervall Louise Landare Anton Schölin. En automatisk blomvattnare

Design av inbyggda system

Konstruktion av volt- och amperemeter med DMMM

DIGITALA PROJEKT (EITF40) Fartmätare

Mekanisk solros, Digitala projekt(edi021) Kristoer Nordvall, Stefan Windfeldt, Inlämmnad: 4 december 2006

Thunder s Truck projektrapport

AVR 5. Styrning av trafikljus. Digitala system 15 p

Datorteknik 2 (AVR 2)

Goda råd till de som ska utföra ett liknande projekt (från KMM 2016)

Projekt i Digitala System

Liftmaestro. Lunds Tekniska Högskola Elektro- och informationsteknik. Olle Gemfors, I13 Dayanand Sagar, I13 Mattias Wendler, I13

AVR Studio 4 Och AVRFLASH

Design vid utveckling av inbyggda system

Datorprojekt, del 1. Digitala system 15 p

Datorteknik TSIU02 Kursinformation

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

Digitala projekt Elektro- och informationsteknik

Design av inbyggda system

Ipad i teknikundervisningen

Introduktion till Arduino

Projektrapport Målgång

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Blue Key Digitala projekt VT

HF0010. Introduktionskurs i datateknik 1,5 hp

3. Välj den sprajt (bild) ni vill ha som fallande objekt, t ex en tårta, Cake. Klicka därefter på OK.

DEPARTMENT OF INFORMATION TECHNOLOGY. Digitala Projekt. Redovisning av Projekt - Grupp 14

Lunds Universitet LTH Ingenjörshögskolan IDa1, IEa1 Helsingborg. Laboration nr 4 i digitala system ht-15. Ett sekvensnät. grupp. namn.

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

Inbyggda#datorer# Inbyggda#system# Arduino#Uno#SMD# H.#Inbyggda#system# # ###Arduino#och#cyber7fysisk#programmering### ##

Accelerometer. Rikard Ekström Mattias Kindborg. Informationsteknologi Lunds Universitet

Introduktion till Arduino

Barnhack! kom igång med Scratch del 2

TSIU05 Digitalteknik. LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System

Transkript:

TETRIS LTH, Campus Helsingborg EITA15 Digitala System Handledare: Bertil Lindvall Författare: Isak Shamun, Viktor Kulle, Mark Slipac och Dennis Järnåsen Datum: 2019-05-09

Abstract This report concerns the realization of a Tetris-based game on the 8-bit ATmega1284 microcontroller as a part of the course Digital Systems. It encompasses the entire working process, from the construction of the circuit diagram, to ideas for upgrades of the prototype The program code is in C and the interfacing hardware is composed of an LCD-display and four buttons.

Contents 1.Inledning...1 1.1 Kravspecifikation...1 2. Komponenter...2 3. Metod...3 3.1. Planering...3 3.2. Konstruktion...3 4. Resultat...4 5. Diskussion...5 6.Källförteckning... Error! Bookmark not defined.

1.Inledning Som projekt i kursen Digitala System bestämde vi oss för att realisera spelet Tetris på en ATmega1284 i syfte att lära oss mer om AVR-programmering, hur man kopplar diverse komponenter samt implementera algoritmerna som krävs för spelets funktioner. Syftet med projekt-delen i kursen var att tillämpa kunskaperna vi har erhållit från laborationerna för ATmega1284 för att bygga vår egen prototyp från grunden. 1.1 Kravspecifikation 1. Det ska finnas en skärm till konsolen 2. Konsolen ska ha en höger-, vänster, ner- och rotationsknapp. a. Vid nedtryckning av höger-/vänsterknappen ska blocket flyttas ett steg åt det håll så länge det finns plats på spelplanen b. Vid nedtryckning av uppknappen ska blocket vridas ett kvarts varv. c. Vid nedtryckning av nerknappen ska blocket släppas rakt ner. 3. Konsolen ska vid start rita upp en meny med en startfunktion som startar spelet. 4. Konsolen ska kunna rita upp samtliga Tetris-block. 5. Spelet ska avslutas då något block överskrider den översta raden på spelplanen. 6. Displayen ska visa titeln TETRIS samt spelplanen under spelets gång. 7. En poängtavla som ska visa poängen under spelets gång. 1

2. Komponenter Mikrokontroller Mikrokontrollern som användes i konstruktionen var en ATmega1284. Atmega1284 är en 8-bitars mikrokontroller med 44 pins varav 32 är I/O portar samt ett flashminne på 128KB. LCD-skärm GDM12864 var skärmen som användes till konstruktionen av konsolen. Skärmen har bakgrundsbelysning tillgänglig och har dimensionerna 128x64 pixlar där varje hälft styrs separat. Knappar Fyra knappar är anslutna till en pin i processorn som genererar ett avbrott vid nedtryckning. När en knapp inte är nedtryckt så är spänningen till processorn noll Volt då den är kopplad via en resistor till jord. Varistor En varierande resistor är ansluten till LCD-skärmen för att reglera kontrasten på skärmen. Resistor 4 resistorer på 10K ohm används till knapparna. JTAG JTAG används för att kunna felsöka och ladda över programmet till mikrokontrollern. 2

3. Metod 3.1. Planering Projektet började med diskussion kring vilket spel som skulle kunna konstrueras samt problemformulering kring de olika förslagen. Efter en röstning enades författarna om att realisera spelet Tetris. Utifrån detta gjordes en kravspecifikation som sedan diskuterades med handledaren. Planering av framtida möten och labbtillfällen planerades via Facebook då detta ansågs vara enklast. Utrustning och komponenter bestämdes utefter kravspecifikationen och därefter ritades kopplingsschemat i ritprogrammet Autodesk Eagle. 3.2. Konstruktion Då kopplingsschemat godkändes av handledaren tilldelades gruppen komponenter och utrustning. Komponenterna monterades på mönsterkortet och kopplades samman enligt kopplingsschemat med både virning och lödning för att bilda en prototyp, se bilder 1 och 2 nedan. Då en så kallad sanity check hade genomförts med debuggern så säkerställdes det att konstruktionen var korrekt. 3

Bild 1: Baksidan av mönsterkortet som visar virrningen av alla sladdar. Bild 2: framsidan av mönsterkortet som visar dispositionen av display och knappar, samt lödningen av vissa komponenter. Programmering Med en fungerande konstruktion påbörjades programmeringen i programmet Atmel Studios. Arbetsprocessen delades upp i 4 steg. Första steget bestod av att kunna sätta igång displayen, andra steget bestod av att rensa information från skärmen och det tredje steget bestod av att tända individuella pixlar på skärmen. Till sist var det dags att implementera spelets funktioner och regler i programmet. 4. Resultat Resultatet har överträffat förväntningar då en poängtavla har lagts till på den vänstra sidan av skärmen som räknar antal rader rensade samt en Game Over rubrik som dyker upp när man förlorar. Poängtavlan ökar med ett för varje block placerat och ger extra poäng vid radrensning utefter antal rader som rensas samtidigt. Se bilder 3 nedan för slutprodukten. Bild 3: Slutprodukten av Tetris spelet. 4

5. Diskussion De största motgångarna under projektets gång har varit att skriva fungerande metoder för skrivning till och rensning av skärmen, samt att förstå hur koordinatsystemet för skärmen fungerar. Majoriteten av motgångarna var lösbara genom tillägg av fördröjningar och avbrott i lämpliga ställen i programmet. Den viktigaste lärdomen har varit att lära sig hur man använder debuggern för att få en idé om var exekveringen hakar upp sig eller inte beter sig som man hade tänkt. Potentiella förbättringar för prototypen hade kunnat vara ytterligare funktioner som finns i de mest förekommande Tetris-spelen idag, till exempel: Ett mer avancerat rensningssystem där man särskiljer olika sorters radrensningar genom att meddela detta i spelet. Rekordtabell där man sparar den högsta uppnådda poängen. Flera nivåer som successivt ökar hastigheten som Tetris-blocken faller Högtalare som spelar musik, musikens tempo ska öka med nivåer. Ett battle-mode där man kan spela mot datorn eller en annan spelare. Om en spelare rensar minst en rad så hamnar det antalet rader på motståndarens spelplan under motståndarens placerade Tetris-block. Dessa så kallade garbage lines kan också rensas. 5

6.Källförteckning Datablad Display, GDM12864HLCM. https://www.eit.lth.se/fileadmin/eit/courses/edi021/datablad/display/gdm12864h.pdf Datablad Processor, ATmega1284. https://www.eit.lth.se/fileadmin/eit/courses/edi021/datablad/processors/atmega1284.pdf 6