Download presentation
Presentation is loading. Please wait.
Published byFelix Barrie Butler Modified over 6 years ago
2
Scott Frazier-CpE Ryan Rivas-EE Louis Mason-CpE Steffen Sutton-EE,CpE
Group 33 Scott Frazier-CpE Ryan Rivas-EE Louis Mason-CpE Steffen Sutton-EE,CpE
3
What is CyberChess? CyberChess is an autonomous, speech- controlled chess board designed to allow two players to enjoy an aesthetically appealing game of chess entirely through spoken commands.
4
Motivations Interactive Experience PCB Design Speech Recognition
Enjoyment Graduation
5
Goals Chess pieces appear to move by themselves Speech controlled
Chess game rules engine Audio output system LED Matrix Chess clock
6
Requirements The game will... 1.
...provide game feedback via audio and lighting 2. ...allow any move to be completed autonomously 3. ...be able to set up the chess board automatically 4. ...display possible moves (via LEDs) if a user asks for them 5. ...display a visual countdown for modes with timers 6. ...have a specific startup sequence for lights and audio 7. ...have a specific shutdown sequence 8. ...have a flat see-through surface so LEDs can sit underneath the squares.
7
Specifications Complete any move in: 10 Seconds
Set up board from start in: 5 minutes Save and load: 1 game Weigh no more than: 25 lbs Sounds audible from at least: 2 feet No larger than: 4 x 3 feet Automatically turn off after (prolonged inactivity)
8
How to Move Chess Pieces?
Individually motorized pieces controlled by RF signals (Requires 32 separate electromechanical systems) Mechanical arm above board (Chess pieces do not appear to move on their own) XY-plotter beneath the board, with magnet to grab chess pieces (Move execution time may be fairly slow, but cost and workload are reasonable)
9
Requirements for the XY-Plotter
|____________________________| 12 inches 2 stepper motors (left) 1 servo motor (right) Linear motion kit (vex racks, sprockets, sliders) - Wood and screws for structure - Electronics/software to control motors
10
Additional Systems LED Matrix - An 8x8 RGB LED array (one for each square) used for visual effects. Also, the LEDs will light up to indicate possible moves for any piece specified by the user. Chess Timer - Players can use this optional feature to play timed chess games in a few different styles. Two 4-digit 7-segment displays (one for each player to see) will be used to show time.
11
i3 Mainframe Will be used to interface with the final PCB via USB-to-Serial connection. The CyberChess audio system will be directly controlled from the mainframe. Speakers Microphone All custom software engines will run on the mainframe
12
General Hardware
13
Microcontroller MCU ATMega2560 ATMega1280 ATMega328 Flash (KBytes)
Pin Count 100 32 Max Operating Frequency (MHz) 16 20 MAX I/O Pins 86 23
14
Motors Stepper Motor ROB-10846 Pololu Adafruit Steps/Rev 400 200
Supply Voltage 3V 3.8V 12V Servo Motor ROB-09064 HS-81 Sec/60Deg 0.16 0.11 Supply Voltage 6V 4.8V
15
Motor Driver Stepper Motor Driver DRV8834 A4988 ROB-10267
Microstepping 32 16 8 Supply Voltage 3.3V 5V 8V Price Sampled $9.95 $14.95
16
LED Matrix
17
LEDs Multiplexed LED Array (Darlington Array) 24 pins from MCU
MCU provides current through rows LED driver sinks in current through columns and adjust color using BC
18
LED Driver LED Driver TLC5952 TLC5940 AS1112 # of Channels 24 16
Data transfer rate 35 MHz 30 MHz Channel drive 35 mA 120 mA 100 mA Supply Voltage 3 - 5 V V Price Sampled $5.95 $1.49
19
Chess Clock Display
20
Chess Clock Multiplexing
The ATMega 2560 activates the transistors in order to allow current through certain digits. The BCD to 7-segment decoder outputs the the connections corresponding to the given BCD numbers (0-F [hex]). By turning on and off transistors, the four digits can be multiplexed such that each digit is active 1/4 of the time.
21
USB Controller ATMega16U2 FTDI Pins 44 28 Interfaces UART, SPI UART
EEPROM 512B 1024 bits
22
Microphone Minimum Frequency Response: 100 Hz
Maximum Frequency Response: 5 kHz Microphone Sensitivity: -54 dB
23
PCB Schematic
24
Development Board Arduino Mega 2560 Arduino Uno Operating Voltage 5V
Digital I/O Pins 54 14 Analog Input Pins 16 6 Flash Memory (KB) 256 32 SRAM (KB) 8 2 EEPROM (KB) 4 1 Clock Speed (MHz)
25
Arduino Mega 2560
26
General Software
27
Development Tools Arduino IDE Basic error checking
Simple compilation and uploading Text Editors VIM Notepad Simple, clean, and straightforward
28
Board Representation Array of 8 rows
Each row represented by one 32-bit int Each nybble corresponds to a spot Board acted on with bit-twiddling: value: (board[rank] >> (file << 2)) & 0xF unset: board[rank] &= ~(0xF << (file << 2)) set: board[rank] |= (newValue << (file << 2)) All necessary interaction can be composed from these atomic functions
29
Chess Engine Move execution: Check detection:
Iterate through each spot on board Attempt move from current spot to each King
30
Chess Engine Data Structures
31
BMSE (Board, Movement, Sound)
Maintain synchronous gameplay experience Control motors, lights, and sounds Execute movements along square edges Potentially optimize to move diagonally through empty spaces Utilize Arduino's simple pin API
32
BMSE (Board, Sound, Movement)
Sounds startup.mp3, shutdown.mp3 newGame.mp3, gameOver.mp3 gameSaved.mp3 gameLoad{ing,ed}.mp3 pauseGamePrompt.mp3 endGamePrompt.mp3 resignPrompt.mp3
33
Speech Recognition Audio waveforms split into utterances and paired with the closest match Utterances audio chunks between pauses
34
Speech Recognition Options
PocketSphinx Android Microsoft Speech API Coding Language C Java Visual Basic/C# Language Support English Chinese French Spanish German Russian New languages always being added Simplified Chinese Japanese
35
How PocketSphinx Works
Acoustic Model Acoustic properties of each senone Specific to Language (English) Language Model Used to restrict word search Created with CMUSphinx Toolkit Phonetic Dictionary Mapping from words to phones
36
Speech Recognition Engine
Makes use of PocketSphinx Library Converts spoken commands into text Parsed and sent to appropriate program
37
SRE Commands “[Piece Location] to [New Location]”
Action “[Piece Location] to [New Location]” Executes requested move. “[Piece Location] possible moves” Lights up possible moves. “Pause Game” Requests opponent's confirmation. “End Game” “New Game” "Draw" “Resign” Requests current player's confirmation.
38
SRE Flow chart No *Checked with Chess/BMSE Engine Yes
39
Bootloader ARDUINO MEGA to be used AVR ISP (In- System Programmer)
Connected to AVR Using SCK, MISO, MOSI, RESET, GND, VCC Serial Clock Master In Slave Out Master Out Slave In
40
Power Supply Power Supply Voltage Range: Servo motor 4.8 - 6V
Stepper motor 3V LED driver 3 to 5.5V Motor driver 2.5 to 10.8V ATmega2560 4.5 to 5.5V
41
Enclosure 4' x 3' x 1' Hinged side for hardware access
42
Administrative Content
Current Purchases QTY Description Part Number Unit Price Total Price 1 ATmega2560 ATMEGA CU Sampled 2 Bipolar Stepper Motor ROB-10846 $16.95 $33.90 Dual Bridge Stepper Driver DRV8834 Servo Motor ROB-09064 $12.95 24 channel LED driver TLC5952 Gear Kit $12.99 3 (2 pack) Linear Slides $14.95 $44.85 (16 pack) Vex rack gear $19.99 $39.98 74 RGB LED's COM-10866 $0.86 $63.64 7 Segment LCD Display FE0202 LCD Panel Driver ICM7211AMIPLZ $1.33 $2.66 Miscellaneous (Wood, screws, etc. ) $20.00 Money Spent to Date: $208.66
43
Administrative Content
Items Left 1 Enclosure $150.00 Arduino Mega 2560 $59.99 PCB $30.00 Remaining Cost: $239.99 Expected Total: $448.65
44
Workload PCB Chess Engine Enclosure BMSE SRE Movement System
LED Array/Chess Timer Louis X Ryan Steffen Scott
45
Administrative Content
46
Problems and Concerns ARM to ARDUINO Movement system fast enough?
Magnetic pulls and buffer space
47
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.