Sunday, February 27, 2011
The Final Arduino Kitchen Timer
Kitchen-Timers have a durability which is only slightly bigger than the warranty of the device. It doesn't matter if you buy a cheap one or an expensive. They initiate self-destruction after one year (IKEA, WMF, Zyliss, No-Name... I tried them all) . That's just my personal experience and this is also the reason, why I decided to build my own kitchen-timer.
...and it's name shall be "The FAKT".
I could not find a suitable solution for me on the web, so I have to engineer by myself this time.
Because I didn't want to reinvent the wheel, I choose Arduino as suitable platform. There are enough libraries and documentation and examples available. The board is cheap and very friendly for prototyping.
My requirements for the FAKT are:
- Simple to use with just one rotary-encoder and a LCD-display
- A loud beeping-tone or a melody indicates when the time is expired
- A low power-consumption
- Small dimensions
- Simple to build
- Simple to code. Reuse as much code as possible.
- Cheap hardware
The first firmware-version is working fine, but there are still some open issues. Power-saving should be implemented and my inner-voice told me to switch to an 3.3V-based Arduino-board. I think I will do so. Otherwise I have to destroy my Uno and I don't want to do that. I'm thinking about an Arduino Pro Mini. This will make it also fit in a smaller housing.
The LCD was surprisingly easy to integrate. I used an existing library called DogLcd.
The rotary-encoder is interrupt controlled based on example code from adruino.cc, but I'm still not satisfied with debouncing and step-regognition. Sound is played via two PWM-pins to get a higher volume. This is not optimal and I have to find a different solution, if I switch to 3.3V power-supply.