{"id":199,"date":"2021-01-24T14:56:24","date_gmt":"2021-01-24T13:56:24","guid":{"rendered":"https:\/\/snurps.fr\/?p=199"},"modified":"2021-02-01T22:27:37","modified_gmt":"2021-02-01T21:27:37","slug":"%e2%80%8bune-horloge-arduino-sans-module-rtc-partie-1","status":"publish","type":"post","link":"https:\/\/snurps.fr\/?p=199","title":{"rendered":"\u200bUNE HORLOGE ARDUINO SANS MODULE RTC (PARTIE 1)"},"content":{"rendered":"\n<p>1er essais, 1er article,<\/p>\n\n\n\n<p>Petit montage d\u00e9crivant comment r\u00e9aliser une petite horloge avec un arduino et un shield LCD de 2\u00d716 caract\u00e8res, sans module RTC (c est le module qui sert d\u2019horloge)\u2026<\/p>\n\n\n\n<p>Le code d\u2019origine n\u2019est pas de moi (si l\u2019auteur veut que je le nomme ou faire jouer ces droits, qu\u2019il se fasse conna\u00eetre ), je l\u2019ai un peu simplifier (pas de gestion de date), c\u2019est tout.<\/p>\n\n\n\n<p>Le truc ? utiliser le fr\u00e9quence de l\u2019arduino et la d\u00e9multiplier afin jusqu\u2019\u00e0 obtenir une seconde (et a partir de l\u00e0, 60 sec = 1 min etc\u2026)\u2026 Ligne 109 du code ci dessous\u2026<\/p>\n\n\n\n<p>Prochaine \u00e9tape ?<\/p>\n\n\n\n<p>Ma moiti\u00e9 trouvant le texte trop petit, je me suis lanc\u00e9 le d\u00e9fis d\u2019afficher l\u2019heure en gros caract\u00e8re\u2026 mais \u00e7a, \u00e7a sera pour la partie 2\u2026.<\/p>\n\n\n\n<p>Pour le projet qui nous concerne ici, il vous faudra un arduino, et un shield comme celui ci:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/snurps.fr\/wp-content\/uploads\/2021\/01\/1432067372971-1-1024x576-1.jpg\" alt=\"\" class=\"wp-image-276\" srcset=\"https:\/\/snurps.fr\/wp-content\/uploads\/2021\/01\/1432067372971-1-1024x576-1.jpg 1024w, https:\/\/snurps.fr\/wp-content\/uploads\/2021\/01\/1432067372971-1-1024x576-1-300x169.jpg 300w, https:\/\/snurps.fr\/wp-content\/uploads\/2021\/01\/1432067372971-1-1024x576-1-768x432.jpg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Avec votre IDE arduino pr\u00e9f\u00e9r\u00e9, faites avaler le code ci dessous a votre petit arduino<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &quot;LCDKeypad.h&quot;\n\n\/\/#define DAYS 0\n\n#define HOURS 1\n\n#define MINUTES 2\n\n#define SECONDS 3\n\n#define secdisp 4\n\n\/\/ The LCD screen\n\nLCDKeypad lcd;\n\n\/\/ The time model\n\n\/\/unsigned int days = 0;\n\nunsigned int hours = 0;\n\nunsigned int minutes = 0;\n\nunsigned int seconds = 0;\n\nunsigned int setting = 0;\n\nvoid setup() {\n\n\/\/ Set up the LCD&#039;s number of columns and rows:\n\nlcd.begin(16,2);\n\n\/\/ Set the cursor at the begining of the first row\n\nlcd.setCursor(0,0);\n\n\/\/ Print a text in the first row\n\n\/\/lcd.print(&quot;Setting: Days &quot;);\n\n}\n\nvoid loop() {\n\n\/\/ Increase the time model by one second\n\nincTime();\n\n\/\/ Print the time on the LCD\n\nprintTime();\n\n\/\/ Listen for buttons for 1 second\n\nbuttonListen();\n\n}\n\nvoid buttonListen() {\n\n\/\/ Read the buttons five times in a second\n\nfor (int i = 0; i &lt; 5; i++) {\n\n\/\/ Read the buttons value\n\nint button = lcd.button();\n\nswitch (button) {\n\n\/\/ Right button was pushed\n\ncase KEYPAD_RIGHT:\n\nsetting++;\n\nbreak;\n\n\/\/ Left button was pushed\n\ncase KEYPAD_LEFT:\n\nsetting--;\n\nbreak;\n\n\/\/ Up button was pushed\n\ncase KEYPAD_UP:\n\nswitch (setting) {\n\n\/\/case DAYS:\n\n\/\/days++;\n\n\/\/break;\n\ncase HOURS:\n\nhours++;\n\nbreak;\n\ncase MINUTES:\n\nminutes++;\n\n\/\/break;\n\n\/\/case SECONDS:\n\n\/\/seconds++;\n\n}\n\nbreak;\n\n\/\/ Down button was pushed\n\ncase KEYPAD_DOWN:\n\nswitch (setting) {\n\n\/\/case DAYS:\n\n\/\/days--;\n\n\/\/if (days == -1) days = 99;\n\n\/\/break;\n\ncase HOURS:\n\nhours--;\n\nif (hours == -1) hours = 23;\n\nbreak;\n\ncase MINUTES:\n\nminutes--;\n\nif (minutes == -1) minutes = 59;\n\n\/\/break;\n\n\/\/case SECONDS:\n\n\/\/seconds--;\n\n\/\/if (seconds == -1) seconds = 59;\n\n}\n\n}\n\nsetting %= 3;\n\nprintSetting();\n\n\/\/days %= 100;\n\nhours %= 24;\n\nminutes %= 60;\n\nseconds %= 60;\n\nprintTime();\n\n\/\/ Wait one fifth of a second to complete\n\nwhile(millis() % 200 != 0);\n\n}\n\n}\n\n\/\/ Print the current setting\n\nvoid printSetting() {\n\nlcd.setCursor(9,0);\n\nswitch (setting) {\n\n\/\/case DAYS:\n\n\/\/lcd.print(&quot;Days &quot;);\n\n\/\/break;\n\ncase HOURS:\n\nlcd.print(&quot;Hours &quot;);\n\nbreak;\n\ncase MINUTES:\n\nlcd.print(&quot;Minutes&quot;);\n\n\/\/break;\n\n\/\/case SECONDS:\n\n\/\/lcd.print(&quot;Seconds&quot;);\n\n}\n\n}\n\n\/\/ Increase the time model by one second\n\nvoid incTime() {\n\n\/\/ Increase seconds\n\nseconds++;\n\nif (seconds == 60) {\n\n\/\/ Reset seconds\n\nseconds = 0;\n\n\/\/ Increase minutes\n\nminutes++;\n\nif (minutes == 60) {\n\n\/\/ Reset minutes\n\nminutes = 0;\n\n\/\/ Increase hours\n\nhours++;\n\nif (hours == 24) {\n\n\/\/ Reset hours\n\nhours = 0;\n\n\/\/ Increase days\n\n\/\/days++;\n\n}\n\n}\n\n}\n\n}\n\n\/\/ Print the time on the LCD\n\nvoid printTime() {\n\n\/\/ Set the cursor at the begining of the second row\n\nlcd.setCursor(0,1);\n\nchar time&#091;17];\n\n\/\/sprintf(time, &quot;%02i days %02i:%02i:%02i&quot;, days, hours, minutes, seconds);\n\nif(seconds % 2 == 0) {\n\nsprintf(time, &quot;%02i:%02i&quot;, hours, minutes);\n\n}\n\nelse {\n\nsprintf(time, &quot;%02i %02i&quot;, hours, minutes);\n\n}\n\nlcd.print(time);\n\n}<\/code><\/pre>\n\n\n\n<p>Et voil\u00e0, au red\u00e9marrage vous devriez avoir une horloge. pour la r\u00e9gler, d\u00e9placer vous d\u2019unit\u00e9 en (jour, heure, minute) gr\u00e2ce aux boutons gauche et droite, et aux boutons haut et bas les r\u00e9gler.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/snurps.fr\/wp-content\/uploads\/2021\/01\/1432067411396-1-1024x576-1.jpg\" alt=\"\" class=\"wp-image-277\" srcset=\"https:\/\/snurps.fr\/wp-content\/uploads\/2021\/01\/1432067411396-1-1024x576-1.jpg 1024w, https:\/\/snurps.fr\/wp-content\/uploads\/2021\/01\/1432067411396-1-1024x576-1-300x169.jpg 300w, https:\/\/snurps.fr\/wp-content\/uploads\/2021\/01\/1432067411396-1-1024x576-1-768x432.jpg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1er essais, 1er article, Petit montage d\u00e9crivant comment r\u00e9aliser une petite horloge avec un arduino et un shield LCD de 2\u00d716 caract\u00e8res, sans module RTC (c est le module qui sert d\u2019horloge)\u2026 Le code d\u2019origine n\u2019est pas de moi (si l\u2019auteur veut que je le nomme ou faire jouer ces droits, qu\u2019il se fasse conna\u00eetre [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":277,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[27],"tags":[],"class_list":["post-199","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","post-wrapper","thrv_wrapper"],"_links":{"self":[{"href":"https:\/\/snurps.fr\/index.php?rest_route=\/wp\/v2\/posts\/199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/snurps.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/snurps.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/snurps.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/snurps.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=199"}],"version-history":[{"count":8,"href":"https:\/\/snurps.fr\/index.php?rest_route=\/wp\/v2\/posts\/199\/revisions"}],"predecessor-version":[{"id":279,"href":"https:\/\/snurps.fr\/index.php?rest_route=\/wp\/v2\/posts\/199\/revisions\/279"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/snurps.fr\/index.php?rest_route=\/wp\/v2\/media\/277"}],"wp:attachment":[{"href":"https:\/\/snurps.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/snurps.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/snurps.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}