Blind Cycle - Final Report
by Felipe Astolfi, Matei Szabo and Thiago Elid
This project was aimed at creating a physical interaction of a player with a Arduino powered system. Several options were evaluated before we settled on the virtual biking concept which had prominent aspects of physical interaction and player location. Expected challenges were that the setting up of the equipment on the bicycle would be tricky, the sensor would be unpredictable or difficult to work with and that the programming part of the project would be too advanced. We feel that we have overcome these challenges as best we could and have created and interesting experience.
The setup for installation consists of a racing bicycle mounted on a stand (on which the user can pedal and steer the bike), two Arduino’s, two speakers, two LEDs, two LDRs, a Hall effect sensor and a potentiometer. The potentiometer and hall effect sensors are used for steering and wheel rotation measurements. The two LEDs modulate the resistance of two LDRs and thereby change the output level of the two speakers and creates intervals of silence in the sound to indicate proximity to the checkpoint .
These speakers are placed to the right and left of the bike and lead the player towards the virtual target. The goal is to bike towards the sound as if the target is emitting it. If the player has to adjust his/her steering to the right the sound will be played only from the right and vice versa for left. As the player gets closer to the target the intervals of sound become more frequent. The player moves through a virtual track by riding the bicycle and it’s position is calculated in real time.
Because of known problems by generating sound we used 2 different Arduinos, one to gather the information from the hall effect sensor and potentiometer, and calculate the position of the bike and checkpoints in the virtual parkour. The second Arduino controlling just the sound sending the which generated the sound with a mozzi library, to produce a better quality sound. The computing Arduino controls the blinking of two LEDs. Each LED is placed in a separate box with an LDR connected to the audio input and output of the second Arduino. Each of the LEDs/LDRs control the two different speakers, which are turned on and off according to the relative position of the player to the checkpoint and with different intervals according to the distance the rider it is from the checkpoint.
The first problem we faced was the difficulty of using the same arduino to control the sound based in the information collected by the sensor and potentiometer, and we solved it by using the second arduino bound only for the sound.
When it comes to coding, none of the members of the group had extensive experience with programming, so it was the part we had to dispose the most of our focus and time. So to code the information from the potentiometer with the revolution counter, and translate that to make the navigation in the 2D space without visual aid and express that through the blinking of the LEDs was tricky and time consuming.
Although we managed to accomplish all the codes, but we still have one bug occurring during the biking process. For some reason when approaching the checkpoint, sometimes it changes this point to behind the rider. Because the navigation is based in sound is difficult for the rider notice that the checkpoint changed to a wrong direction from one moment to another.
Our aim was to create a project that was “useless” at first sight but it could somehow relate to something real and beneficial at some extent in the future. This project opens up new opportunities to keep developing and improving the usability and the auditive perception. Could be tested different kind of audio libraries, sounds generated by us, or even recorded sounds. The project could have more focus in test in the cognitive games and also the possibility to improve to be used by people who suffered severe visual impairment.