PRODUCTVERSLAG Retro game pong
Versie 1.0 20/01/2014 project 1 jaar 1 embeded systems engineering groep 4
iLluminate Hogeschool van Arnhem en Nijmgeren Arnoud Kriek, Jelle Lolkema, Benjamin Martens, Niels van Megen, Cas Peters, Rutger Vuister
1
Samenvatting In dit verslag zal worden beschreven hoe het proces omtrend het tot stand komen van de iLluminate retro game pong is verlopen. Na een korte inleiding zal u worden geïnformeerd over de definitiefase die het project heeft doorlopen en hoe het team iLluminate samen tot een voorlopig ontwerp is gekomen tijdens dit proces. Na de definitiefase wordt het ontwerp verder uitgewerkt in de ontwerpfase. Hier worden de basis ideeën uit de definitiefase verder uitgedacht om tot een goed product te komen. Na de definitiefase en de ontwerpfase zijn de ideeën ver genoeg uitgewerkt om de game te realiseren. In dit deel van het verslag wordt dieper ingegaan op de realisatiefase van het project. Na de realisatiefase wordt er een testplan uitgevoerd om te kijken of het product aan de eerder gestelde eisen voldoet en wordt er besproken waarom wel en waarom er niet aan deze eisen voldaan wordt. Het laatste en grootste deel van dit rapport bestaad uit de bespreking van het eindresultaat. Ook hier zal diep worden ingegaan in hoe het product zich verhoud ten opzichte van de in de eerste fases van het project gestelde ideeën.
PRODUCTVERSLAG | Retro game pong
2
Voorwoord In dit verslag wordt beschreven hoe het team iLluminate via een project een ledgadget heeft ontworpen. Dit project is tot stand gekomen van uit de hoge school van Arnhem en Nijmegen met als doel de studenten kennis te laten maken met het gebruik van microcontrollers en deze te kunnen coderen en gebruiken in combinatie met andere hardware. Het projectteam iLluminate bestaad uit zes personen welke tijdens dit project dienenden samen te werken om een goed resultaat te kunnen presenteren. Aan het begin van dit project zijn er duidelijke rollen verdeeld over wie de software en wie de hardware op zich zal nemen. De documentatie is onder alle projectleden verdeeld. Wat er daadwerkelijk is gefabriceerd zult u verderop dit verslag lezen.
iLluminate | HAN
3
Inhoudsopgave Samenvatting........................................................................................................................................... 1 Voorwoord .............................................................................................................................................. 2 Inhoudsopgave ........................................................................................................................................ 3 Inleiding ................................................................................................................................................... 4 1.
2.
Definitiefase .................................................................................................................................... 5 1.1
Achtergrond van het project ................................................................................................... 5
1.2
Functionele specificaties ......................................................................................................... 5
1.3
Technische specificaties .......................................................................................................... 6
Ontwerpfase .................................................................................................................................... 7 2.1
Bediening ................................................................................................................................. 8
2.2
Grafische Interface .................................................................................................................. 8
2.2.1
LED matrix........................................................................................................................ 8
2.2.2
Scorebord ........................................................................................................................ 9
2.3 Microprocessor............................................................................................................................ 10 2.3.1 Functies van de gebruikte pinnen ........................................................................................ 10 2.3.2 Pinout ATMEL ATmega32A 8-bit microprocessor ................................................................ 12 2.4 UART routine ............................................................................................................................... 13 2.5 Voeding........................................................................................................................................ 14 2.5.1 Spanningsregelaar ................................................................................................................ 14 2.5.2 Spanningsbewaker ............................................................................................................... 14 2.6 Behuizing ..................................................................................................................................... 15 3.
Realisatiefase................................................................................................................................. 16 3.1
Acceptatietest ....................................................................................................................... 16
4. Eindresultaat ..................................................................................................................................... 18 4.1
Gerealiseerde eisen: .............................................................................................................. 18
4.2
Conclusie gemaakte testen: .................................................................................................. 18
4.3 Eventuele uitbreidingen en wijzigingen: ..................................................................................... 18 4.4 Verbeteringen en aanvullingen: ................................................................................................. 19
PRODUCTVERSLAG | Retro game pong
4
Inleiding In de volgende hoofdstukken gaan we in op de definitiefase (hoofdstuk 1), ontwerpfase (hoofstuk 2) en de realisatiefase (hoofdstuk 3) van dit project. Het eindresultaat wordt in hoofdstuk 4 besproken. In hoofdstuk 1.1 wordt ingegaan op de achtergrond van dit project waarna de functionele eisen (hoofdstuk 1.2) en de technische specificaties zullen worden behandeld (hoofdstuk 1.3). In hoofstuk 2.1 zal dieper ingaan op de bediening van het spel en in hoofdstuk 2.2 zal de grafische interface van het project besproken worden. In hoofdstuk 2.3 zal gesproken worden over de microprocessor die gebruikt is en hoofdstuk 2.4 gaat in op de uart routine van deze microprocessor. De voeding van het hele product zal in hoofdstuk 2.5 behandeld worden. In de laatste fase van het project wordt een acceptatietest gedaan welke in hoofdstuk 3.1 besproken zal worden. In het hoofdstuk eindresultaat worden de gerealiseerde eisen besproken (hoofdstuk 4.1). Hierna wordt de conclusie van de gemaakte testen behandeld (hoofdstuk 4.2). Als laatste worden de eventuele uitbreidingen en mogelijke wijzigingen aan het product behandeld (hoofdstuk 4.3).
iLluminate | HAN
5
1. Definitiefase In dit hoofdstuk zal de achtergrond van het project worden toegelicht. Vervolgens zal het hoofdstuk zich splitsen in functionele en technische specificaties. Hierin wordt verteld wat het product inhoud en welke technische specificaties zijn aangehouden.
1.1 Achtergrond van het project Het doel van dit project is om een prototype van een LED-gadget waarop een spel gespeeld kan worden te produceren. Dit spel mocht een spel naar keuze zijn. Er is gekozen om het retro spel Pong te kiezen. Dit spel wordt beschouwd als het eerste computerspel uit de jaren 60. Dit spel is een zo specifiek mogelijke kopie van het originele spel om de nostalgie voor de spelers hoog te houden.
1.2 Functionele specificaties De primaire functionele specificaties zijn vastgesteld door klant en werkgever. De volgende eisen zijn de minimale eisen van het product. Functioneel Pong regels: 1. De game moet minimaal 1 bal bezitten. 2. De game moet minimaal 1 te besturen balk hebben. 3. De game is te winnen door de het vooraf ingestelde aantal punten te bereiken. 4. De bal moet vanaf alle objecten afkaatsen. Pong game: 1. De game moet een mogelijk tot een tweede speler hebben. 2. In 1 speler mode wordt er tegen een computergestuurde tegenspeler gespeeld. 3. Bij starten van het programma wordt een opstart animatie afgespeeld. 4. De moeilijkheidsgraad moet instelbaar zijn. 5. Er is een menu met instellingen aanwezig. 6. Het wordt mogelijk door middel van de controller om de moeilijkheidsgraad te beinvloeden. 7. Bij een spannings verval moet de scoren worden opgeslagen. 8. Bij het opstarten moet het mogelijk zijn een nieuwe game te beginnen of verder te gaan met de vorige game. 9. De maximale score om te winnen score moet te variëren zijn 10. Bij het behalen van de ingestelde maximale scoren zal er een animatie getoond worden. 11. Er zal gebruik gemaakt worden van kleuren in de game. Pong console: 1. De console moet door middel van een knop aan en uit gezet kunnen worden. 2. Er moet een technische mogelijkheid voor kleurverandering op het scherm. 3. De console is portable (draagbaar). 4. De console moet zowel op accu als op netspanning(23e0V AC ± 10%) functioneren. 5. De console moet kind vriendelijk zijn. 6. De console moet aan de gestelde NEN en EG normen voldoen. 7. De console heeft als display een 16x24 led grid. 8. Er moet een mooi overzichtelijk en eenvoudig scorebord aanwezig zijn.
PRODUCTVERSLAG | Retro game pong
6
Pong controllers: 1. Het spel word bestuurd met behulp van de originele Atari 2600 controllers. 2. De positie van de balk word bepaald door het draaien aan de knop op de controller. 3. De bal word afgeschoten met behulp van de druk knop op de controller. 4. De balk in speler mode mag maar vanaf een controller bestuurd worden.
1.3 Technische specificaties Door de opdrachtgever zijn bepaalde technische eisen gesteld. Deze moeten nageleefd worden tenzij de opdrachtgever heeft aangegeven deze te veranderen. De eisen zijn opgedeeld in drie onderdelen. De functionele eisen, technische eisen en de budget eisen. Deze zullen hieronder in aparte tabellen worden uitgelicht.
F1 F1.1 F1.2 F1.3
F2 F3 F4 F5
Functionele eisen Het LED-gadget geeft in een twee dimensionale vorm een lichtpatroon gemaakt met LEDs aan de gebruiker weer. De LEDs moeten twee kleuren kunnen weergeven. De weer te geven patronen moeten zowel statisch als dynamisch zijn. Minimaal moeten er 100 LEDs gebruiker worden. Één of meer gebruikers moeten met behulp van bepaalde invoeronderdelen de lichtpatronen zinvol kunnen beïnvloeden. Na het opstarten moet eerst een welkomstanimatie worden weergegeven. Het moet mogelijk zijn dat de gebruiker een test kan uitvoeren waarmee aangetoond kan worden dat alle LEDs het doen. Als de gadget wordt uitgeschakeld moet de huidige toestand opgeslagen worden zodat na het opnieuw opstarten gewoon verder gegaan kan worden.
T1 T2 T3 T4
Technische eisen Gebruik de AVR micro-controller. Programmeer in ANSI-C. Gebruik de programmeerrichtlijnen uit het vak INF-1. Gebruik voor de seriële verbinding een COM poort op basis van de USB-poort.
B1
Budget eisen Het prototype mag maximaal €75,- aan onderdelen kosten.
iLluminate | HAN
7
2. Ontwerpfase In dit hoofdstuk zal worden toegelicht hoe de functionele en technische specificaties/eisen zijn omgezet in technische oplossingen. Deze oplossingen zullen allemaal hun eigen paragrafen krijgen en hierin uitgebreid worden toegelicht. Pot meters Bediening
controllers Drukknoppen Led display
Pong
Grafische interface
7 segmenten displays
Aansturing
Microprocessor
communicatie
UART verbinding Batterijen
voeding adapter (opt) behuizing Figuur 1. Hiërarchisch schema
Figuur 2. Architectuur schema
PRODUCTVERSLAG | Retro game pong
8
2.1 Bediening De controllers bestaan uit een potentiometer en een drukknop, de potentiometer heeft een weerstand van 10 MOhm. Aan de potentiometer zitten drie terminals: plus, min en spanningsdeler (out) bij het originele ontwerp zit de min echter niet aangesloten wat resulteert in een uitgangsspanning van 4,6 tot 5 V. Echter is er gekozen om de controllers te modificeren zodat er een uitgangsspanning van 0 tot 5 volt ontstaat, dit is gerealiseerd door de min terminal van de potentiometer te verbinden met de ground van de knoppen. Deze spanning word vervolgens door de ADC omgezet naar een 10 bits getal tussen de 0 en 1024 wat in de code gebruikt kan worden voor de positie van de paddels.
Figuur 3. Schema pong paddles 1
Figuur 4. Modificaties aan de pong controllers
2.2 Grafische Interface In deze paragraaf zal er worden ingegaan op de LED matrix en het scorebord zoals beschreven in het globaal technisch ontwerp. De werking van de schuifregisters zal hier worden omschreven evenals de overige componenten die nodig zijn. De hardware in ons ontwerp is verdeelt over twee pcb’s. De schema’s van zowel de LED matrix als het scorebord zijn te vinden in de corresponderende bijlagen.
2.2.1
iLluminate | HAN
LED matrix
9
LED’s: De LED's zullen in 16 rows en 24 columns aangesloten worden, dat houd in dat horizontaal alle minnen in een row aan elkaar gekoppeld zijn. Elke row heeft dus effectief de 24 minpolen van de LED's aan elkaar. In het geheeld heb je dan 16 min rows van ieder 24 LED's. Voor de plus gebeurt het zelfde alleen dan in rows. Er zijn in totaal 48 rows, voor elke kleur 24 en elke row bestaat uit 16 plus polen van LED's. Dit systeem van 16 min rows en 48 plus columns stelt ons in staat door middel van coördinaten elke LED afzonderlijk te laten branden. Voor elke row zit een weerstand, deze zijn allemaal 70 ohm wat resulteert in een stroomverbruik van 1,7 mA wat is bepaald door middel van een multimeter. MOSFET's: Verder word er gebruik gemaakt van 64 Texas Instruments BS170 PNP MOSFET's. Hiervoor is gekozen omdat de schuifregisters die worden gebruikt niet genoeg source(32mA) en drain(20mA) vermogen hebben. De MOSFET's hebben dit probleem niet aangezien zij maximaal 60V bij 1,2A kunnen schakelen. Zowel de min aan de rows als de plussen aan de columns zullen worden geschakeld door de MOSFET's. Bij de columns zit de MOSFET voor de LED weerstand. Alle mosfets zijn voorzien van een 10k gate weerstand om er voor te zorgen dat de gate volledig open gaat in de MOSFET en er geen stroom terug loopt de schuifregisters in. Schuifregisters: Voor de schuifregisters word er gebruik gemaakt van 8 bit Texas Instruments SN74HC595 chips. De schuifregisters werken door een 8 bit binaire waarde over 1 poort in te sturen waarin elke bit een hoog of laag uitgangsignaal representeert op een van de acht uitgangen. De schuifregisters zijn opgedeeld in drie groepen. Twee schuifregisters schakelen de 16 minpolen, drie schuifregisters schakelen de 24 rode plus polen, en drie schuifregisters schakelen de 24 groene plus polen. Van elke groep zijn de schuifregisters doorverbonden zodat dat losse schuifregisters samen werken alsof het een groot schuifregisters is van 24 of 26 bits. Per groep zijn ook de srclock, de rclock en de on/off doorverbonden zodat er controle over deze factoren binnen elke groep. De clear functie is met een 10k pulldown weerstand aan de min gehangen zodat deze altijd uit staat.
2.2.2 Scorebord Counters: De eerste laag in het scorebord zijn de SN74HC192N 4 bits counter chips Er worden in het ontwerp vier van deze chips gebruikt, voor elke 7 segment display eentje. De counters zijn per twee doorverbonden zodat wanneer de enkele getallen negen bereiken de tientallen met 1 verhoogd worden. Hierdoor is het scorebereik per speler 99. De counters werken door de opgaande flank van een hoog signaal te tellen. Vervolgens word de score als een 4 bits signaal doorgestuurd naar de decoders. De counters hebben een gemeenschappelijke klok en een gemeenschappelijke master reset, samen met twee tellijnen voor de score per speler. Decoders: De vier decoders die gebruikt worden dienen er voor het 4 bits getal van de counters om te zetten in signalen voor een 7 segment display met het corresponderende getal. De zeven signalen van een decoder worden vervolgens doorgestuurd naar de displays. De chip die wij hiervoor gebruiken is de CD4511
PRODUCTVERSLAG | Retro game pong
10
7 segment displays: Voor de displays worden Kingbright 7-segment displays gebruikt ,de displays ontvangen zeven hogen signalen van de decoders door 150Ohm weerstanden en hebben een gemeenschappelijke min op pin 3 of 8. De displays zullen zich ergens anders in de behuizing bevinden en door middel van 10 pins kabels aan de pcb bevestigd worden.
2.3 Microprocessor Het hart van dit project is de microprocessor. Dit onderdeel is de brug tussen de software en hardware en is dus eindverantwoordelijke van de volledige functionele aansturing. Gebruikt is een ATmega32A 8-bit microprocessor van de fabrikant en producent ATMEL. Deze microprocessor beschikt over veertig i/o-ports die geschikt zijn voor verschillende doeleinden. De microprocessor zal zich op het scorebord bevinden in verband met ruimte en zal via een 40 pins flatcable aan het main bord gekoppeld worden.
2.3.1 Functies van de gebruikte pinnen
iLluminate | HAN
-
A/D Converter (ADC0 t/m ADC7) Deze voor dit project belangrijke acht poorten zijn bedoelt om van een inkomend analoog signaal van de externe controllers (Potmeters), een digitaal signaal te creëren. Dit signaal kan vervolgens software matig overgezet worden op het LED matrix. Het bereik van het inkomende analoge signaal is tussen de 0V en de 5V.
-
VCC en GND De ATmega32A bied twee VCC’s aan en twee GND’s.
-
RESET Er wordt een mogelijkheid geboden om de volledige microcontroller een harde reset te geven door het signaal op de geïnverteerde RESET poort op laag te zetten.
-
XTAL De i/o-port XTAL1 wordt gebruikt om een externe kristal oscillator aan te sluiten op de microprocessor. Deze wordt gebruikt omdat de ATmega32A niet de gewenste klokfrequentie produceert.
-
USART (PB4 t/m PB7) Er worden vier poorten toegewezen voor de functionaliteit van de USART. Dit biedt de ATmega32A de mogelijkheid om te communiceren met andere microprocessors.
-
Scorebord (PC4 t/m PC7) Deze vier poorten zullen de functionaliteit aan het externe analoge scoreboard. Deze biedt mogelijkheden zoals een reset en individuele scoreboards. PC5 & PC6: Geven een hoog signaal elke keer als de score bij één van de spelers verhoogd moet worden. PC4: Dit signaal zet de scoreboards aan of uit. PC7: Door deze pin op hoog te zetten worden de scoreboards gereset.
11
-
Schuifregisters (PD2, PD4 t/m PD7, PC0 t/m PC3) Deze i/o-ports worden gebruikt voor de aansturing van de schuifregisters. Dit bestaat uit de OE (Outpute enable), RCLOCK, SER en SRCLK. SRCLK: Om de 48 klokpulsen schuift dit signaal alle bitjes in het schuifregister door. RCLK: Voegt elke klokpuls het volgende bitje toe aan het schuifregister. OE: Hier gaat de bitstroom uit voor het schuifregister. Dit is voor de plus kant en de min kant gelijk.
PRODUCTVERSLAG | Retro game pong
12
2.3.2 Pinout ATMEL ATmega32A 8-bit microprocessor
Figuur 5. Pinout ATmega32A.
iLluminate | HAN
13
2.4 UART routine De LED gadget kan met een computer verbinding maken en communiceren via de USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter) interface. Deze interface is vooral geschikt aangezien die compatibel is met de RS232 verbinding. Deze komt uit op een seriële verbinding. Aangezien de huidige generatie computers bijna geen seriële poorten meer heeft moet het signaal omgezet worden naar de USB interface. Hiervoor gebruiken we een RS232 naar USB convertor. Deze moet uiteindelijk eindigen in een micro USB aansluiting waarmee gemakkelijk verbinding met een computer gemaakt kan worden. Op de computer moet een driver voor de RS232 naar USB interface en een cliënt zoals bijvoorbeeld Putty geïnstalleerd zijn. Zo kunnen er via een terminal venster waardes uitgelezen en veranderd worden. Zo moeten alle opties die ook in het menu op het apparaat zelf beschikbaar zijn, ook via de computer aan te passen zijn. Tevens moet er met een commando een LED test gestart kunnen worden. Hierdoor moeten alle LEDs aan gaan. Er is gekozen om te werken met een usb-to-serialconverter. Dit is gekozen omdat weinig computers tegenwoordig nog een COM poort hebben. Met de usb-toserialconverter wordt deze poort geëmuleerd op de computer via een usb poort. Er word gebruik gemaakt van de Polled UART functie van de microcontroller. In deze modus controleert de applicatie constant of het UDRE-bit in het UART Status Register om the controleren wanneer de UART klaar is met het verzenden van een byte. Bij het ontvangen van data, controleert de applicatie contant het RXC bit, om vast te stellen wanneer de UART een BYTE ontvangen heeft. Ook word er gebruik gemaakt van een FT232RL-BO breakout bord om een vertaalslag te maken van RS232 naar USB. Het dataverkeer gaat met een boudrate van 960 boud.
PRODUCTVERSLAG | Retro game pong
14
2.5 Voeding In deze paragraaf zal er eerst verder worden ingegaan op de functie en opbouw van de spanningsregelaar waarna er een stuk verteld word over de spanningsbewaker.
2.5.1 Spanningsregelaar
Figuur 6. Schematische weergave spanningsregelaar
Dit circuit zorgt ervoor dat er van de 9 volt die vanaf de batterij binnenkomt 5 Volt word gemaakt zodat de microcontroller en de LED-matrix de juiste voedingsspanning krijgen. het circuit bestaat uit een L78S05 en 4 condensators die als buffer en ontstoring werken, het ic laat alleen 5 volt door en het overige voltage word als stroom weg gestookt in het IC. Als uiteindelijke voedingsbron zal er een combinatie van een 5v netspanning adapter en een 6v accu. Het IC kan 2 Ampère leveren dus er is genoeg voor zowel de microcontroller als de LED-matrix.
Figuur 7.Source bereik van de L78S05 chip.
2.5.2 Spanningsbewaker De spanningsbewaker bestaat uit eenzelfde IC zodra de spanning boven de 5 volt is zal het IC 5 volt doorlaten dit zal door de AD converter in de microcontroller geregistreerd worden, zodra de spanning onder de 5 volt komt zal het ic niks meer doorlaten en zal de AD-converter waarde 0 uitsturen, hierop zal de score naar de EEPROM worden geschreven.
iLluminate | HAN
15
2.6 Behuizing De retro pong game heft een op maat gemaakte behuizing. De gehele behuizing bestaat uit acrylaat wat door een lasersnijder op maat gemaakt word om vervolgens in elkaar gelijmd te worden. De behuizing bestaat uit vijf delen: 1. Gebogen onderkant en twee zijkanten. Rood 3mm acrylaat 2. Voorkant. Zwart 3mm acrylaat. 3. Achterkant. Zwart 3mm acrylaat. 4. Bovenplaat 1. Zwart 3mm acrylaat. 5. Bovenplaat 2. Gematteerd doorzichtig 2mm acrylaat.
Het formaat van de behuizing lxbxh is 210x290x50 mm.
Figuur 8. SketchUp tekening behuizing
PRODUCTVERSLAG | Retro game pong
16
3. Realisatiefase In dit hoofdstuk zullen enkele stukken code voor de aansturing toegelicht worden doormiddel van pseudocode en korte programmacode. Ook zal dit hoofdstuk een acceptatietest bevatten in de vorm van een tabel met een vinkenlijst.
3.1 Acceptatietest Functionele Pong regels 1. De game moet minimaal 1 bal bezitten. 2. De game moet minimaal 1 te besturen balk hebben. 3. De game is te winnen door de het vooraf ingestelde aantal punten te bereiken. 4. De bal moet vanaf alle objecten afkaatsen. Pong game 1. De game moet een mogelijk tot een tweede speler hebben. 2. In 1 speler mode wordt er tegen een computergestuurde tegenspeler gespeeld. 3. Bij starten van het programma wordt een opstart animatie afgespeeld. 4. De moeilijkheidsgraad moet instelbaar zijn. 5. Er is een menu met instellingen aanwezig. 6. Het wordt mogelijk door middel van de controller om de moeilijkheidsgraad te beïnvloeden. 7. Bij een spanningsverval moet de scoren worden opgeslagen. 8. Bij het opstarten moet het mogelijk zijn een nieuwe game te beginnen of verder te gaan met de vorige game. 9. De maximale score om te winnen score moet te variëren zijn 10. Bij het behalen van de ingestelde maximale scoren zal er een animatie getoond worden. 11. Er zal gebruik gemaakt worden van kleuren in de game. Pong console 1. De console moet door middel van een knop aan en uit gezet kunnen worden. 2. Er moet een technische mogelijkheid voor kleurverandering op het scherm. 3. De console is portable (draagbaar). 4. De console moet zowel op accu als op netspanning(23e0V AC ± 10%) functioneren. 5. De console moet kind vriendelijk zijn. 6. De console moet aan de gestelde NEN en EG normen voldoen. 7. De console heeft als display een 16x24 led matrix. 8. Er moet een mooi overzichtelijk en eenvoudig scorebord aanwezig zijn.
iLluminate | HAN
✔ ✔ ✔ ✔
✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
17
Pong controllers 1. Het spel word bestuurd met behulp van de originele Atari 2600 controllers. 2. De positie van de balk word bepaald door het draaien aan de knop op de controller. 3. De bal word afgeschoten met behulp van de druk knop op de controller. 4. De balk in speler mode mag maar vanaf een controller bestuurd worden. Nen Norm 1. Geen scherpen stukken aanwezig 2. Niet mogelijk geleidende delen aan te raken 3. Geen blijvende flitsende effecten 4. Een aan en uit knop aanwezig 5. Gehouden aan milieu eisen 6. Leeftijdslimiet gesteld
✔ ✔ ✔ ✔
✔ ✔ ✔ ✔ ✔ ✔
PRODUCTVERSLAG | Retro game pong
18
4. Eindresultaat In dit hoofdstuk wordt ingegaan op het eindresultaat. In de eerste paragraaf van dit hoofdstuk worden de wel en niet gerealiseerde eisen uiteengezet en besproken. De tweede paragraaf bevat de conclusie van de gemaakt testen uit hoofdstuk vijf. Na deze paragraaf worden de eventuele uitbreidingen en wijzigingen besproken die in een volgend project kunnen worden toegepast. De laatste paragraaf gaat in op eventuele uitbreidingen en wijzigingen aan het product.
4.1 Gerealiseerde eisen: In het uiteindelijke product zijn alle eisen gerealiseerd, zowel functioneel als technisch. Er is gebruik gemaakt van meer dan drie keer het minimale aantal geëiste LED’s en worden de volledige drie kleuren van de LED’s gebruikt binnen het spel. Tevens is er een scorebord aanwezig met een functie die automatisch de score opslaat evenals originele Atari 2600 paddles voor besturing. Er is als extra toevoeging een pc applicatie gemaakt die mogelijkheid biedt om de score ook op een pc weer te geven. Hier uit kan geconcludeerd worden dat er aan alle eisen voldaan is en in sommige gevallen is de functionaliteit zelfs ver boven de minimale eisen is uit gestegen.
4.2 Conclusie gemaakte testen: Zoals in het vorige hoofdstuk is uitgelegd, is er een acceptatietest voor het gehele product evenals een testfunctie die op de console gedraait kan worden. Dit biedt de mogelijkheid om de functionaliteit van het product hardware matig te testen. De acceptatietest geeft een positief beeld weer aangezien het product op alle punten geslaagd is. Ook de losse testfunctie werkt uitstekend en biedt snel en makkelijk de mogelijkheid kapotte componenten te lokaliseren.
4.3 Eventuele uitbreidingen en wijzigingen: Er zijn geen grote wijzigingen die de functionaliteit van dit product in grote mate kan verbeteren. Wel zijn er een aantal uitbreidingen die voor een perfect product gerealiseerd moeten worden. De twee primaire uitbreidingen die aan dit ontwerp toegevoegd kunnen worden zijn: geluid en verschillende game modi. De toevoeging van deze functionaliteiten zullen er voor kunnen zorgen dat de pongconsole een consumentenmarkt waardig product kan worden. Buiten de primaire toevoegingen zijn er ook een aantal kleine toevoegingen zoals een aan/uit LED en een waarschuwingslampje om aan te geven wanneer de batterij op is.
iLluminate | HAN
19
4.4 Verbeteringen en aanvullingen: Er zijn een aantal kleine dingen in het ontwerp die bij een volgende productie verbeterd kunnen worden. Als voorbeeld de layout van de printplaat waar sommige componenten beter geplaatst hadden kunnen worden of bijvoorbeeld de afwezigheid van een aan/uit LED. Verder zijn er geen verbeteringen of aanvullingen die op dit product van toepassing zijn aangezien het product geheel functioneert en reageert in de manier waarop dit gepland was.
PRODUCTVERSLAG | Retro game pong