{"id":98,"date":"2018-12-23T17:44:52","date_gmt":"2018-12-23T17:44:52","guid":{"rendered":"http:\/\/pi.peernix.com\/?p=98"},"modified":"2018-12-23T17:44:52","modified_gmt":"2018-12-23T17:44:52","slug":"seven-segment-clock-with-a-atmega328p","status":"publish","type":"post","link":"http:\/\/peernix.com\/?p=98","title":{"rendered":"Seven Segment Clock with a AtMega328p"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In early 2017, I developed some interest in seven segment displays, and in how to drive them. Because of the large wealth of information surrounding the Arduino IDE on the internet, finding a program that could drive such a display proved to be a relatively easy task. Before long, on my breadboard  I had a clock running using a four digit seven segment display. This was done using just one chip: the AtMega328p.  To run a four digit seven segment display such as the one I have, a technique called <a href=\"https:\/\/en.wikipedia.org\/wiki\/Multiplexing\">multiplexing<\/a> has to be used in order to control all of the display inputs, without an equal amount of microprocessor outputs.  The code can be found <a href=\"http:\/\/thecustomgeek.com\/2011\/06\/29\/multiplexing-for-a-7-year-old\/\">here<\/a>.<\/p>\n\n\n\n<a href=\"https:\/\/imgbb.com\/\"><img decoding=\"async\" src=\"https:\/\/i.ibb.co\/7k9V3xR\/2017-04-09-13-48-14.jpg\" alt=\"2017-04-09-13-48-14\" border=\"0\"><\/a>\n\n\n\n<p class=\"wp-block-paragraph\">Prior to this point, I had only a little experience with the PCB design software Eagle, I had designed and etched a couple simple boards based on the MC34063 switching regulator and a battery charger IC. Based on a recommendation from a friend, and also because the free version of Eagle is limited, I decided to try Kicad. To familiarize myself with it, I decided I\u2019d design and etch a board for my seven segment display clock project. The process, once you&#8217;ve had a bit of practice and refined your technique can be quite quick. I also much prefer it to using per-board, although there are advantages to perf-board at times.  The basic process I used is detailed here in this <a href=\"https:\/\/www.youtube.com\/watch?v=tWnfnt2rNO0\">video<\/a>. <\/p>\n\n\n\n<a href=\"https:\/\/imgbb.com\/\"><img decoding=\"async\" src=\"https:\/\/i.ibb.co\/HCtzVYD\/2017-04-09-22-45-40.jpg\" alt=\"2017-04-09-22-45-40\" border=\"0\"><\/a>\n\n\n\n<p class=\"wp-block-paragraph\">\n\nThe final project turned out pretty well. Although there is no RTC (real time clock) the accuracy is pretty good, and doesn&#8217;t seem to really stray significantly.  There is also a button which will demonstrate the multiplexing function by slowing it down, and gradually speeding it up until it reaches maximum speed.  In person the display looks a bit nicer, but a screen cover to diminish the bleeding effect of the segments into those that are unlit might help a little. It was a fun project, and I recommend if you are interested in these displays to try it out! \n\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In early 2017, I developed some interest in seven segment displays, and in how to drive them. Because of the large wealth of information surrounding the Arduino IDE on the internet, finding a program that could drive such a display proved to be a relatively easy task. Before long, on my breadboard I had a<\/p>\n<div class=\"more-link\"><a href=\"http:\/\/peernix.com\/?p=98\">Read More<\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,3],"tags":[10,20,27,43,60],"class_list":["entry","author-datz","post-98","post","type-post","status-publish","format-standard","category-computerwelt","category-electronics","tag-arduino","tag-clock","tag-electronics","tag-multiplexing","tag-seven-segment-display"],"_links":{"self":[{"href":"http:\/\/peernix.com\/index.php?rest_route=\/wp\/v2\/posts\/98","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/peernix.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/peernix.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/peernix.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/peernix.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=98"}],"version-history":[{"count":0,"href":"http:\/\/peernix.com\/index.php?rest_route=\/wp\/v2\/posts\/98\/revisions"}],"wp:attachment":[{"href":"http:\/\/peernix.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=98"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/peernix.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=98"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/peernix.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=98"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}