{"id":12798,"date":"2021-04-07T13:03:47","date_gmt":"2021-04-07T17:03:47","guid":{"rendered":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/?p=12798"},"modified":"2021-04-07T13:03:47","modified_gmt":"2021-04-07T17:03:47","slug":"project-two-minimalist-pomodoro-timer","status":"publish","type":"post","link":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/project-two-minimalist-pomodoro-timer\/","title":{"rendered":"Project Two | Minimalist Pomodoro Timer"},"content":{"rendered":"<h2 style=\"text-align: center\">Overview:<\/h2>\n<p>&nbsp;<\/p>\n<p><strong>Pomodoro Timer:<\/strong> a studying technique that alternates between periods of work and rest. Periods of work usually last from 30 min &#8211; 1 hour, while periods of rest last from 2 min &#8211; 5 min. This timer stores these times as separate values which can be adjusted while the tilting mechanism is in its neutral state, with tilting to one side starting the work timer and the other starting the rest timer. The end of time is announced by a buzzer.<\/p>\n<h3>Detail Photos:<\/h3>\n<div id=\"attachment_12800\" style=\"width: 2570px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-12800\" loading=\"lazy\" class=\"wp-image-12800 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1121-scaled.jpeg\" alt=\"\" width=\"2560\" height=\"1920\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1121-scaled.jpeg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1121-300x225.jpeg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1121-1024x768.jpeg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1121-768x576.jpeg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1121-1536x1152.jpeg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1121-2048x1536.jpeg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1121-973x730.jpeg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1121-508x381.jpeg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><p id=\"caption-attachment-12800\" class=\"wp-caption-text\">Timer tilt sensor. Tilting to one side will trigger the work timer to start, the other the rest timer. Keeping it in the middle lets users adjust the times stored for both.<\/p><\/div>\n<div id=\"attachment_12801\" style=\"width: 2570px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-12801\" loading=\"lazy\" class=\"wp-image-12801 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1122-scaled.jpeg\" alt=\"\" width=\"2560\" height=\"1920\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1122-scaled.jpeg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1122-300x225.jpeg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1122-1024x768.jpeg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1122-768x576.jpeg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1122-1536x1152.jpeg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1122-2048x1536.jpeg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1122-973x730.jpeg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1122-508x381.jpeg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><p id=\"caption-attachment-12801\" class=\"wp-caption-text\">Main housing side view. The hole cut in the side of the box is for power cables or connections to the computer.<\/p><\/div>\n<div id=\"attachment_12802\" style=\"width: 2570px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-12802\" loading=\"lazy\" class=\"wp-image-12802 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1123-scaled.jpeg\" alt=\"\" width=\"2560\" height=\"1920\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1123-scaled.jpeg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1123-300x225.jpeg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1123-1024x768.jpeg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1123-768x576.jpeg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1123-1536x1152.jpeg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1123-2048x1536.jpeg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1123-973x730.jpeg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1123-508x381.jpeg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><p id=\"caption-attachment-12802\" class=\"wp-caption-text\">The wiring and connections inside the timer.<\/p><\/div>\n<h3>Timer in Use:<\/h3>\n<div id=\"attachment_12803\" style=\"width: 2570px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-12803\" loading=\"lazy\" class=\"wp-image-12803 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1127-scaled.jpeg\" alt=\"\" width=\"2560\" height=\"1920\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1127-scaled.jpeg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1127-300x225.jpeg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1127-1024x768.jpeg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1127-768x576.jpeg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1127-1536x1152.jpeg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1127-2048x1536.jpeg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1127-973x730.jpeg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1127-508x381.jpeg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><p id=\"caption-attachment-12803\" class=\"wp-caption-text\">User adjusting the time stored with the knob on the side.<\/p><\/div>\n<div id=\"attachment_12804\" style=\"width: 2570px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-12804\" loading=\"lazy\" class=\"wp-image-12804 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1129-scaled.jpeg\" alt=\"\" width=\"2560\" height=\"1920\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1129-scaled.jpeg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1129-300x225.jpeg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1129-1024x768.jpeg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1129-768x576.jpeg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1129-1536x1152.jpeg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1129-2048x1536.jpeg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1129-973x730.jpeg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1129-508x381.jpeg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><p id=\"caption-attachment-12804\" class=\"wp-caption-text\">A user operating the tilt sensor to start the timer.<\/p><\/div>\n<p>*Note, the numbers appear distorted in these still images because the display draws the numbers step by step but appear normally when viewed in real time.<\/p>\n<h3><strong>Video Demonstration:<\/strong><\/h3>\n<div style=\"width: 620px;\" class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement('video');<\/script><![endif]-->\n<video class=\"wp-video-shortcode\" id=\"video-12798-1\" width=\"620\" height=\"349\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/My-Movie-6.mp4?_=1\" \/><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/My-Movie-6.mp4\">https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/My-Movie-6.mp4<\/a><\/video><\/div>\n<p>*Note video speed increased to decrease file size.<\/p>\n<h2><\/h2>\n<h2 style=\"text-align: center\">Process Images and Review<\/h2>\n<p>&nbsp;<\/p>\n<p><strong>Decision Point 1:<\/strong> Using the 4 digit, 7 segment display instead of the LCD display. I chose this display because of the display size, number of digits and larger font size compared to the LCD display. Unfortunately, however, this type of display didn&#8217;t have any documentation on the website and I had to cycle through several tutorials to find one that worked. Additionally, the code I ended up using doesn&#8217;t draw all parts of the digits at the same time, so they appear distorted in still images.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_12803\" style=\"width: 2570px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-12803\" loading=\"lazy\" class=\"wp-image-12803 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1127-scaled.jpeg\" alt=\"\" width=\"2560\" height=\"1920\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1127-scaled.jpeg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1127-300x225.jpeg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1127-1024x768.jpeg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1127-768x576.jpeg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1127-1536x1152.jpeg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1127-2048x1536.jpeg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1127-973x730.jpeg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1127-508x381.jpeg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><p id=\"caption-attachment-12803\" class=\"wp-caption-text\">Still image of the display. The numbers appear distorted<\/p><\/div>\n<p><strong>Decision Point 2:<\/strong> Because the display I used took up so many digital pins, I only had a few pins left to signal to the user that the timer had expired. At first I was thinking about using a series of LEDs to indicate the state the timer is in. However, I decided that LED indicators would not be visible enough to the user to signal time expiring and decided to use a buzzer instead.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_12802\" style=\"width: 2570px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-12802\" loading=\"lazy\" class=\"wp-image-12802 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1123-scaled.jpeg\" alt=\"\" width=\"2560\" height=\"1920\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1123-scaled.jpeg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1123-300x225.jpeg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1123-1024x768.jpeg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1123-768x576.jpeg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1123-1536x1152.jpeg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1123-2048x1536.jpeg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1123-973x730.jpeg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1123-508x381.jpeg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><p id=\"caption-attachment-12802\" class=\"wp-caption-text\">Wiring and internal workings.<\/p><\/div>\n<h3>Process Images:<\/h3>\n<div id=\"attachment_12836\" style=\"width: 2570px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-12836\" loading=\"lazy\" class=\"wp-image-12836 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1004-scaled-e1617814602532.jpg\" alt=\"\" width=\"2560\" height=\"1920\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1004-scaled-e1617814602532.jpg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1004-scaled-e1617814602532-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1004-scaled-e1617814602532-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1004-scaled-e1617814602532-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1004-scaled-e1617814602532-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1004-scaled-e1617814602532-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1004-scaled-e1617814602532-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1004-scaled-e1617814602532-508x381.jpg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><p id=\"caption-attachment-12836\" class=\"wp-caption-text\">Original Sketches<\/p><\/div>\n<div id=\"attachment_12837\" style=\"width: 760px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-12837\" loading=\"lazy\" class=\"wp-image-12837 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1135.jpg\" alt=\"\" width=\"750\" height=\"1334\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1135.jpg 750w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1135-169x300.jpg 169w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1135-576x1024.jpg 576w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1135-508x904.jpg 508w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><p id=\"caption-attachment-12837\" class=\"wp-caption-text\">Added Buzzer In the place of LEDs<\/p><\/div>\n<div id=\"attachment_12838\" style=\"width: 760px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-12838\" loading=\"lazy\" class=\"wp-image-12838 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1134.jpg\" alt=\"\" width=\"750\" height=\"1334\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1134.jpg 750w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1134-169x300.jpg 169w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1134-576x1024.jpg 576w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/IMG_1134-508x904.jpg 508w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><p id=\"caption-attachment-12838\" class=\"wp-caption-text\">At this point, I was considering an extra switch for toggling power<\/p><\/div>\n<h2 style=\"text-align: center\">Discussion<\/h2>\n<p>&nbsp;<\/p>\n<p><strong>Response<\/strong>\u00a0to comments gathered during the in-class crit. Quote (verbatim) from\u00a0<em>at least<\/em>\u00a0two written critiques that you received (positive, negative, or otherwise) from the in-class crit, and respond to them. (You may agree or disagree\u2014in either case, explain your position.)<\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Wonder if you could condense this into one single unit instead of making the accelerometer module separate from the LCD and buzzer screen?<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Maybe would\u2019ve been cool to have the tilt mechanism physically separate from the main housing so it can be taken farther away<\/span><\/li>\n<\/ul>\n<p>Addressing the first point, I wanted to keep the accelerometer module separate from the display and buzzer because combining them in one unit would mean that tilting the unit also tilts the display as well which might be awkward to view. At the same time, I wanted to keep the component the user actually tilts quite shorter and more independent because I wanted it to be smaller. To me, the difference between the interaction of a smaller and larger module were too high. A larger module would be something that you would use your hand or palm to tilt, whereas a smaller module would be something that you would use your finger tilted.<\/p>\n<p>I was also thinking about the relationship between the accelerometer and main housing in terms of physical distance, and while I would have liked to keep them physically separate, I didn&#8217;t have the means to at the time because of the physical connection of the wires. At the same time, I didn&#8217;t want them to have no relationship because it would feel disconcerting if the trigger was physically separated from the display too far. Ideally, I would have nestled the tilting piece against the housing in some way.<\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Maybe work on physical interface for the potentiometer? Seems difficult to rotate<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">^there\u2019s knobs for the potentiometer in the lab<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Maybe have the tilt indicate if you are on rest or focus mode, could change something either on the display or just physically<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Maybe make the object you tilt look like a tomato \ud83d\ude42<\/span><\/li>\n<\/ul>\n<p>Something that I ended up having to make concessions on was the physical form of the timer. I made the housing from foam core and created simple boxes and left the potentiometer without additional adjustment. However, I would have ideally wanted to make the form itself more elegant and ergonomic in a way that made the timer itself easier to use.<\/p>\n<p><strong>Self critique<\/strong>\u00a0pertaining to the project. Are you happy with how the project came out? Did it satisfy your own goals? This\u00a0<em>should not<\/em>\u00a0simply be a recital of your process, but rather a meaningful reflection.<\/p>\n<p>While I am happy that the code and functionality of the project itself worked out perfectly with little to no bugs, I am a little disappointed in how far I was able to take the form of the timer itself. Although the end product looked relatively clean, I would have liked to make it more elegant and ergonomic as I had said above.<\/p>\n<p><strong>What you learned<\/strong>\u00a0about your own abilities and\/or limitations through the process of working on this project. These could be technical in nature (i.e. \u201cI found that coding this particular behavior was surprisingly difficult\u201d), or not (i.e. \u201cI enjoyed making cardboard forms very much, and I think it will be a useful prototyping medium for me in the future\u201d). What would you do differently next time? What would your advice to your past self be? Did you get hung up at a particular point in progress, or fail to see an easy workaround to a problem? Did you find a creative spark you didn\u2019t anticipate? Etc.?<\/p>\n<p>I had learned from previous projects not to be over ambitious about what I could achieve during the time limit and decided to focus more primarily on the coding and Arduino portion of the project and to keep the form simple. However, in the end I found that I wish I had pushed myself a bit more to perhaps 3D print some of the form or to have put more effort into that front.<\/p>\n<p><strong>Next steps<\/strong>. Do you expect to build another iteration of this project? If so, describe what you\u2019re planning to do. If not, describe what you\u00a0<em>would<\/em>\u00a0do if you were to build another iteration, based on the experience you had with this first one.<\/p>\n<p>I am planning to keep working on this project. I would like to miniaturize the wiring and create a more polished form around the object itself.<\/p>\n<h2>Technical Information<\/h2>\n<h3>Schematic and Block Diagrams:<\/h3>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-12834 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/Block.jpeg\" alt=\"\" width=\"1971\" height=\"752\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/Block.jpeg 1971w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/Block-300x114.jpeg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/Block-1024x391.jpeg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/Block-768x293.jpeg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/Block-1536x586.jpeg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/Block-973x371.jpeg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/04\/Block-508x194.jpeg 508w\" sizes=\"(max-width: 1971px) 100vw, 1971px\" \/><\/p>\n<h3>Code:<\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\/*\r\n * 60-223, Project Two: Assistive Device\r\n * Daniel Zhu (dszhu)\r\n * \r\n * Pomodoro Timer: a studying technique that alternates between \r\n * periods of work and rest. Periods of work usually last from \r\n * 30 min - 1 hour, while periods of rest last from 2 min - 5 min. \r\n * This timer stores these times as separate values which can be \r\n * adjusted while the tilting mechanism is in its neutral state, \r\n * with tilting to one side starting the work timer and the other \r\n * starting the rest timer. The end of time is announced by a buzzer.\r\n *\r\n * Collaboration and sources: \r\n * 1) To setup the seven segment 4 digit display, I followed the\r\n * tutorial found at this link:\r\n * \r\n * https:\/\/www.instructables.com\/Using-a-4-digit-7-segment-display-with-arduino\/\r\n * \r\n * Pin mapping:\r\n * \r\n * Arduino pin | type   | description\r\n * ------------|--------|-------------\r\n * A1             input     accelerometer z axis input\r\n * A2             input     accelerometer y axis input\r\n * A3             input     accelerometer x axis input\r\n * A4             input     potentiometer value input\r\n * A5             output    buzzer output\r\n * 2              output    digit pin 1\r\n * 3              output    digit pin 2\r\n * 4              output    digit pin 3\r\n * 5              output    digit pin 4\r\n * 6              output    segment pin\r\n * 7              output    segment pin\r\n * 8              output    segment pin\r\n * 9              output    segment pin\r\n * 10             output    segment pin\r\n * 11             output    segment pin\r\n * 12             output    segment pin\r\n * 13             output    segment pin\r\n * \r\n *\/\r\n \r\n\r\n#include \"SevSeg.h\"\r\nSevSeg sevseg; \/\/Initiate a seven segment controller object\r\n\r\n\/\/Pin Setup\r\nconst int XPIN = A3;\r\nconst int YPIN = A2;\r\nconst int ZPIN = A1;\r\nconst int POTPIN = A4;\r\nconst int BUZZ = A5;\r\n\r\n\/\/Timer State Info\r\nString state;\r\nString lastState = \"Idle\";\r\nlong storedTime = 0;\r\n\r\n\/\/Time Storage\r\nlong restTime = 30; \/\/Time data for Rest\r\nlong restRemaining;\r\n\r\nlong workTime = 30; \/\/Time data for Work\r\nlong workRemaining;\r\n\r\nlong displayTime; \/\/Time stored for the display\r\n\r\n\/\/Arduino Timer\r\nlong timeSince = 0;\r\nint increment = 1000;\r\n\r\nvoid setup() {\r\n  pinMode(XPIN, INPUT);\r\n  pinMode(YPIN, INPUT);\r\n  pinMode(ZPIN, INPUT);\r\n  pinMode(POTPIN, INPUT);\r\n  pinMode(BUZZ, OUTPUT);\r\n\r\n  \/\/Setting up the 7 segment display\r\n  byte numDigits = 4;\r\n  byte digitPins[] = {2, 3, 4, 5};\r\n  byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12, 13};\r\n  bool resistorsOnSegments = 0;\r\n  \/\/ variable above indicates that 4 resistors were placed on the digit pins.\r\n  \/\/ set variable to 1 if you want to use 8 resistors on the segment pins.\r\n  sevseg.begin(COMMON_CATHODE, numDigits, digitPins, segmentPins, resistorsOnSegments);\r\n  sevseg.setBrightness(90);\r\n\r\n  Serial.begin(9600);\r\n}\r\n\r\nvoid loop() {\r\n\r\n  \/\/Taking inputs from the accelerometer\r\n  int xOr = analogRead(XPIN);\r\n  int yOr = analogRead(YPIN);\r\n  int zOr = analogRead(ZPIN);\r\n\r\n  \/\/Detect State\r\n  if (320 &lt;= xOr &lt;= 360) {\r\n    state = \"Idle\";\r\n  }\r\n  if (xOr &lt; 320) {\r\n    state = \"Work\";\r\n  }\r\n  if (xOr &gt; 360) {\r\n    state = \"Rest\";\r\n  }\r\n\r\n  \/\/Timer Modes\r\n\r\n  if (state.equals(\"Idle\")) {\r\n\r\n    \/\/Converting potentiometer values into time\r\n    storedTime = map(analogRead(POTPIN), 0, 1023, 1, 60);\r\n    storedTime *= 60;\r\n\r\n    displayTime = storedTime;\r\n  }\r\n\r\n  if (state.equals(\"Work\")) {\r\n\r\n    \/\/Resetting Time\r\n    if (lastState.equals(\"Idle\")) {\r\n      workTime = storedTime * 60;\r\n      workRemaining = workTime;\r\n    }\r\n\r\n    \/\/Incrementing the clock\r\n    timeSince += 1;\r\n    if (workRemaining == 0) {\r\n      \/\/Response\r\n      tone(BUZZ, 1000);\r\n    }\r\n    else if (millis() - timeSince &gt; increment) {\r\n      \/\/While the clock is ticking\r\n      workRemaining -= 1;\r\n      timeSince = millis();\r\n      noTone(BUZZ);\r\n    }\r\n\r\n    displayTime = workRemaining;\r\n  }\r\n\r\n  if (state.equals(\"Rest\")) {\r\n\r\n    \/\/Resetting Time\r\n    if (lastState.equals(\"Idle\")) {\r\n      restTime = storedTime * 60;\r\n      restRemaining = restTime;\r\n    }\r\n\r\n    \/\/Incrementing the Clock\r\n    timeSince += 1;\r\n    if (restRemaining == 0) {\r\n      \/\/Response\r\n      tone(BUZZ, 1000);\r\n    }\r\n    else if (millis() - timeSince &gt; increment) {\r\n      \/\/While the clock is ticking\r\n      restRemaining -= 1;\r\n      timeSince = millis();\r\n      noTone(BUZZ);\r\n    }\r\n\r\n    displayTime = restRemaining;\r\n  }\r\n\r\n  \/\/Calculations for time to be displayed\r\n  int seconds = displayTime \/60 % 60;\r\n  int minutes = displayTime \/ 3600;\r\n\r\n  int comb = minutes * 100 + seconds;\r\n\r\n  sevseg.setNumber(comb, 2);\r\n  sevseg.refreshDisplay(); \/\/ Must run repeatedly\r\n  \r\n  lastState = state;\r\n}<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview: &nbsp; Pomodoro Timer: a studying technique that alternates between periods of work and rest. Periods of work usually last from 30 min &#8211; 1 hour, while periods&#8230;<\/p>\n","protected":false},"author":170,"featured_media":12799,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[89],"tags":[],"_links":{"self":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/posts\/12798"}],"collection":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/users\/170"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/comments?post=12798"}],"version-history":[{"count":9,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/posts\/12798\/revisions"}],"predecessor-version":[{"id":12839,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/posts\/12798\/revisions\/12839"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/media\/12799"}],"wp:attachment":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/media?parent=12798"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/categories?post=12798"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/tags?post=12798"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}