Proposal. Figure 1: Slot Machine [1]

Similar documents
Automatic Projector Tilt Compensation System

Virtual Rock Climbing: A video game using tracking and tactile feedback. December 11, 2013

Laboratory 4 Check Off Sheet. Student Name: Staff Member Signature/Date: Part A: VGA Interface You must show a TA the following for check off:

Virtual Piano. Proposal By: Lisa Liu Sheldon Trotman. November 5, ~ 1 ~ Project Proposal

Lab Assignment 2 Simulation and Image Processing

MUSIC TRANSCRIBER. Overall System Description. Alessandro Yamhure 11/04/2005

Prototyping an ASIC with FPGAs. By Rafey Mahmud, FAE at Synplicity.

Digital 1 Final Project Sequential Digital System - Slot Machine

6.111 Project Proposal IMPLEMENTATION. Lyne Petse Szu-Po Wang Wenting Zheng

Testing Results for a Video Poker System on a Chip

Snapshot. Sanjay Jhaveri Mike Huhs Final Project

ECE532 Digital System Design Title: Stereoscopic Depth Detection Using Two Cameras. Final Design Report

Laboratory 4 Check Off Sheet. Student Name: Staff Member Signature/Date: Part A: VGA Interface You must show a TA the following for check off:

Tiptop audio z-dsp.

EndNote Online. Getting Started Guide (Windows)

Design and Implementation of an AHB VGA Peripheral

Laboratory Exercise 7

Fingerprint Verification System

This project will work with two different areas in digital signal processing: Image Processing Sound Processing

Laser Conductor. James Noraky and Scott Skirlo. Introduction

California State University, Bakersfield Computer & Electrical Engineering & Computer Science ECE 3220: Digital Design with VHDL Laboratory 7

VID_OVERLAY. Digital Video Overlay Module Rev Key Design Features. Block Diagram. Applications. Pin-out Description

LOCAL DECODING OF WALSH CODES TO REDUCE CDMA DESPREADING COMPUTATION. Matt Doherty Introductory Digital Systems Laboratory.

moome PRELIMINARY, SUBJECT TO CHANGE WITHOUT NOTICE IFB-FULLHD FULLHD V3 IFB-FULLHD V3 Datasheet V Feb

HD-SDI Express User Training. J.Egri 4/09 1

EDA385 Bomberman. Fredrik Ahlberg Adam Johansson Magnus Hultin

Digilent Nexys-3 Cellular RAM Controller Reference Design Overview

Tic-Tac-Toe Using VGA Output Alexander Ivanovic, Shane Mahaffy, Johnathan Hannosh, Luca Wagner

CHECKPOINT 2.5 FOUR PORT ARBITER AND USER INTERFACE

StickIt! VGA Manual. How to install and use your new StickIt! VGA module

6.111 Final Project Proposal Kelly Snyder and Rebecca Greene. Abstract

1. Synopsis: 2. Description of the Circuit:

Design of a Binary Number Lock (using schematic entry method) 1. Synopsis: 2. Description of the Circuit:

ECE 4220 Real Time Embedded Systems Final Project Spectrum Analyzer

LAB 3 Verilog for Combinatorial Circuits

Downloads from:

Figure 1: Feature Vector Sequence Generator block diagram.

LAB 3 Verilog for Combinational Circuits

Lab 3: VGA Bouncing Ball I

VHDL Design and Implementation of FPGA Based Logic Analyzer: Work in Progress

CSE 352 Laboratory Assignment 3

CM-T10-PRO and PRO-E. Wireless Control for ColorMaker Series LED Fixtures with ColorRoll Technology User s Manual

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

JANUARY 2019 EVENTS & PROMOTIONS. Sunday Monday Tuesday Wednesday Thursday Friday Saturday. Bonus Wednesdays. 8am 11pm. Bonus Wednesdays.

EECS150 - Digital Design Lecture 12 - Video Interfacing. Recap and Outline

Logic Analyzer Auto Run / Stop Channels / trigger / Measuring Tools Axis control panel Status Display

Virtual Basketball: How Well Do You Shoot?

Room W-217 Policies Room Technology Printing Options

Digital Turntable Setup Documentation

Pivoting Object Tracking System

AC335A. VGA-Video Ultimate Plus BLACK BOX Back Panel View. Remote Control. Side View MOUSE DC IN OVERLAY

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

Professor Henry Selvaraj, PhD. November 30, CPE 302 Digital System Design. Super Project

Quick Start Guide Revision 1A

An automatic synchronous to asynchronous circuit convertor

G.709 FEC testing Guaranteeing correct FEC behavior

cs281: Introduction to Computer Systems Lab07 - Sequential Circuits II: Ant Brain

Befriending Sequences

E X P E R I M E N T 1

Rensselaer Polytechnic Institute Computer Hardware Design ECSE Report. Lab Three Xilinx Richards Controller and Logic Analyzer Laboratory

INTRODUCTION AND FEATURES

The Schwinnaphone A Musical Bicycle. By Jeff Volinski with Mike Caselli

Lecture 11: Synchronous Sequential Logic

Laboratory Exercise 7

16 Universe LED Matrix Panels Instructions

Catch or Die! Julia A. and Andrew C. ECE 150 Cooper Union Spring 2010

1 Terasic Inc. D8M-GPIO User Manual

Pinewood Derby Finish Line Detection System

An FPGA Platform for Demonstrating Embedded Vision Systems. Ariana Eisenstein

Workshop 4 (A): Telemetry and Data Acquisition

Theory and Practice of Tangible User Interfaces. Thursday Week 3: Analog Input. week. Sensor 1: Potentiometers. Analog input

UNIVERSITY OF TORONTO JOÃO MARCUS RAMOS BACALHAU GUSTAVO MAIA FERREIRA HEYANG WANG ECE532 FINAL DESIGN REPORT HOLE IN THE WALL

Programmable Video Signal Generator VG-880. Instruction Manual. Ver 1.10

INTERLACE CHARACTER EDITOR (ICE) Programmed by Bobby Clark. Version 1.0 for the ABBUC Software Contest 2011

The Micropython Microcontroller

Traffic Light Controller

The Calculative Calculator

Using the Renesas Graphics API to Create a User Interface

9 Analyzing Digital Sources and Cables

CSCB58 - Lab 4. Prelab /3 Part I (in-lab) /1 Part II (in-lab) /1 Part III (in-lab) /2 TOTAL /8

You will be first asked to demonstrate regular operation with default values. You will be asked to reprogram your time values and continue operation

Solutions to Embedded System Design Challenges Part II

Lab 4: Hex Calculator

FPGA 设计实例 基于 FPGA 的图形液晶显示面板应用. Graphic LCD panel. FPGAs make great video controllers and can easily control graphic LCD panels.

Design of VGA Controller using VHDL for LCD Display using FPGA

MAKERSPACE EVENT SPACE USER GUIDE

Edirol FA-66 Quick Start Guide

Show Designer 3. Software Revision 1.15

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

FITTING AN EGA CARD TO AN IBM 5155.

Let s Take This Outside Boxing Final Project Report

Lecture 10: Programmable Logic

Table of content. Table of content Introduction Concepts Hardware setup...4

StepSequencer64 J74 Page 1. J74 StepSequencer64. A tool for creative sequence programming in Ableton Live. User Manual

FPGA Prototyping using Behavioral Synthesis for Improving Video Processing Algorithm and FHD TV SoC Design Masaru Takahashi

QTI Line Follower AppKit for the Boe-Bot (#28108)

What can EndNote do?

Lab 5 FPGA Design Flow Based on Aldec Active-HDL. Fast Reflex Game.

Good Evening! Welcome!

Transcription:

Proposal We have decided to make a Vegas-style slot machine, given its popularity in casinos and the popularity of online gambling. Our slot machine will rely on camera-controlled inputs from the user, instead of physical touch, like the traditional slot machine uses. In order to implement this, we are dividing our project into two parts: the inputs from the camera and buttons on the FPGA and the outputs to the screen. In the end, we will deliver a fun, interactive, and visuallyappealing slot machine. Las Vegas Slot Machines Figure 1: Slot Machine [1] Slot machines are the most popular casino game in Las Vegas. The machine has three identical reels in a row with pictures on them that rotate when a lever is pulled (see Figure 1). It is a one-player game in which the player wins money based on the pattern of pictures shown when the reels stop. A player inserts coins or tokens, which represent money, in order to place a bet. After the bet is made, the player can then pull the lever down to make the reels spin. The reels spin faster or slower, in a random fashion, based on the force of the pull-down of the lever, and the payout is directly proportional to the amount of the bet placed. The ultimate goal of the game is to make all three reels show the same pictures, because then the player wins a large amount of money. Our 6.111 Slot Machine Our 6.111 slot machine, unlike traditional slot machines, will have all of a slot machine's elements on a computer screen. The reels and the lever will be animated, and there will be two 1

on-screen buttons. One button allows the player to place a bet (the Place a Bet button), and the other button allows the player to quit the game and take his/her remaining money (the Payout button). There will be two text displays: one showing the amount of cash in the player's pot and the other showing the value of the current bet. See Figure 2 below for a visual representation. Place Bet Cash $100 Payout Camera Computer Screen Figure 2: Our 6.111 Slot Machine Description of Our 6.111 Slot Machine Each player will start out with a fixed amount of money to gamble with, and the amount will be displayed on the screen. From this pot, the player will be able to select the amount of money he/she wishes to bet from a range of $5 to the total amount in the pot. The player will confirm this amount by pressing the Place a Bet on-screen button. In our game, pressing means standing in front of a camera with a red glove on one hand, moving the hand until the onscreen cursor is on top of the button, and letting it rest there for two seconds. After placing the bet, the player will be prompted to pull the lever. This means using the red glove and onscreen cursor to find the knob of the on-screen lever and making a downward motion, mimicking that of pulling a lever. When the player runs out of money, the game is over. Also, hovering over the Payout button for two seconds lets the player walk away with his/her remaining money. Finally, if a player wins (according to the traditional rules of slot machines), their cash pot will be increased, and there will be fanfare to celebrate the win. Implementation of Our 6.111 Slot Machine The project will be divided into two major components, and these will be broken up into modules. The first component is the game input component. This component is responsible for detecting the position of the red glove, which the player wears during game-play, from the camera. This component is also responsible for the bet input, which is placed using the switches on the FPGA. The second component is the game output component. This component handles the processing of the input and is responsible for game functionality. Lastly, there is one-way communication from the game input component to the game output component. 2

The modules of the first component are: Camera handler Switch handler (handled by labkit.v) The modules of the second component are: RGB-to-More-Understandable-Format converter Camera Frame buffer Red Color Detector Center of Mass Detector ROM for Sprites VGA Displayer of Sprites From ROM Game Logic Random number generator The Modules Here, we will describe each of the significant modules. Camera Handler: Inputs: clock, video in Outputs: RGB signal Complexity and Level of Performance: We will have to look at the specifications of the camera before we can determine this. How it will be tested: We'll hook up a camera and output the image to a screen and make sure that it's correct. RGB-to-More-Understandable-Format converter: Inputs: RGB signal Outputs: More-Understandable-Format Complexity and Level of Performance: Should be fairly straightforward. How it will be tested: We will feed it RGB signals and make sure we get out the correct signals. Camera Frame buffer: Inputs: clock, More-Understandable-Format signals Outputs: access to a memory containing the above signals Complexity and Level of Performance: We will use a ZBT, giving us a high level of performance. How it will be tested: We will make sure that we get out what we expect and test boundary conditions. 3

Red Color Detector: Inputs: Signals from the frame buffer Outputs: positions of the red color pixels that constitute the greatest area Complexity and Level of Performance: This is complex and could potentially be slow. How it will be tested: We feed it chunks of red among other colors to see if it picks out the correct spots, and we will test boundary conditions. Center of Mass Detector: Inputs: Takes in the output of the Red Color Detector Outputs: the position of the center of mass of the red color Complexity and Level of Performance: This should not be difficult, and it should be quick. How it will be tested: We will give the module red blobs and make sure that it returns the center of mass correctly. ROM for Sprites: Inputs: No inputs, the sprites will be hard-coded into the ROM, clock, address Outputs: Sprites Complexity and Level of Performance: Making nice-looking graphics will be complex. How it will be tested: We will test it in conjunction with the VGA Displayer of Sprites from ROM. VGA Displayer of Sprites From ROM: Inputs: Sprites from ROM Outputs: VGA signal Complexity and Level of Performance: We will need to make sure that the animation is fluid, requiring high performance. How it will be tested: We will examine this module's behavior by looking at the screen. Game Logic: Inputs: clock, random number, bet amount, position of center of mass of the red color, value of bet, amount money in pot Outputs: states of the reels, lever position, amount of money in pot, value of bet Complexity and Level of Performance: This can be a finite state machine since each reel has a finite state. How it will be tested: We can output the values of the states and money amounts to the 64-bit hex display. 4

Random number generator: Inputs: clock, enable Outputs: random number, done Complexity and Level of Performance: We will look up some random number generators online, and the performance should be reasonable. How it will be tested: We will use the 64-bit hex display to see if we're getting out random numbers. External Components board. We will need to borrow a camera and a speaker from the lab. We will plug them into the Optional Functionalities We could make the game user-friendly by having it give the player on-screen directions. We can make the reels spin faster or slower in relation to the force of the pull-down of the lever. We could also make our game so that a player can place a bet by using on-screen buttons, instead of having to use the switches on the FPGA. Bibliography [1] http://ivegot2haveone.co.uk/index.php?main_page=product_info&cpath=8&products_id=51 5