In order to build wearables that react to movement, most people tend to reach for accelerometers, gyroscopes, and flex sensors. But due to their higher cost, one of teacher Gord Payne’s students wanted to create a low-cost alternative that could be easily sourced and integrated into projects.
A typical glove with finger movement tracking normally incorporates flexible strips, which vary in resistance based on the extent of their deviation from the starting angle. By reading this value with an Arduino board’s analog-to-digital converter (ADC) and mapping the resistance with a formula, the total angle can be found with decent accuracy. The student’s idea, however, substituted this special material for a flexible tube that has an LED on one end and a light-dependent resistor (LDR) on the other. When kept at the starting position, all of the light from the LED is able to hit the LDR, and any bends introduced from bending the tube cause less light to reach the other side.
After performing a few test runs to determine the exact mapping of resistance values coming from the LDR compared to the angle of the finger, the student’s code could accurately calculate the angle based on a simple formula. To demonstrate this project, a servo was connected to the microcontroller and made to mimic how the finger is moved.
More information can be found here on Payne’s Hackaday.io write-up