Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
ChessMateCapstone Final PresentationJeremiah SchultzAlex BabiczPhilip LoJason Dahn
What is ChessMate?
An interactive, LED-illuminated chess board that enhances a player's experience by providing various digital board augmentations
● These include multicolor LEDs that illuminate the valid moves for a player when they pick up a specific piece
● ChessMate senses which piece is picked up, computes all of the possible moves that a piece can make based on the game's current state, and displays the moves via colored LEDs beneath the game surface
● Players are provided with a physical representation of their nextmoves beneath the playing surface
Application & Usage
● Designed to help visualize chess moves on the playing surface○ “Middle-man” between player’s thought-process and game-board
● Applicable to players of all skill levels○ Assist new players in learning possible moves for each piece
○ Complement experienced user’s knowledge with visual representation
● Provides visual representation of the entire game○ Does not provide either user with an advantage/disadvantage
○ Move decisions are still made by the user
○ Simplifies the thought process in determining your next move
Development Team
● Jeremiah Schultz (Lead): Move-generation algorithms, button interface design, game-flow design
● Philip Lo: LED driver software development, LED/Sensor enumeration and construction, sensor addressing
● Alex Babicz: Hardware & external peripheral construction, interrupt routines, sensor calibration
● Jason Dahn: SSP interface, Hardware-Software sensor interfacing, piece-tracking algorithms
Design-Layout Abstraction
Simplified Design
IR Proximity Sensors
Vishay TCRT1010
ControllerLPC4088
(Cortex-M4)
Adafruit Multi- Color LED Strip
Game Board Surface
Digital SSP
No electricalconnection
Design Process Overview
● Component selection○ Sensor type (RFID, IR, pressure sensitive), individual LEDs or strips
● PCB Design & Fabrication○ Schematic○ PCB Layout/Artwork
● Hardware development○ Game surface and external peripherals
● Software development○ Move-generation and piece-tracking
● Final Product○ Subsystems combined to produce final implementation
Virtual and Assembled PCB
IR Proximity Sensor
● Infrared Proximity Sensor○ Detects when a piece is on/off a square○ Tweaking was needed to find “sweet spot” detection distance
● Analog output - converted to digital for simplicity○ Inverter performs the conversion from analog to binary○ Binary 0/1 inverter output indicates if space is occupied or not○ Sent as a low/high voltage to GPIO on PCB
● One sensor per square = 64 total○ Common GND/voltage for each sensor○ Unique sensor lead passed through inverter○ Board reads sensors and updates piece location via software
Circuit Diagram:
Digital RGB LED Strip
● Digitally controlled LEDs○ Individually control each LED○ 1 daisy-chained strip for the entire board
■ 2 separate power sources
● LEDs illuminate a possible/valid move○ Valid move - GREEN○ Calibrated square - BLUE○ Eliminate a piece - RED
● 1 strip placed beneath each row○ One LED per square○ Daisy chained connection - serially load bits○ Drive via SSP through software
Snappable ProtoBoard
● Bridges the external and on-board PCB components○ Sensor and LEDs communicate with PCB but are off-board○ Only unique signals need to be sent to/from the PCB
● Simplified connections○ Allows for common GND/Vcc for all sensors○ Placed at optimal sensing and wiring distance beneath surface○ Reduces required number of wires coming from PCB itself
● Debugging is heavily external - simplicity!○ Few components physically on the PCB itself○ Isolate problems off of the board - no need to resolder components
Move Generation and Piece Tracking● Game-state is tracked using a multi-dimensional, array-based implementation
○ Initial positions of pieces are always known○ One move per turn○ Update memory according to each move made throughout the game
● Piece-specific move-generation algorithms compute valid moves for an individual chess piece
○ Individual algorithm for each piece
○ When piece is picked up, processor uses the stored algorithm and game-state to analyze the board and provide user with valid moves
● Button Communicates with the processor to signify when a player has made a decision
○ Allows user to change their mind○ Only reading data from sensors when necessary
LIVE DEMO
Any volunteers?
Game Flow
● Pieces begin in their initial positions as any normal chess game● Player picks up a piece and waits for blue calibration light to appear beneath
that piece’s tile○ Once the tile is illuminated blue, the user presses the button to display their valid moves
● Upon a button press, ChessMate computes and displays all possible moves for the piece chosen by the user
○ User can make a move or return their piece to its original position○ Button press after returning piece to the board to signify end of turn
● Process is repeated throughout the game until a winner is decided○ Normal chess rules as any other game - only difference is the LEDs!
Future Developments & Features
● Completely eliminate button interface to make moves display automatic● Customizable LED colors for players & their respective moves● LCD touch-screen to provide a fluid UI
○ Track pieces taken, player turns, last moves made, turn timers, etc.
● Make use of bluetooth for mobile app○ Allow an advisor to suggest moves, which become illuminated beneath the board○ Allow spectator to view game-state remotely from a mobile device○ Keep game history, high scores, add commentary
Cost Analysis
● Circuit pieces: <$90○ LED Strips, IR Sensors, inverters, protoboards, resistors, wires
● Physical pieces: <$50○ Chess pieces, glass, wood
● Manufacturing: <$400○ Building an individual board
● Prototype total: <$600
● Mass production dramatically reduces costs!○ Mass-manufacturing ~10% cost, components built-in,
physical pieces mass-produced○ Easily marketable as a consumer product
Challenges Faced & Key Takeaways
● Wiring Mess - several wires per component○ Minimum 64 sensors/LEDs for entire enclosure
● “Simplest” features ended up taking longest○ SSP & LED interfacing non-trivial○ Sensor calibration required to accurately sense data
● Start Early & Stay On Track!○ Milestones are crucial to not falling behind
● Redundant paths are definitely necessary○ Touchscreen -> Bluetooth -> button○ Extra GPIOs○ Test headers on important (AKA all) signals
Q&AThanks for tuning in!
We’ll take any questions or comments you have