High intensity led clock

My goal whit this project is to create a wall clock whit big numbers, around 10cm in height, it should be able to set the time, date and hopefully an alarm later on. This far into the project i have managed to achieve most of my goals.
It consists of:

  • One atMega168 running at 16Mhz(Just like Arduino)
  • 80 red high intensity leds
  • A real time clock from NXP Semiconductors (PCF8563)
  • A 40x2 LCD display
  • Three 74HC595 ics
  • A lot of random stuff like resistors, diodes, buttons, wires and other stuff…

Oh before i forget, click on images to get bigger versions :smiley:

There’s a lot of stuff missing form this photo, all the wiring to the lcs(Currently using 4-bit vertion), buttons for input(Simply Up, down, select and back), I will update this photo once i get my camera back from my girlfriend :stuck_out_tongue:
Some stuff worth mentioning is the photo resistor located bottom-left, I use it to change the intensity of both the leds and the lcd, i.e if it’s dark in the room the intensity will be reduced a lot.
You may also notice the variable capacitor to the RTC, this is used to fine tune the time, I can get it to run at about ±2 sec a week by some rough adjustments, I’ve heard people got it to run as little as ±1 sec a year. I will most likely make a software solution for this later on… (If you got any ideas please tell me :P).


Here you have the back of the led display, you have the three 595 ics and four fetmos transistors, and some resistors, thats actually all you need at the display.
The led display is using timer2 to create a interrupt at 12800Hz, this enables me to update each number 100 times per second, whit 32 intensity levels. (100 * 32 * 4 = 12800)


Close up of the 595 ics…


Here you have the front of the display in action. I know it looks like the numbers are hardly visible, but trust me, they are really bright. I’ll try to get a better one soon…
Notice the Diecimila standing next to the display for comparison, so now you can pick up your Diecimila and really imagine how big the numbers are.


This is the display late(?) at night, not much to say, it looks nice :smiley:

Hope this have given you some inspiration, I will post the code and some more images later on as the project goes on, right now I’m trying to fix the user interface on the lcd, so that the user may set time, change led intensity parameters, alarm and so on…

If you have got any questions at all please, don’t hesitate to ask!

/Jon

That's cool, I've been wanting to do something like this for a while. I might just have to order a small pile of LEDs now :) The paper diffuser is a good trick.

I never really understood the seperate clock module trend. [searching...] Looks like Mem didn't either: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1211215328/6 I would think, with a little calibration perhaps, a 16mhz arduino could keep track of time.

My arduino LED clock, code included (no RTC module, uses a 32.768kHz watch crystal)

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1206916512

software solution, any ideas Ethernet connection, eg http://www.ladyada.net/techproj/aether/index.html , have the code connect to an ntp server every week or so.

Thanks for your replys... I think the main disadvantage to use software rtc is that a atmel can't run as long as a dedicated chip on backuppower, the RTC uses almost no power, I've heard that one single battery can supply the chip for something like 7 years, thats alot of time, and since arduino/atmega don't even come close to that I like the RTC chip. Another thing whit the PCF8653 is that I pay like $2 for it and is really easy to interface whit. If I had used software RTC I first had to code everything, maby even use a seperate chip to run it since the current code is really stretcht to the limit, and I propably hade to use another atmega in the end, and since a new atmega cost about $9-$10 in sweden thats pobably a bad idea. However I have been thinking about creating a software vertion that run on a dedicated attiny, this would have some big advantage like the ability to correct the clock speed using software and so on...

I like the idea of using ethernet to keep time, however those chips looks really expencive and probably really hard to get hold of in Sweden, maby some samples would be posible... Even then the extrem tiny SMD soldering problem remains... Another solution is to use radio controled time or whatever they are caled, you know what i mean, those big towers that broadcast the current time, there's one in Germany, UK, US and some other places. This is actualy a really good solution that might work...

/Jon

Yah. a $50 ethernet adapter, too much for a clock.

BTW, all my clocks blink 12:00 after a power outage. Though trialex, if it is on USB power then it would be fairly trivial to have a little PC application that can send the right time out the com port and have the clock read it.

That's cool, I've been wanting to do something like this for a while. I might just have to order a small pile of LEDs now :) The paper diffuser is a good trick.

I never really understood the seperate clock module trend. [searching...] Looks like Mem didn't either: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1211215328/6 I would think, with a little calibration perhaps, a 16mhz arduino could keep track of time.

Thanks for reminding me, I finally got around to documenting and posting the library in the playground, you can find the writeup and code there http://www.arduino.cc/playground/Code/DateTime.