xyzio

Binary Clock

with 2 comments

This clock was something I decided to make after I saw this binary clock at ThinkGeek. I figured I could customize it by putting in a decimal display as well as a temperature sensor. Why pay somebody for something when you can build something 2x better for 4x the cost?

The clock is driven by an Atmel ATmega32 microprocessor. The binary display is driven by 20 LEDs, the decimal display has five 7-segment displays. 4 displays give hours and minutes, the last displays A or P to denote AM or PM. The decimal displays are driven by one MC14489BP display driver. A screen shot of the PCB is shown below. The PCB has a programming port compatible with an AVR-ISP built in so the MCU may be programmed.

Screenshot.

The source code is written in C and can be compiled using the AVR-GCC compiler and uploaded to the MCU via an AVR-ISP. The temperature sensor has been wired up on the board but I did not finish writing code for it. The code given below will drive the binary and decimal displays.

Downloads

Everything below is yours to use as you please. I am not responsible for any problems you encounter. This code worked fine when I built the circuit on a beadboard. However, you may contact me and I will try my best to help.

1) C code for the clock.

2) Express PCB layout for the clock.

3) Parts list.

The clock is driven by an Atmel ATmega32 microprocessor. The binary display is driven by 20 LEDs, the decimal display has five 7-segment displays. 4 displays give hours and minutes, the last displays A or P to denote AM or PM. The decimal displays are driven by one MC14489BP display driver.

Update:

I’ve built and designed a 2nd binary clock.  This one display only in binary and also includes Eagle PCB schematics.

Advertisements

Written by M Kapoor

December 24, 2009 at 5:48 am

2 Responses

Subscribe to comments with RSS.

  1. […] I haven’t made significant progress on my ATTiny26 code, but if you wish, you can select the ATMega32 microcontroller/AVR Simulator and try out the code from my Binary Clock. […]

  2. […] based much of the code on a binary clock I made a while back.  I set up timer1 to overflow every 100ms and increment the seconds every 10 overflows.  I […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: