The assignment for physical computing class was to create a 'stupid pet trick'. Basically, a device that one interacts with physically, that does something.
My original idea was to make a color based combination lock, but I ran into a lot of unrelated trouble and ended up simplifying the project into a sort of 'guess the color' game. If the user leaves the led/ping pong ball on the right color for two seconds, the lockbox activates and either opens or closes.
Problems I ran into: 1) I really had trouble figuring out an elegant way to map the potentiometer reading to the RGB values for the LED. It seems like there should be a smart way to do this, but I ended up using several if-statements and mapping within them, which felt...dirty and wrong. I need to study some more math, clearly.
Second, and way less my fault, the servo.h library for the Arduino messed up my LED's colors. It still worked, but the colors weren't pretty, which was a really big part of this project for me, so I ended up writing handrolling the servo controls, which worked fine. But still, I wonder why setting the a pin for the servo using the library screwed up my LED, even before I attached the motor.