Step 13: Possible updates/improvements

I have some updates for this clock that should be posted if I can get them to work...

v1.1 - AM/PM time using a decimal and apostrophe on display

v1.2 - Adding buttons to set time

v1.3 - Blinky colon support, will blink the colon every second (like some clocks)
UPDATE! Blinky colon support (read through code to see how)

v1.4 - 24 hour clock configuration
UPDATE! 24 hour clock supported. Read code for details

v1.6 - Possible seconds addition, using another 2 digits, making it a 6 digit display

v1.8 - RTC support (I have a DS1307 clock chip on order, as well as the needed extra components to get it to work, but it will take me a while to get it and make it work) This will (hopefully) eliminate the timing problems (the display goes a bit fast, testing to try to lessen the effect)

another few updates would maybe include common cathode display support, thus eliminating the need for a specific display, and adding an alarm and snooze.

<p>I've only got 1 transistor :( where do i get more from..</p>
<p>sir,can i use bc547 without using 2n3904</p>
<p>I used only 4 resistor and remove all transistor by reversing the logic of pin d9-d12 HV to LV and vice versa. </p>
<p>Thanks. I have used Cheap Aliexpress Common Anode Version and by simply making a #define ON i was able to switch it from Common Cathode to Common Anode.</p><p>I found several datasheets online but this one makes it perfect.</p><p>Read xtracode.ino bottom for your pins attachment.</p><p>Can someone tell me how to change the code for ( blinking the two leds between number also blinks bottom 3rd led.)</p>
<p>Easyly Add Resistors For It.</p>
<p>Hey there,</p><p>Any updates on making the newest code available? The only version I've found was 1.4, but there is *supposedly* a version 1.8 listed here, which *claims* that it has a lot of neat features, like RTC support. So, whaddya say? Could you post a link to that code please?</p><p>...or did I just have too many dumburgers for lunch today, and am overlooking the link to version 1.8?</p>
<p>What can I do if I have a common cathode display?</p>
<p>junk it and buy a common anode display instead. Way easier.</p>
<p>It was my Halloween costume! Plus I finally got a primer in my Arduino. I even had most of the parts - just needed the LED display, the transistors and resistors. Thanks for posting!</p>
<p>Great project, thank you! I'd like to add seconds and buttons, still learning the code. </p>
<p>please can i have youre code? i need it badly for my project :( </p>
<p>Anyone wanna help me out here please :( My clock doesn't light up one of the segments on the first display ... As can be seen in the video :l</p><p>https://www.youtube.com/watch?v=ALfW0Y3GEqo</p>
<p>I was reviewing your instructable here to see how to modify it for my use (different display) and I found an error which could destroy the reader's Arduino. You are powering the LEDs from the Arduino pins, directly through the common wires. You are supplying too much current through the Arduino Pins and could possibly blow your Arduino Pins. Suggested modification is to use transistors on your digit power pins as well.</p>
I noticed there's a bug, where after the clock cycles a few times, the hour1 digit does not turn off when it's suppose to... Any ideas on a fix?
I found a fix!<br><br>The issue seems to be with counter2<br><br>It sets counter2 = 1, but it never resets it back to 0.. <br><br>I added the code to reset it here:<br><br> if(hour2counter == 25){<br> hour2counter = 1;<br> hour2 = 1;<br> hour1= 0;<br> counter2 = 0;<br> }
<p>Thank you!</p>
ok. Test and see if that works! I think it should :)
about how many cycles? I'll try to take a look through the code. Also- sorry I havnt been keeping up with this. My schedule is shot to heck with school....
<p>I replied to this and then noticed the last time someone responded. :)</p><p>I found out how to add the seconds and make them count up. I used the min1 and min2 for that. only renamed it a bit. I cleaned up the code a bit, as in, i removed everything that had something to do with am/pm because we don't use that here. All the digits are on the Analog port. the rest is on 7 to 13.</p><p>What is the interval for? what does it do? because i set it to 1000 and it run &quot;ok&quot;. 10 minut difference in 24 hours... but i'll find something for that.</p><p>Some pictures are included this time. All digits are 22cm by 12cm.(8.6&quot; by 4.7&quot;)</p>
<p>can i have your code?</p><p>i also live in a 24 hour area</p>
<p>The interval changes the time between the digit changes. So technically 1000 is supposed to equal one second of time, but due to the drift of the internal timers of the Arduino this can vary based on a number of factors (temperature, etc). In my tests I just toyed around with the interval until it started giving me reasonable times. However, interval isn't exactly a great way about going about the whole problem because the timer can drift erratically. The cheapest solution would probably be to rig up a DS1307 RTC chip to it and have it manage the time. You could even do that and probably get away with using the square wave output of the chip and not change the code much. That thing is a beast!! </p>
<p>If you wanted to do that it might just give me incentive enough to wire this whole thing up again and try interfacing a 1307 timer and figuring out the code...</p>
<p>I'm still playing around with it. It made a smaller version on a breadboard so i can easy test it.</p><p>I have a DS3231 RTC module, now i have to try to make the 2 things work together :) I'm learning as i go...</p>
<p>when will the ds1307 version be releced</p>
<p>I'm building this right now! :) so much fun...</p><p>But is there a easy way to add seconds? I've made a 6 digit one. I'll post some pics when there is more daylight.</p>
<p>Jeez... I forgot about this project for a while there! I can't believe it's hit 80,000+ views. That's just insane, especially looking at the code (it's not very efficient, and probably not very well written).</p><p>Looking at the code the way it is (sigh...) it would be possible to add seconds (as long as you have another 7 or 8 outputs on your arduino which you *should* have a few left). If you had your heart set on using the code as it is, I'd suggest doing something like duplicating the code relating to the min1 and min2 variables, but rewrite it with seconds variables. Then change the interval to ~6,000, and have it increase the seconds variables rather than the minutes. Add a couple counters to change the minutes when the seconds increases past 59 and you *should* be good to go. Oh yeah, and add outputs for the seconds LED segments. </p>
<p>Thanks so much for this Instructable! I just got into Arduino, and and looking for projects and wanted to make a clock, but still need some guidance before taking it on solo. Exactly what I needed and very well done!</p>
<p>Can you please send block diagram to nandhu.srly@gmail.com</p>
can you give me to this clock diagram
Very nice clock. One rather simple update to make it more accurate would be to use the millis function which return the number of milliseconds that has passed since the Arduino began running. Millis%60000 would then give you the elapsed seconds, millis%(60*60000) would give you the elapsed minutes and millis%(12*60*60000) would give you the elapsed hours. Then you can add these elapsed times with the clock time when the arduino was turned on (this is determined when the user 'sets' the clock at power up). The only other problem is the millis clock rolls over to zero after it hits it maximum value (after about 50 days) and you could detect this and correct for it. Using this approach you wouldn't need to update counters, etc. <br> <br>Just a thought. <br> <br>Best Wishes.
Hey- Thx for your comment :)<br>To be honest I completely forgot about the millis function :)<br>I'll start working on a version with that in it, see if I can get it to work the way you described. Also will be working on blinky colon and 24 hour time, so the next version might have all three in it. <br>
Ok I got the code running with millis() (it was a lot easier than I thought, I pretty much only copy pasted the example from Arduino and changed it around a bit)- working on the 50 day reset counter problem and I'm gonna let it run for a couple hours just in case :) Then I'll upload the code (I'll mention you in my 'ible too :) )<br>Thanks for mentioning it, it's so much easier than what I had before!
Hi Astroboy907,nice work. can you publish the newer code with the millis, also did you ever added the RTC into the clock? <br> <br>tnx <br>Amos
No real need to mention me since you're doing all the work :-) but I do appreciate the thought!<br><br>Best Wishes,<br>Mark
what do i have to modify to work with common cathode display <br>
very thanks for this great project . <br>but just I have question <br>Is it work with parallel Linux or processing ?? <br>if it's not can I make this clock with parallel Linux ? <br> <br>Best regards: <br>Lolo
If the arduino IDE is available for linux distribution (which I think it is at arduino.cc), than yes, it is.
Enjoyed the build. Thanks much for the project. Good luck with school.
Thanks... its pretty accurate for the internal clock, but eventually I am going to have to get a clock chip on it... My next project is a watch (why is it that I only build clocks and time-devices?? Odd..) and I will want a clock chip on it, so I suppose I will develop this software with it... I kinda forgot about this and have not updated my stuff in a while.
Hi.<br>Is a good project but i search v.1.8 clock + RTC/Ds chip <br>Ok for singe full file code .pde or txt (for Software Arduino V.1) .<br>Please Link download.<br>Regards.<br>Eu.
I have not built version 1.8 yet, as I am very busy with school. As for now I do not have the time to write it.... So sorry!! I will try this summer when I have extra time...
Hey everyone, sorry for the delays in updating, stuff keeps on coming up, and I came down with something and am not feeling 100%. Hope to update soon though :) Sorry for any inconvenience this causes.
sorry for replaying here and thanks for this great project <br> <br>sorry again but i need you immediatehelp ,, can you please tell me if it possible to replace the arduino with a microprocessor?? <br>coz i'm working on my first hardware project and i'm requested to use a microprocessor and i like your project very much <br> <br>if you have any advice or suggestions <br>for me i would be happy to know them <br> <br>please help,,too much nerves
No problem.<br> <br> In short, the Arduino is a microcontroller. I think this should work, but ask if you need a micro<strong>processor</strong>, or a micro<strong>controller. </strong>The arduino is a microcontroller, but I am not sure if your project requires a microprocessor or microcontroller. If it can be either, you can use the arduino. If not, this project should work with a microprocessor. Depending on which one you get, there might be a difference in the code and hardware.<br> <br> -A907
You should totally add a real time clock! 5* I noticed you already ordered the chip, but here is a kit that has all the components for&nbsp; the clock: <a href="http://www.makershed.com/ProductDetails.asp?ProductCode=MKAD19">http://www.makershed.com/ProductDetails.asp?ProductCode=MKAD19</a>
I actually <em>havnt </em>ordered the chip yet :( I was meaning to but my order went crazy and the cart deleted itself. yay. so now I am putting in a new order from the place- will stick a few timers in there- btw, what timer do you think I should use? I can get the DS1307 or the 1302 timer... Thanks for the input!<br>
If you got the kit above, it would come with the ds1307. I've never used them but this one looks pretty simple to use.
link is taking a while here... will check it out 2morrow
You could go to makershed.com and search for it. Talk to you later! ( ;

About This Instructable




More by astroboy907:Make a giant LED sign! (24x8 Matrix)Flickering LED star!Jailbreak iOS5!
Add instructable to: