“Each player wears a glove (there are two gloves for two players) and uses hand-motions to play a chess application. The chess board graphical user interface is generated using MATLAB, which receives information from the player’s gloves through a serial connection with the microcontroller, and updates the game appropriately. As such, when a player tilts his hand in a certain direction, the cursor on the computer screen moves accordingly,” the Cornell students explained.
“Since the glove also has contact sensors in the form of copper strips on both the thumb and pointer finger, pressing these two fingers together simulates picking up or dropping a piece at the location of the cursor. The goal of our project was to simulate the physical motions involved in playing chess without the need for a physical chess set.”
Essentially, the contact sensors simulate a button click. As noted above, pressing the pointer finger and thumb together creates an active-low signal that is sent to the Atmega1284 microcontroller.
“The x-data and y-data from the accelerometer are [then] sent to an analog-to-digital converter in the microcontroller. The microcontroller transforms this information received from the gloves to update the cursor coordinates,” the students noted.
“The [MCU] also handles the state of the chess game, maintaining and managing a wide array of state information needed to update the game. The microcontroller continuously creates packets containing the cursor coordinates and other state data and sends them off to a MATLAB application using serial communication. MATLAB requests these packets and parses them to decide how to render and update the graphical user interface (GUI) representing the chess board.”
In addition to Atmel’s ATmega1284, the virtual chess project was built using the following components: 3-axis accelerometer module, white board, target board, small solder board, header pins, power supply, push buttons, gloves, copper strips, voltage regulator, potentiometer, wires, resistors and capacitors.