I’ve two offices, so I’m requiring two of this timers.
The second one I built with a three-digit display and auto-power-down and start with a push-button.
This thing consumes in operation about 20mA, which is a real lot for so few functionality, but most of the power goes into the display. I was looking for a simple LCD on ebay, but it seems that most of the LCD 7-segment display have only one common and one pin for every single segment instead of one common per digit. These are too many pins for the 2553 and I didn’t want to put an additional LCD controller on the board.
However, when the thing goes in LPM4, it only consumes about 0,1uA, as it is written in the datasheet. Very important to achieve this low power consumption: an input pin requires more power than an output pin put into the right level. And of course the reference generator of the ADC needs to be shutdown.
The sources are still available here https://bitbucket.org/wollud1969/teathermotimer, look for the branch
The schematic is more or less the same, just on digit display more and a reset push-button.
To brew green tea you need water of about 75°C. To know that your water has 100°C is easy, you can see that it is boiling. For 75°C you need a thermometer. Then you also need to take care about the brewing time. It should be usually two minutes.
There are such integrated thermometer and timer things on Amazon, but that’s not me cup of tea, I decided to build one on my own. It should run on batteries, it should be small and it should make no noise (for office use).
In between I was reading „Patterns for Time-Triggered Embedded Systems“ from Michael Pont. And afterwards I was curious to use such a simple cooperative scheduler instead of the super-loop, as it is common in the Arduino domain.
I used a MSP430G2553 with 10bit-ADCs, a PT1000 sensor and two seven-segment LED displays.
The code is available at https://bitbucket.org/wollud1969/teathermotimer.
Calculation for measurement: 201609091558_0002
Thank you, Ladyada, for this great display.
But why is TFT CS on pin 10?
Pin 10 is also the SPI CS for the Ethernet shield. Why not, for instance, pin 6:
Carefully lift pin 9 of the level shifter and connect it using a thin wire with pin 6 of the Arduino connector.
And voila, both the display and the ethernet shield is working: