Overview
In this project we built the famous hand game- Rock, paper and scissors using Arduino. Rock, paper, and scissors is usually a two-player game based on three hand gestures mimicking rock, paper and scissors as the name suggests. We have successfully designed and executed this game between computer and user where the computer side is randomly generated, and the user’s gesture is detected using flex strain sensors which are embedded in a glove, which user would wear while playing the game. The computer generates random signal when the user creates a gesture which is detected using an infrared sensor. The game Arduino is programmed so that it determines the winner based on the randomly generated computer gesture and the user generated gesture (sensed using sensors). We have displayed the gestures and the results of the rounds on LCD. We have used two Arduino boards so that the two players can be independent and the wireless communication between Arduino boards using nrf24l01+ communication module was used here.
Motivation
With the fast growth of VR technology, the human-computer interaction devices are no longer constrained to conventional mouse, keyboard, or joystick. More interaction approaches which involve the voice, motion, haptic recognition have been used and will thoroughly change our experience with computers. However, commercial VR systems usually have handheld controllers as the input devices, which are not able to recognize gestures and may restrict your VR experience. Therefore, we want to build a “VR” glove which can recognize some simple gestures and then communicate with the microcontroller wirelessly to play the famous Rock, paper, scissors game.
Methodology
The “Rock, Paper, Scissors” is a two-player game. We have designed the game with the computer versus the user as the player. We have used two Arduino Uno boards here: Arduino1 is fixed on the gesturing glove worn by the user and Arduino2 is connected with the LCD screen and the IR sensor to show the game algorithm - this has been done that the user glove is an independent module. One transceiver module nrf24l01 is connected with each Arduino for wireless transmission. The user would be wearing a gesturing glove- which is a glove with five flex sensors on each finger (sensors are sewn on the glove fingers). The flexion and the extension of each finger are measured by these flex sensors and the ADC values will be read by Arduino1. When the user is ready to make gestures, the gloved hand should be brought near the infrared sensor. When the infrared sensor detects the glove, Arduino2 will send a signal to Arduino1 which will start multiplexed ADC conversion from each flex sensor. These values are then wirelessly transmitted back to the Arduino2 where the MCU recognizes the user's gesture and generates a random gesture for comparison and then determines the winner. The computer and the user gestures are printed on an LCD screen and the winner of the round is also displayed.
What's next
As a future direction, we could extend this 3-gesture game (rock, paper and scissors) to 5 gestures (rock, paper, scissors, lizard and spock) or more. We could also use blynk app or similar to make this an interesting two-user game instead of randomly generating computer gestures. In this project, we powered the user Arduino by a computer. It is possible to make the user module completely independent from wiring by using a mobile power bank or a battery source. Besides, instead of using the Arduino board it is maybe a better option to use Lilypad and conductive wires which would be a better design for wearable devices.
Log in or sign up for Devpost to join the conversation.