My father, during his work, need a timer that inform him when a certain amout of time is passed. So I decide to build a timer that can do this.
SpecificationsI started from this specifications:
- Timer is used at 90% to count 5 minutes
- I don't have battery issues since the timer is turn-off when it isn't used
- I need at least a button to start the couniting and another to change the time
I don't have a lot of constraints so the general rule for this project is make a timer that is easy to use and works well!
I decide to use the Microchip Studio (MS) to program Arduino Uno because I will work with internal registers, interrupts and timer so I think MS works better with this "low level" language than the Arduino IDE.
Block Diagram of the SoftwareSince I will use two external buttons I decided to create a system that eliminates the bounces of the buttons. I use the famous NE555 as a monostable to do this.
The circuit is the following:
I add a pull-up resistor for the button so when the pins 1 and 2 are short-circuited the IC send a pulse to Arduino through B1. The length of the pulse depnends on R7 and C6, in particular the output pulse duration is approximately 1.1*R7*C6.
DisplaySince I use a 4 digit display, I use the technique of multiplexer to visualize the numbers. In few words: the microcontroller turns ON only one digit at time for a very short time (5ms), since our eyes need a small amount of time to delete the image on the retina we see all digits turn on at the same time. This can be seen as an affect of "human aliasing".
PCB & Final result
Comments