PRODUCTVERSLAG. Retro game pong. Versie 1.0 20/01/2014 project 1 jaar 1 embeded systems engineering groep 4

Vergelijkbare documenten
AVR-DOPER MINI ASSEMBLAGE HANDLEIDING + LAYOUT. Geschreven door: Tom Vocke

EM2 Microcontroller Project. LED cube

De Arduino-microcontroller in de motorvoertuigentechniek (4)

Handleiding voor demonstratie multimeter

Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368

ES1 Project 1: Microcontrollers

S88XPressNetLI v1.0. Installatie- en gebruikershandleiding en naslagwerk KDesign Electronics, PCB ontwerp door RoSoft

Logo quiz Project Inleiding op de Logo!

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files

Wat is Arduino? Arduino = microprocessor (Atmel)

Besturingspaneel v Raam E-systeem functie omschrijving v109

Opgave 1 Opbouwen van een servomotor-systeem

SPRAAK MODULE INT-VG. 1. Eigenschappen. 2. Specificaties

Opgave 1 Opbouwen van een stappenmotor-systeem

Arduino CURSUS. door Willy - 09-juni-2017

B3C 70cm converter besturing. v PE5PVB bar.net bar.net

Gebruiksaanwijzing AVR910 USB Programmer

PIC Callgever Door PA1RUM

Changhong UD42YC5500UA 4K 42 "LED LCD

Spanningdriver LEDVD5CH20A-V4 Real Time Clock

Locobuffer Handleiding

HANDLEIDING SCOREBORDEN OPTIE 7 Versie 2.0 / augustus 2011

Handleiding Alma Rally & Alma Rally Off-road

Morpheus. Gebruikers Handleiding Clifford Electronics Benelux, Lijnden.

Pocket Pong Oeroude game in moderne hardware

Inleiding elektronica Presentatie 1

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (4)

Bouw je eigen minicomputer

1. Sluit de LED aan zoals afgebeeld 2. Sluit de USB-kabel aan op de Arduino 3. Klik op de knop uploaden 4. De LED begint te knipperen

Spanningdriver LEDVD5CH20A-V5 0-10V en DALI

Montagevoorschriften

FA23 Aansluitschema Onderdeel nr:

Tweede workshop Arduino

De TRUST 2 PORT USB 2.0 PCI CARD werkt niet op MAC.

Tinyserir-RC5. Datasheet. Tinyserir-RC5 Page: 1 of 8

Hydrofoon versterker. Een versterker voor de Aquarian H2a. Betreft: Hydrofoon versterker. Door: David Boelee,

Sensor Test Unit TSK40A

GEINTEGREERDE PROEF DE COMPUTER ALS TV AFSTANDSBEDIENING

Gebruikershandleiding

RF1456RGB. Gebruiksaanwijzing

Installatiehandleiding

Gebruiksaanwijzing stroomprint JGA i. Inhoudsopgave

Gebruikshandleiding TFT touchscreen

Handleiding ALFANET 70-Clock

Tyro Pyxis/Auriga 2, 4, 6 of 8 voudige afstandsbediening Handleiding 868 MHz

Gebruiksaanwijzing stroomprint JGA1009D 1.0L

Netwerk Interfacing Data Logging.

AC CES 700XR HANDLEIDING P. 02

ES1 Project 1: Microcontrollers

ES1 Project 1: Microcontrollers

Hand-out Introductieworkshop LED programmeren

Dekoder instel programma met behulp van de Sprog IIv3 of de Sprog III. Digitaalservice.nl

In- en uitgangssignalen van microprocessoren

Spanningsdriver LEDVD5CH10A-V5 0-10V en DALI

De Arduino-microcontroller in de motorvoertuigentechniek (3)

KNX INTEGRATIE MODULE int-knx-2_nl 03/15

BOUWBESCHRIJVING RF-INTERFACE

Voeler ingang van de ilog recorder. Stop de temperatuurvoeler

Seriële bluetooth verbinding ATmega128

Predator Pro 3D USB. Predator Pro 3D USB. Gebruikershandleiding. Versie 1.0

GEÏNTEGREERDE PROEF. VTI Sint-Laurentius. Pakketweegschaal. Industriële informatie & communicatietechnologie SCHOOLJAAR

Versie: A Datum: Pag: 1 van 5

MotorControl gebruiksaanwijzing V3 vanaf softwareversie 2.0e

Een Simpele RF Ontvanger

Palmtop - Aqua-Max Servicehandleiding

EASYPLUS PRE DOMOTICA

Bouwbeschrijving. c HCC Forth gg. Willem Ouwerkerk. 3 juli 2004 I 2 C 2.00

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (3)

Gebruiksaanwijzing WTW PC-software

Spanningdriver LEDVD5CH20A-V7 Real Time Clock met LCD scherm

Xilinx JTAG Programmer

Dit apparaat is een programmeerbare magnetische fiets. Het apparaat bestaat uit drie delen: de motor & controller en het magnetische remsysteem.

Programmering Tiny45 voor de DCC locdecoder

Handleiding HCS VB5224

Arduino. Workshop. 20 juni 2014 Peter Struwe Stichting De Jonge Onderzoekers Groningen

De Arduino-microcontroller in de motorvoertuigentechniek (2)

Inhoudsopgave LED dobbelsteen

AP80 Display Controller

Duifmelden. nl Gebruikershandleiding Automatische Aanmeld Module met de kloksystemen - Tauris - Unikon - Mega - Bricon - Benzing M1

Spanningsdriver 11 WiFi interface met LCD display

AP40 Display Controller

Handleiding Teknatool houtdraaibank Nova DVRxp Nederlands bij gebruik van de originele Engelse handleiding

Alfanet PC-interface 2e gen.

LIVECHESS QUICK SET-UP CAÏSSA

Handleiding Scorebord Horstacker (Nijmegen) Wildcats; november 2011; Versie 1.1 Page 1

Het µclab voor Arduino UNO, NANO en Arduino UNO pincompatible

Voeler ingang van de ilog recorder. Stop de temperatuurvoeler

Handleiding HCS VB5248

Spanningdriver LEDVD5CH20A-V9 DALI interface met LCD display

Stappenmotor Interface. Controller

Led Display Solutions

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2)

Microcontrollers. Bart Kardinaal E Verslag microcontrollers Rev 1.0 Status definitief.

Stroomprint JGA1009 gebruiksaanwijzing

Inhoudsopgave. Handleiding: MC v2.0a. Pagina - 1 -

AP90 Display Controller

ADRESSEERBARE ZONE UITBREIDING int-adr_nl 05/14

Velbus DIN-rail RS232 & USB interface

GIP. De computer gestuurde trein

Interface digitale modes en N1MM.

Transcriptie:

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. Definitiefase... 5 1.1 Achtergrond van het project... 5 1.2 Functionele specificaties... 5 1.3 Technische specificaties... 6 2. 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. Functionele eisen F1 Het LED-gadget geeft in een twee dimensionale vorm een lichtpatroon gemaakt met LEDs aan de gebruiker weer. F1.1 De LEDs moeten twee kleuren kunnen weergeven. F1.2 De weer te geven patronen moeten zowel statisch als dynamisch zijn. F1.3 Minimaal moeten er 100 LEDs gebruiker worden. F2 Één of meer gebruikers moeten met behulp van bepaalde invoeronderdelen de lichtpatronen zinvol kunnen beïnvloeden. F3 Na het opstarten moet eerst een welkomstanimatie worden weergegeven. F4 Het moet mogelijk zijn dat de gebruiker een test kan uitvoeren waarmee aangetoond kan worden dat alle LEDs het doen. F5 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 B1 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. Budget eisen Het prototype mag maximaal 75,- aan onderdelen kosten. illuminate HAN

Pong 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. Bediening Grafische interface controllers Led display 7 segmenten displays Pot meters Drukknoppen Aansturing Microprocessor communicatie UART verbinding voeding behuizing Batterijen adapter (opt) 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 LED matrix illuminate HAN

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 - 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. illuminate HAN

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