I'm trying to make a simple binary clock using various schematics that I've found online as a reference (http://www.instructables.com/id/Full-Binary-Clock/?ALLSTEPS). In the process, I'm trying to also understand the logic and figure out ways to improve the circuit.
I'm very new to electronics and since this project has become a bit more complex than I initially expected, some feedback would be greatly appreciated.
The following parts are used for this schematic:
ATTiny85 - cheaper and seems to have enough pins available for this
2 x 74HC595 - I've used this to control the leds; one used for the rows and one used for the columns
ULN2003 - Darlington NPN array used to control the led columns; I've added this to avoid drawing too much current out of 74HC595 chip
4 x BC558 - PNP transistors, used to decrease the load on the 74HC595 which controls the rows
6 x 330 Ohm resistors - in order to reduce the current passing through the leds to roughly 10 mA
I'm not too sure about the following parts:
Are the 74HC595 chained properly?
Are the NPN transistors setup properly?
I assume I will need to add decoupling capacitors. Should there be one for each chip? (i.e. ATTiny85, 2 x 74HC595, ULN2003) What would be a good value? 0.0uF?
Will this work? Do you see any issues with the circuit? Can it be simplified further?
(see the attachment for a schematic)
I didn't get the chance to write the "software part", but I'm planning to light a row at time (very fast) and control the leds using shiftOut.
It is very difficult to guess at your problem... If you had 1.read the sticky note at the top of this forum section you would understand what is the minimum information required for an answer that applies to your code and your wiring...
Thanks Doc for taking the time to have a look. As I've mentioned before, I'm quite new to electronics and this forum, thus I may miss some details which are essential.
I've modified my post with extra details. If there's anything else that I should add, please let me know.
chris83:
ATTiny85 - cheaper and seems to have enough pins available for this[/li][/list]
Will this work? Do you see any issues with the circuit? Can it be simplified further?
Hi Chris,
Your design has lots of opportunities to learn about shift registers, driver transistors, ICSP programming etc, which is great. But it could be simpler and cheaper! Using an ATtiny85 might seem like a cheap option, but when you add in the cost of the other ICs, you probably could have used at ATmega328, which would have enough pins to do what you want with perhaps only those BC558's to help it. Another simpler option would be max7219 as Paul__B says.
Next problem: accuracy of your clock. Relying on the ATtiny's internal oscillator, its not going to be very good! Also, each time you disconnect power/change batteries, the time will have to be re-set. You could use an RTC, such as DS1307 or better still DS3231.