120 likes | 299 Views
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.
E N D
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"? • 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? • The game is really fun, but it takes too long to set up. This project shortens the setup process. • This design makes resource gathering and spending automatic. • Hackers of Catron simplifies the execution of Catan without adding more complexity.
Block Diagram Addr - 3 (8) Hall Effect Sensors 8:1 MUX Single Hall Effect Sensor Hall Hall 18 18 Sets Raspberry Pi ll RGB LED Driver AVR32 UC3 B Microcontroller RGB 3 Web Server TWI I2C (3) RGB LEDs 2 2 Economy Control Logic Game Control Code 7 sets (daisy-chained) USB 7 Segment LED Display Driver Dig 8 SPI (8) 7 Segs Wifi Access Point Seg 8 3 Load Enable 5 sets (daisy-chained)
Design Challenges • Sense small game pieces at up to 145 specific locations • Hall Effect sensors spaced properly on large PCB • Magnetic pieces • Multiplexed signals • Track and automate trading of resources • Web application to be multiple device friendly • Raspberry Pi to act as low-cost web server • Display a randomly-generated game board • Color of RGB LEDs denotes resource type • Seven Segment displays denote rarities • Create random numbers • Random numbers generated by the Raspberry Pi and microcontroller system clock
Design Challenges • Mapping game positions • Relational static structure of all positions on the board and their adjacent positions, hexes, and ports • Creating a development card deck • Only allow 25 cards to be drawn • Appropriately weighting the cards • Web application speed • Original CGI based application incredibly slow • Updated to WSGI and significant amount of Javascript • Communication • Communicate between microcontroller and Raspberry Pi via I2C • Microcontroller acts as EEPROM slave to Raspberry Pi
Joshua's Contributions • Suggested the original idea • Hardware • Built Early Prototypes • Estimated Power Requirements • Created Circuit Schematic • Researched Patent Liability • Plotted High Level Flowchart • Microcontroller Programming • Test Functions • Board Resource Generation • Dice Roll • Piece Placement Legality • Longest Road • Raspberry Pi Communication 1 2 3 1 4 1
Spencer's Contributions • Suggested use of Raspberry Pi and Operating System • Tested alternative boards • Tested alternative linux distributions • 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 • HTML5 and CSS3 Frontend • Python 2.7 backend converted to Python 3 • Developed most of the backend of the version 2 web interface • Ported into skeleton structure • Assisted with front end design and development • Created parts of the packaging • 3D Printed hexagons
Robert's Contributions • Initial prototyping of LED drivers • PCB Layout • Hand routed 20.5"x16" PCB with hundreds of components • Trace width calculations for extremely long traces • PCB Population • Soldered many components • Debugged and fixed errors in the PCB • Package Construction • Web application • Styling of web application user interface • Back end (Python) and front end (Javascript) programming • 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 • Low-level functions • Check for legal piece placement • Main game loop • Relational Map of all positions on the board • 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 • Hall Effect sensors detect pieces • RGB LEDs and seven segment displays show generated game board • Communication between Raspberry Pi and Microcontroller • Uses I2C for communication • Microcontroller acts as EEPROM Slave to Raspberry Pi • Raspberry Pi hosts web server and acts as Wi-Fi Access Point • Web application allows players to see/use hand and score • All success criteria met