ppt - Purdue College of Engineering

Download Report

Transcript ppt - Purdue College of Engineering

ECE 477 Final
Presentation
Team 03 - Spring 2013
Ryan Pawling Spencer Julian Josh Hunsberger Robert Harris
Outline
•
•
•
•
•
•
Project Overview
Block Diagram
Design Challenges
Individual Contributions
Project Demonstration
Questions and Discussion
Project Overview
•
•
What is "Hackers of Catron"?
o An electronic Settlers of Catan® board. Settlers of Catan®
is a resource gathering and trading board game in which
players compete to build the largest economy.
What we will improve upon?
o The game is really fun, but it takes too long to set up. This
project shortens the setup process.
o This design makes resource gathering and spending
automatic.
o Hackers of Catron simplifies the execution of Catan
without adding more complexity.
Block Diagram
Addr - 3
Hall
Single Hall
Effect Sensor
8:1 MUX
Hall
18
Web Server
Raspberry Pi
Economy
Control Logic
USB
Wifi
Access
Point
I2C
AVR32 UC3 B
Microcontroller
(8) Hall Effect
Sensors
18 Sets
TWI
2
2
ll
RGB LED
Driver
RGB 3
(3) RGB
LEDs
7 sets (daisy-chained)
Game
Control Code
SPI
3
Load Enable
7 Segment Dig 8
LED
Seg 8
(8) 7 Segs
Display
Driver
5 sets (daisy-chained)
Design Challenges
•
•
•
•
Sense small game pieces at up to 145 specific locations
o Hall Effect sensors spaced properly on large PCB
o Magnetic pieces
o Multiplexed signals
Track and automate trading of resources
o Web application to be multiple device friendly
o Raspberry Pi to act as low-cost web server
Display a randomly-generated game board
o Color of RGB LEDs denotes resource type
o Seven Segment displays denote rarities
Create random numbers
o Random numbers generated by the Raspberry Pi and
microcontroller system clock
Design Challenges
•
•
•
•
Mapping game positions
o Relational static structure of all positions on the board and
their adjacent positions, hexes, and ports
Creating a development card deck
o Only allow 25 cards to be drawn
o Appropriately weighting the cards
Web application speed
o Original CGI based application incredibly slow
o Updated to WSGI and significant amount of Javascript
Communication
o Communicate between microcontroller and Raspberry Pi
via I2C
o Microcontroller acts as EEPROM slave to Raspberry Pi
Joshua's Contributions
•
•
•
•
•
Suggested the original idea
Hardware
o Built Early Prototypes
o Estimated Power Requirements
o Created Circuit Schematic
Researched Patent Liability
Plotted High Level Flowchart
Microcontroller Programming
o Test Functions
o Board Resource Generation
o Dice Roll
o Piece Placement Legality
o Longest Road
o Raspberry Pi Communication
1
3 2 1
4
1
Spencer's Contributions
•
•
•
•
•
•
Suggested use of Raspberry Pi and Operating System
o Tested alternative boards
o Tested alternative linux distributions
o Set up raspberry pi for use
Found and tested functions during microcontroller testing
Assisted with flowchart creation and layout
Designed and developed original web interface
o HTML5 and CSS3 Frontend
o Python 2.7 backend converted to Python 3
Developed most of the backend of the version 2 web interface
o Ported into skeleton structure
o Assisted with front end design and development
Created parts of the packaging
o 3D Printed hexagons
Robert's Contributions
•
•
•
•
•
•
Initial prototyping of LED drivers
PCB Layout
o Hand routed 20.5"x16" PCB with hundreds of components
o Trace width calculations for extremely long traces
PCB Population
o Soldered many components
o Debugged and fixed errors in the PCB
Package Construction
Web application
o Styling of web application user interface
o Back end (Python) and front end (Javascript) programming
o Porting of web application to "bottle" framework
Project video
Ryan's Contributions
•
•
•
•
•
•
•
•
•
Prototyping
Packaging design considerations
Test code written for all interfaces
Populating PCB
Packaging construction
Flowcharts and game logic
Microcontroller software
o Low-level functions
o Check for legal piece placement
o Main game loop
o Relational Map of all positions on the board
o Updating the board state
Debugging Micro and Pi communication
Project Video
Project Specific Success Criteria
•
•
•
•
•
An ability to generate a random Catan board and represent
the resources and their relative scarcity visually.
An ability to detect the placement of pieces on the board and
update game status accordingly.
An ability to display game status (current scores, resources,
etc.) via a web interface.
An ability to enforce correct turn based gameplay via the
board lighting and web interface.
An ability to handle resource trading between players via the
web interface.
Summary
•
•
•
•
•
Hackers of Catron is an electronic version of Settlers of Catan®.
Large PCB emulates physical board
o Hall Effect sensors detect pieces
o RGB LEDs and seven segment displays show generated
game board
Communication between Raspberry Pi and Microcontroller
o Uses I2C for communication
o Microcontroller acts as EEPROM Slave to Raspberry Pi
Raspberry Pi hosts web server and acts as Wi-Fi Access Point
o Web application allows players to see/use hand and score
All success criteria met