I have made significant changes:

This version of the code reads the values that are determined from your fingers better. It is also has a simpler implementation. 
-Alex Opalka