{"id":999,"date":"2021-03-19T14:16:29","date_gmt":"2021-03-19T18:16:29","guid":{"rendered":"https:\/\/dc540.org\/xxx\/?p=999"},"modified":"2021-03-24T17:31:59","modified_gmt":"2021-03-24T21:31:59","slug":"simple-fitness-timer-arduino-uno-r3","status":"publish","type":"post","link":"https:\/\/dc540.org\/xxx\/2021\/03\/simple-fitness-timer-arduino-uno-r3\/","title":{"rendered":"Simple fitness timer \/ Arduino Uno R3"},"content":{"rendered":"\n<p>I&#8217;ve been working out religiously this year, and reading up on getting the most out of my workouts. I read something about optimizing the rest time between sets, and I started wondering how to best track that. The phone is a pain, because unlocking it, getting to an app, etc. is distracting and takes time. Laptop, same thing, plus I have to have a laptop in my workout area.<\/p>\n\n\n\n<p>I started thinking, well, I have a whole bunch of unused Arduino Uno units and a 3D printer, maybe I could cobble something together. So what do I need? I want simplicity, so a box with buttons and a display. <\/p>\n\n\n\n<p>I found this case shape on Thingiverse: <a href=\"https:\/\/www.thingiverse.com\/thing:845415\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.thingiverse.com\/thing:845415<\/a><\/p>\n\n\n\n<p>It&#8217;s built for an Arduino Uno and the DFRobot LCD 1602 shield with buttons. The case even has 3D-printed button extenders that are used to press the buttons on the shield.  Simple yet elegant. Ticks all the boxes.<\/p>\n\n\n\n<p>I ordered the HiLetGo shield for $6.49 here: <a href=\"https:\/\/www.amazon.com\/gp\/product\/B00OGYXN8C\/ref=ppx_yo_dt_b_asin_image_o01_s00?ie=UTF8&amp;psc=1\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.amazon.com\/gp\/product\/B00OGYXN8C\/ref=ppx_yo_dt_b_asin_image_o01_s00?ie=UTF8&amp;psc=1<\/a><\/p>\n\n\n\n<p>&#8230;and started printing the case. I decided to print in two colors for cool points.  Black for the bottom case and buttons, silver silk for the top.  Came out OK. I might sand &amp; finish it later.<\/p>\n\n\n\n<p>The shield arrived today. I quickly cobbled together some test code, attached the shield to one of my spare Unos and uploaded the sketch.  <br><br>Nothing on the display. The backlit was lit, but nothing on the display.<\/p>\n\n\n\n<p>Turned on serial in the code and added some debugging. Uploaded again. OK, good news, the Arduino is working, it&#8217;s moving around in the code, my button presses are recognized.<\/p>\n\n\n\n<p>I tried adjusting the contrast via the onboard pot.  Nothing. <\/p>\n\n\n\n<p>Went to the amazon reviews\/comments for the device. Finally found the relevant comment: &#8220;Adjust the &#8216;pot&#8217; for contrast just realize this style pot takes ALOT of turn to get to the other end.&#8221;<\/p>\n\n\n\n<p>So, with my tiny screwdriver, I turned and turned, for way longer than I would have expected, and eventually my sample text showed up.<\/p>\n\n\n\n<p>Now I just have to write a quick sketch for button-initiated 60- and 90-second timers, and I&#8217;m good to go! Quick, no-fuss timer with customization capabilities and a simple interface and display. Might add a sound feedback in a future iteration.<\/p>\n\n\n\n<p>UPDATE: Here&#8217;s my first stab at a script. Up gives a 60-second countdown, Down gives a 90-second countdown, and the screen shuts off when it&#8217;s done so you don&#8217;t even have to watch it closely.  Screen shuts off after initial display, SELECT to see the very few instructions again.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/dc540\/arduino1602ShieldTimer\">https:\/\/github.com\/dc540\/arduino1602ShieldTimer<\/a><\/p>\n\n\n\n<p>UPDATE 2: Here&#8217;s a link to a buzzer that will fit in this exact case. It&#8217;s not super loud when wired directly. Supposedly a transistor might kick it up a notch. https:\/\/www.adafruit.com\/product\/1740<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been working out religiously this year, and reading up on getting the most out of my workouts. I read something about optimizing the rest time between sets, and I &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/dc540.org\/xxx\/2021\/03\/simple-fitness-timer-arduino-uno-r3\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Simple fitness timer \/ Arduino Uno R3&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1000,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[76,5],"tags":[],"class_list":["post-999","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-3d-printing","category-hardware"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/dc540.org\/xxx\/wp-content\/uploads\/2021\/03\/arduinobox-scaled.jpeg","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/dc540.org\/xxx\/wp-json\/wp\/v2\/posts\/999","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dc540.org\/xxx\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dc540.org\/xxx\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dc540.org\/xxx\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dc540.org\/xxx\/wp-json\/wp\/v2\/comments?post=999"}],"version-history":[{"count":3,"href":"https:\/\/dc540.org\/xxx\/wp-json\/wp\/v2\/posts\/999\/revisions"}],"predecessor-version":[{"id":1025,"href":"https:\/\/dc540.org\/xxx\/wp-json\/wp\/v2\/posts\/999\/revisions\/1025"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dc540.org\/xxx\/wp-json\/wp\/v2\/media\/1000"}],"wp:attachment":[{"href":"https:\/\/dc540.org\/xxx\/wp-json\/wp\/v2\/media?parent=999"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dc540.org\/xxx\/wp-json\/wp\/v2\/categories?post=999"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dc540.org\/xxx\/wp-json\/wp\/v2\/tags?post=999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}