CountClock Hours Only Prototype is a very basic clock that is perfectly suited for learning the first step of telling time: the hour. It displays, in a cumulative way, the hour. From 1:00:00 until 1:59:59 a single LED is highlighted, from 2:00:00 until 2:59:59 two LEDs are on. And so on and so forth. It's true that it is not a very accurate clock: but good enough for many young children. The concept of the cumulative hour indicators was confirmed to work as expected: kids take it up swiftly.
In the pictures above the time is 9 o'clock.
CountClock Hours Only Prototype does not have multiple learning steps, it only shows the number of hours passed. Its only `feature' is that the LED intensity can be controlled and dimmed by controlling the LED frequency.
The control of the LEDs is being done by an Arduino board with two shift registers attached and a potentiometer for dimming. Power comes from a rechargable 900 mWh battery and is enough for 48 hours.
For the CountClock multiple Instructables were compiled. A Meta Instructable is the actual starting point for quickly overviewing the full series of Instructables, available here: https://www.instructables.com/id/CountClock.
The next Step shows how to tell time from CountClock Hours Only Prototype.
Step 1: Telling the Time From CountClock Hours Only Prototype
The time lapse video presented above shows CountClock Hours Only Prototype (at the right side) in operation, next to a normal analog clock (left). It is clear that the CountClock only provides an approximate time, which is some cases may be precise enough, certainly for younger children. The clock has been programmed to add the next hour LED when the the full hour begins (for example two LEDs are on between 2:00:00 and 2:59:59).
Alternatively, an "average time" could be opted for (for example three LEDs are on between 2:30:00 and 3:29:59) but that doesn't add precision and therefore hasn't been foreseen in the Arduino programme code. Explained in words when two LEDs are on: the current design shows in that case that "it is after two o'clock" (and before three o'clock). The alternative average time mode would in that case mean that it is "around two o'clock" (two o'clock plus or minus half an hour).
The next step shows CountClock Hours Only Prototype during the night.
Step 2: CountClock Prototype at Night
The functioning during the night is similar to the day mode, with the only difference that at night the LEDs preferably are dimmed. The time lapse video presented (pictured is the CountClock Hours & Minutes Prototype, but the sight is similar for the Hours Only variant) above the CountClock during night (at the right side, a normal analog clock at the left). The cumulative aspect of the clock is a key necessity during the night; would only the hour LED be highlighted (i.e. the fourth LED at four o'clock) it is very difficult to discern its relative position on the dial when there is no further light in the room.
The next step reports on the making of CountClock Hours Only Prototype.
Step 3: Making of CountClock Hours Only Prototype
The animated picture above shows a number of pictures of how to make the CountClock Hours Only version hardware. The control of the LEDs is being done by an Arduino board, here the Sparkfun Arduino Pro. Although not strictly needed (only twelve LEDs were to be controlled, and Arduino boards with more than 12 ports do exist) opted was for controlling the LEDs with two shift registers. Motivation was to get in shape for CountClock Hour & Minute Prototype, where 72 LEDs were to be controlled. Lessons learned in the making process and that are worth sharing are listed below:
- Which shift register to use? Shift register 74HC595 is often cited, but there are other chips (from different manufacturers) that do the same.
- In order to control more than 8 outputs it is possible to put the shift register in series: `daisy chaining'. The oldest value that is to be shifted out can be connected to the "data" receiver of a next shift register. The "latch" and "clock" pins need to be shared.
- Dimming of the LEDs by frequency control gives quite some flickering, possibly caused by the time intervals used for dimming in combination with the hardware opted for. Not sure what the reason is. To avoid the flickering resistance-controlled dimming was opted for in CountClock Hour & Minute Prototype (see separate Instructable).
- While working on the back of the clockface for assembling and soldering the LEDs, the obvious error was made to put LED nr 1 on the place of LED nr 11, LED 2 on the place of LED 10 etc. Be warned and mark your LED numbers before starting (see the yellow indicators in the construction of CountClock Hours & Minutes Prototype).
- To operate CountClock Hours Only Prototype cordless a rechargeable battery was used: a 900 mAh LiPo battery including a charge controller. From the battery the clock runs for say 48 hours in dimmed mode. For a prototype this is quite okay, but for a commercial product such a short time-span of operation would not be acceptable. There are basically three solutions for proper powering: a.) reduce energy consumption (always a good choice), b.) opt for a larger battery (8000 mAh was used in CountClock Hours & Minutes) and/or continuously powering from a wall plug adapter (thus omitting the battery and reducing costs).
- Reducing power consumption as much as possible was aimed for, therefore it was opted for a 3.3 V 8 MHz Arduino (Sparkfun Arduino Pro). Reasoning behind: the lower voltage drop over the LED accompanying resistance would result in less heat produced and energy lost. Not sure though if this is correct. Another power-saving option would be to switch from cumulative LED mode to single-LED mode or to introduce time-windows with all LEDs off (if you know that at certain times during the day nobody is at home)
- For keeping the exact time, a separate module would be required (a real-time clock, for example DS1307). In this prototyping stage it wasn't really necessary, but with the internal Arduino clock deviating a few minutes every day a reset was needed regularly. In CountClock Hour & Minute Prototype this was solved in the program code by calibration: every hour is adjusted a few seconds.
The next step shows the result of another lesson: the fact that when soldering PCB's it feels like a hand is missing...
Step 4: Spin-off Project: Instant Helping Hand
When soldering electronic components on a printed circuit board (PCB) it is not easy to hold everything in place. An instant pair of helping hands was made on-the-fly, published at Instructables in 2013: the Instant Helping Hand. The picture shows the PCB made for CountClock Hours Only Prototype.
Next, the Arduino source code for CountClock Hours Only Prototype is to be introduced. This is currently not available yet.
Step 5: Source Code for CountClock Hours Only Prototype
The Arduino source code for CountClock Hours Only Prototype will be uploaded soon. In case you really need it urgently, feel free to send a PM via https://www.instructables.com/member/openproducts.
Here the story on CountClock Hours Only Prototype ends. Note that there is a Meta Instructable that introduces all aspects around the CountClock project, see https://www.instructables.com/id/CountClock.
Thanks for reading!
Participated in the
Arduino Contest 2017