ECE 477 Final Presentation Team 03 - Spring 2013 Ryan Pawling Spencer Julian Josh Hunsberger Robert...

12
ECE 477 Final Presentation Team 03 - Spring 2013 Ryan Pawling Spencer Julian Josh Hunsberger Robert Harris

Transcript of ECE 477 Final Presentation Team 03 - Spring 2013 Ryan Pawling Spencer Julian Josh Hunsberger Robert...

Page 1: ECE 477 Final Presentation Team 03 - Spring 2013 Ryan Pawling Spencer Julian Josh Hunsberger Robert Harris.

ECE 477 Final Presentation

Team 03 - Spring 2013

Ryan Pawling Spencer Julian Josh Hunsberger Robert Harris

Page 2: 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

Page 3: ECE 477 Final Presentation Team 03 - Spring 2013 Ryan Pawling Spencer Julian Josh Hunsberger Robert Harris.

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.

Page 4: ECE 477 Final Presentation Team 03 - Spring 2013 Ryan Pawling Spencer Julian Josh Hunsberger Robert Harris.

Block Diagram

USB

llRaspberry

Pi

Web Server AVR32 UC3 B

Microcontroller

(8) Hall Effect

Sensors

Economy Control Logic

RGB LED Driver

Single Hall Effect Sensor

Game Control Code 7

Segment LED

Display Driver

Wifi Acces

s Point

(8) 7 Segs

5 sets (daisy-chained)

(3) RGB LEDs

7 sets (daisy-chained)

Hall18

2

3

8:1 MUX

18 Sets

Addr - 3

SPI

2

I2C

Load Enable

Seg 8

Dig 8

RGB 3

Hall

TWI

Page 5: ECE 477 Final Presentation Team 03 - Spring 2013 Ryan Pawling Spencer Julian Josh Hunsberger Robert Harris.

Design Challenges• Sense small game pieces at up to 145 specific

locationso Hall Effect sensors spaced properly on large

PCBo Magnetic pieceso Multiplexed signals

• Track and automate trading of resourceso Web application to be multiple device friendlyo Raspberry Pi to act as low-cost web server

• Display a randomly-generated game boardo Color of RGB LEDs denotes resource typeo Seven Segment displays denote rarities

• Create random numberso Random numbers generated by the Raspberry

Pi and microcontroller system clock

Page 6: ECE 477 Final Presentation Team 03 - Spring 2013 Ryan Pawling Spencer Julian Josh Hunsberger Robert Harris.

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 decko Only allow 25 cards to be drawno Appropriately weighting the cards

• Web application speedo Original CGI based application incredibly slowo Updated to WSGI and significant amount of

Javascript

• Communicationo Communicate between microcontroller and

Raspberry Pi via I2Co Microcontroller acts as EEPROM slave to

Raspberry Pi

Page 7: ECE 477 Final Presentation Team 03 - Spring 2013 Ryan Pawling Spencer Julian Josh Hunsberger Robert Harris.

Joshua's Contributions• Suggested the original idea

• Hardwareo Built Early Prototypeso Estimated Power Requirementso Created Circuit Schematic

• Researched Patent Liability

• Plotted High Level Flowchart

• Microcontroller Programmingo Test Functionso Board Resource Generationo Dice Rollo Piece Placement Legalityo Longest Roado Raspberry Pi Communication

1

123

14

Page 8: ECE 477 Final Presentation Team 03 - Spring 2013 Ryan Pawling Spencer Julian Josh Hunsberger Robert Harris.

Spencer's Contributions• Suggested use of Raspberry Pi and Operating

Systemo Tested alternative boardso Tested alternative linux distributionso Set up raspberry pi for use

• Found and tested functions during microcontroller testing

• Assisted with flowchart creation and layout

• Designed and developed original web interfaceo HTML5 and CSS3 Frontendo Python 2.7 backend converted to Python 3

• Developed most of the backend of the version 2 web interfaceo Ported into skeleton structureo Assisted with front end design and

development

• Created parts of the packagingo 3D Printed hexagons

Page 9: ECE 477 Final Presentation Team 03 - Spring 2013 Ryan Pawling Spencer Julian Josh Hunsberger Robert Harris.

Robert's Contributions• Initial prototyping of LED drivers

• PCB Layouto Hand routed 20.5"x16" PCB with hundreds of

componentso Trace width calculations for extremely long

traces

• PCB Populationo Soldered many componentso Debugged and fixed errors in the PCB

• Package Construction

• Web applicationo Styling of web application user interfaceo Back end (Python) and front end (Javascript)

programmingo Porting of web application to "bottle"

framework

• Project video

Page 10: ECE 477 Final Presentation Team 03 - Spring 2013 Ryan Pawling Spencer Julian Josh Hunsberger Robert Harris.

Ryan's Contributions• Prototyping

• Packaging design considerations

• Test code written for all interfaces

• Populating PCB

• Packaging construction

• Flowcharts and game logic

• Microcontroller softwareo Low-level functionso Check for legal piece placemento Main game loopo Relational Map of all positions on the boardo Updating the board state

• Debugging Micro and Pi communication

• Project Video

Page 11: ECE 477 Final Presentation Team 03 - Spring 2013 Ryan Pawling Spencer Julian Josh Hunsberger Robert Harris.

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.

Page 12: ECE 477 Final Presentation Team 03 - Spring 2013 Ryan Pawling Spencer Julian Josh Hunsberger Robert Harris.

Summary

• Hackers of Catron is an electronic version of Settlers of Catan®.

• Large PCB emulates physical boardo Hall Effect sensors detect pieceso RGB LEDs and seven segment displays show

generated game board

• Communication between Raspberry Pi and Microcontrollero Uses I2C for communicationo Microcontroller acts as EEPROM Slave to

Raspberry Pi

• Raspberry Pi hosts web server and acts as Wi-Fi Access Pointo Web application allows players to see/use hand

and score

• All success criteria met