{"id":182,"date":"2015-12-04T13:54:58","date_gmt":"2015-12-04T10:54:58","guid":{"rendered":"http:\/\/arduinolab.pw\/?p=182"},"modified":"2015-12-04T14:03:19","modified_gmt":"2015-12-04T11:03:19","slug":"rabota-s-chasami-na-ds1307-v-srede-arduino-kod-iz-video","status":"publish","type":"post","link":"https:\/\/arduinolab.pw\/index.php\/2015\/12\/04\/rabota-s-chasami-na-ds1307-v-srede-arduino-kod-iz-video\/","title":{"rendered":"\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0447\u0430\u0441\u0430\u043c\u0438 \u043d\u0430 DS1307 \u0432 \u0441\u0440\u0435\u0434\u0435 Arduino, \u043a\u043e\u0434 \u0438\u0437 \u0432\u0438\u0434\u0435\u043e"},"content":{"rendered":"<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/qq6AVdd5TFQ\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><br \/>\n<!--more--><\/p>\n<pre>#include\u00a0<span style=\"color: #006699;\">\"Wire.h\"<\/span>\r\n#define\u00a0DS1307_I2C_ADDRESS\u00a00x68\r\n\r\n<span style=\"color: #cc6600;\">byte<\/span> decToBcd(<span style=\"color: #cc6600;\">byte<\/span> val)\r\n{\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">return<\/span> ( (val\/10*16) + (val%10) );\r\n}\r\n\r\n<span style=\"color: #cc6600;\">byte<\/span> bcdToDec(<span style=\"color: #cc6600;\">byte<\/span> val)\r\n{\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">return<\/span> ( (val\/16*10) + (val%16) );\r\n}\r\n\r\n<span style=\"color: #cc6600;\">void<\/span> setDateDs1307(<span style=\"color: #cc6600;\">byte<\/span> <span style=\"color: #cc6600;\">second<\/span>,        <span style=\"color: #7e7e7e;\">\/\/ 0-59<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">byte<\/span> <span style=\"color: #cc6600;\">minute<\/span>,        <span style=\"color: #7e7e7e;\">\/\/ 0-59<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">byte<\/span> <span style=\"color: #cc6600;\">hour<\/span>,          <span style=\"color: #7e7e7e;\">\/\/ 1-23<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">byte<\/span> <span style=\"color: #cc6600;\">dayOfWeek<\/span>,     <span style=\"color: #7e7e7e;\">\/\/ 1-7<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">byte<\/span> dayOfMonth,    <span style=\"color: #7e7e7e;\">\/\/ 1-28\/29\/30\/31<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">byte<\/span> <span style=\"color: #cc6600;\">month<\/span>,         <span style=\"color: #7e7e7e;\">\/\/ 1-12<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">byte<\/span> <span style=\"color: #cc6600;\">year<\/span>)          <span style=\"color: #7e7e7e;\">\/\/ 0-99<\/span>\r\n{\r\n\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">beginTransmission<\/span>(DS1307_I2C_ADDRESS);\r\n\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(0);\r\n\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(decToBcd(<span style=\"color: #cc6600;\">second<\/span>));    \r\n\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(decToBcd(<span style=\"color: #cc6600;\">minute<\/span>));\r\n\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(decToBcd(<span style=\"color: #cc6600;\">hour<\/span>));     \r\n\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(decToBcd(<span style=\"color: #cc6600;\">dayOfWeek<\/span>));\r\n\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(decToBcd(dayOfMonth));\r\n\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(decToBcd(<span style=\"color: #cc6600;\">month<\/span>));\r\n\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(decToBcd(<span style=\"color: #cc6600;\">year<\/span>));\r\n\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">endTransmission<\/span>();\r\n}\r\n\r\n<span style=\"color: #cc6600;\">void<\/span> getDateDs1307(<span style=\"color: #cc6600;\">byte<\/span> *<span style=\"color: #cc6600;\">second<\/span>,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">byte<\/span> *<span style=\"color: #cc6600;\">minute<\/span>,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">byte<\/span> *<span style=\"color: #cc6600;\">hour<\/span>,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">byte<\/span> *<span style=\"color: #cc6600;\">dayOfWeek<\/span>,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">byte<\/span> *dayOfMonth,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">byte<\/span> *<span style=\"color: #cc6600;\">month<\/span>,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">byte<\/span> *<span style=\"color: #cc6600;\">year<\/span>)\r\n{\r\n\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">beginTransmission<\/span>(DS1307_I2C_ADDRESS);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(0);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">endTransmission<\/span>();\r\n\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">requestFrom<\/span>(DS1307_I2C_ADDRESS, 7);\r\n\r\n\u00a0\u00a0*<span style=\"color: #cc6600;\">second<\/span>     = bcdToDec(<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">read<\/span>() &amp; 0x7f);\r\n\u00a0\u00a0*<span style=\"color: #cc6600;\">minute<\/span>     = bcdToDec(<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">read<\/span>());\r\n\u00a0\u00a0*<span style=\"color: #cc6600;\">hour<\/span>       = bcdToDec(<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">read<\/span>() &amp; 0x3f); \r\n\u00a0\u00a0*<span style=\"color: #cc6600;\">dayOfWeek<\/span>  = bcdToDec(<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">read<\/span>());\r\n\u00a0\u00a0*dayOfMonth\u00a0=\u00a0bcdToDec(<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">read<\/span>());\r\n\u00a0\u00a0*<span style=\"color: #cc6600;\">month<\/span>      = bcdToDec(<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">read<\/span>());\r\n\u00a0\u00a0*<span style=\"color: #cc6600;\">year<\/span>       = bcdToDec(<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">read<\/span>());\r\n}\r\n\r\n<span style=\"color: #cc6600;\">void<\/span> <span style=\"color: #cc6600;\"><b>setup<\/b><\/span>()\r\n{\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">byte<\/span> <span style=\"color: #cc6600;\">second<\/span>, <span style=\"color: #cc6600;\">minute<\/span>, <span style=\"color: #cc6600;\">hour<\/span>, <span style=\"color: #cc6600;\">dayOfWeek<\/span>, dayOfMonth, <span style=\"color: #cc6600;\">month<\/span>, <span style=\"color: #cc6600;\">year<\/span>;\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">begin<\/span>();\r\n\u00a0\u00a0<span style=\"color: #cc6600;\"><b>Serial<\/b><\/span>.<span style=\"color: #cc6600;\">begin<\/span>(9600);\r\n\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">second<\/span> = 45;\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">minute<\/span> = 3;\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">hour<\/span> = 7;\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">dayOfWeek<\/span> = 5;\r\n\u00a0\u00a0dayOfMonth\u00a0=\u00a017;\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">month<\/span> = 4;\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">year<\/span> = 8;\r\n\u00a0\u00a0setDateDs1307(<span style=\"color: #cc6600;\">second<\/span>, <span style=\"color: #cc6600;\">minute<\/span>, <span style=\"color: #cc6600;\">hour<\/span>, <span style=\"color: #cc6600;\">dayOfWeek<\/span>, dayOfMonth, <span style=\"color: #cc6600;\">month<\/span>, <span style=\"color: #cc6600;\">year<\/span>);\r\n}\r\n\r\n<span style=\"color: #cc6600;\">void<\/span> <span style=\"color: #cc6600;\"><b>loop<\/b><\/span>()\r\n{\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">byte<\/span> <span style=\"color: #cc6600;\">second<\/span>, <span style=\"color: #cc6600;\">minute<\/span>, <span style=\"color: #cc6600;\">hour<\/span>, <span style=\"color: #cc6600;\">dayOfWeek<\/span>, dayOfMonth, <span style=\"color: #cc6600;\">month<\/span>, <span style=\"color: #cc6600;\">year<\/span>;\r\n\r\n\u00a0\u00a0getDateDs1307(&amp;<span style=\"color: #cc6600;\">second<\/span>, &amp;<span style=\"color: #cc6600;\">minute<\/span>, &amp;<span style=\"color: #cc6600;\">hour<\/span>, &amp;<span style=\"color: #cc6600;\">dayOfWeek<\/span>, &amp;dayOfMonth, &amp;<span style=\"color: #cc6600;\">month<\/span>, &amp;<span style=\"color: #cc6600;\">year<\/span>);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\"><b>Serial<\/b><\/span>.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #cc6600;\">hour<\/span>, <span style=\"color: #006699;\">DEC<\/span>);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\"><b>Serial<\/b><\/span>.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\":\"<\/span>);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\"><b>Serial<\/b><\/span>.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #cc6600;\">minute<\/span>, <span style=\"color: #006699;\">DEC<\/span>);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\"><b>Serial<\/b><\/span>.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\":\"<\/span>);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\"><b>Serial<\/b><\/span>.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #cc6600;\">second<\/span>, <span style=\"color: #006699;\">DEC<\/span>);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\"><b>Serial<\/b><\/span>.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"  \"<\/span>);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\"><b>Serial<\/b><\/span>.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #cc6600;\">month<\/span>, <span style=\"color: #006699;\">DEC<\/span>);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\"><b>Serial<\/b><\/span>.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"\/\"<\/span>);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\"><b>Serial<\/b><\/span>.<span style=\"color: #cc6600;\">print<\/span>(dayOfMonth, <span style=\"color: #006699;\">DEC<\/span>);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\"><b>Serial<\/b><\/span>.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"\/\"<\/span>);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\"><b>Serial<\/b><\/span>.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #cc6600;\">year<\/span>, <span style=\"color: #006699;\">DEC<\/span>);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\"><b>Serial<\/b><\/span>.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"  Day_of_week:\"<\/span>);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\"><b>Serial<\/b><\/span>.<span style=\"color: #cc6600;\">println<\/span>(<span style=\"color: #cc6600;\">dayOfWeek<\/span>, <span style=\"color: #006699;\">DEC<\/span>);\r\n\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">delay<\/span>(1000);\r\n}\r\n\r\n<\/pre>\n<p>\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043e\u0442 adafruit <code><\/code><a href=\"https:\/\/arduinolab.pw\/wp-content\/uploads\/2015\/12\/RTClib-master.zip\">RTClib-master <\/a><\/p><div class=\"ilsbb6ab449b76103e\" ><hr>\n<!-- Yandex.RTB R-A-1793072-2 -->\n<div id=\"yandex_rtb_R-A-1793072-2\"><\/div>\n<script>window.yaContextCb.push(()=>{\n  Ya.Context.AdvManager.render({\n    renderTo: 'yandex_rtb_R-A-1793072-2',\n    blockId: 'R-A-1793072-2'\n  })\n})<\/script><\/div><style type=\"text\/css\">\r\n@media screen and (min-width: 1201px) {\r\n.ilsbb6ab449b76103e {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (min-width: 993px) and (max-width: 1200px) {\r\n.ilsbb6ab449b76103e {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (min-width: 769px) and (max-width: 992px) {\r\n.ilsbb6ab449b76103e {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (min-width: 768px) and (max-width: 768px) {\r\n.ilsbb6ab449b76103e {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (max-width: 767px) {\r\n.ilsbb6ab449b76103e {\r\ndisplay: block;\r\n}\r\n}\r\n<\/style>\r\n\n<p>\u0438\u043b\u0438 \u043d\u0430 \u0433\u0438\u0442\u0445\u0430\u0431\u0435 <a href=\"https:\/\/github.com\/adafruit\/RTClib\" target=\"_blank\">https:\/\/github.com\/adafruit\/RTClib<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[7],"tags":[19,10],"class_list":["post-182","post","type-post","status-publish","format-standard","hentry","category-video","tag-ds1307","tag-chasy"],"_links":{"self":[{"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/posts\/182","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/comments?post=182"}],"version-history":[{"count":0,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/posts\/182\/revisions"}],"wp:attachment":[{"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/media?parent=182"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/categories?post=182"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/tags?post=182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}