P.Com Final Documentation
END BILL OF MATERIALS FOR BLUETOOTH
2x Arduino Micro
2x Adafruit Bluefruit
6x RGB LED
1 sheet of laser cut translucent acrylic 1/8”
1 sheet transparent acryllic 1/8”
2 bamboo boxes
1 sheet of brown suede
6 FSRs
RGB MIX is a video game played using a specialized controller to help people understand digital color mixing. Different from print, digital screens use reflective colors to mix and create all color we see in the digital realm, this game is designed to help people come to understand how colors react with each other and how designers use RGB color pallets while creating work. The finished project consists of two bluetooth controllers that can interact with either a tablet, or computer version of the game.
Technically the project ended differently than our original proposal. After trouble shooting various bluetooth methods we settled on using an Arduino Micro with the Adafruit Bluefruit adapter. There were some things to troubleshoot with this combo, most notably having to adjust the code on the Arduino, by replacing all instances of “Serial” with “Serial1” in the Arduino code we were able to get it to communicate via bluetooth while using handshake serial communication, though there were still some kinks while getting it to successfully work. One issue that was found is that the micro controller will only send a signal (a call) to the computer the first time contact is initiated, if the first instance of communication is closed the Arduino must be power cycled for it to send another call, this bug was difficult to discover, but now that it’s known we are able to keep it in a working state.
To see examples of the Arduino code click here, for the serial communication code in the processing sketch click here.
While building the new controllers we sealed the FSRs between two layers of plastic with acrylic cement, this guaranteed a stable seal. To cover the FSRs we are currently using suede, but may switch to thinner suede or felt in the future to provide more feel. After experimenting with multiple different kinds of rubberization user testing told us they dampened the firs too much and did not provide accurate feedback while playing the game.
In the game code we played with different algorithms, the biggest change we made was adjusting sensitivity on the fly as people play, by dampening the sensitivity of the pressure sensors as the user came closer to the target value we were able to make it slightly easier for users to hold specific values, making a very hard game a little easier.