{"id":14339,"date":"2021-11-02T02:32:59","date_gmt":"2021-11-02T06:32:59","guid":{"rendered":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/?p=14339"},"modified":"2021-11-02T02:37:49","modified_gmt":"2021-11-02T06:37:49","slug":"mooonster-timer-box","status":"publish","type":"post","link":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/mooonster-timer-box\/","title":{"rendered":"Mooonster Timer Box"},"content":{"rendered":"<p>The &#8220;Mooonster Timer Box&#8221; functions as a timer for a quick sketch\/timed exam session.<\/p>\n<h3><strong>Images<\/strong><\/h3>\n<div id=\"attachment_14375\" style=\"width: 2570px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-14375\" loading=\"lazy\" class=\"wp-image-14375 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8490-1-scaled.jpg\" alt=\"\" width=\"2560\" height=\"1707\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8490-1-scaled.jpg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8490-1-300x200.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8490-1-1024x683.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8490-1-768x512.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8490-1-1536x1024.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8490-1-2048x1365.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8490-1-973x649.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8490-1-508x339.jpg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><p id=\"caption-attachment-14375\" class=\"wp-caption-text\">Overall Photo<\/p><\/div>\n<div id=\"attachment_14376\" style=\"width: 2570px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-14376\" loading=\"lazy\" class=\"wp-image-14376 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8488-scaled.jpg\" alt=\"\" width=\"2560\" height=\"1707\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8488-scaled.jpg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8488-300x200.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8488-1024x683.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8488-768x512.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8488-1536x1024.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8488-2048x1365.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8488-973x649.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8488-508x339.jpg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><p id=\"caption-attachment-14376\" class=\"wp-caption-text\">Details: Wiring Inside the Box<\/p><\/div>\n<div id=\"attachment_14377\" style=\"width: 2570px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-14377\" loading=\"lazy\" class=\"wp-image-14377 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8492-scaled.jpg\" alt=\"\" width=\"2560\" height=\"1707\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8492-scaled.jpg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8492-300x200.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8492-1024x683.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8492-768x512.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8492-1536x1024.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8492-2048x1365.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8492-973x649.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8492-508x339.jpg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><p id=\"caption-attachment-14377\" class=\"wp-caption-text\">Details: The welcome kitty smile when plugged in! (\u00b7v\u00b7)<\/p><\/div>\n<div id=\"attachment_14378\" style=\"width: 2570px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-14378\" loading=\"lazy\" class=\"wp-image-14378 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8494-scaled.jpg\" alt=\"\" width=\"2560\" height=\"1707\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8494-scaled.jpg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8494-300x200.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8494-1024x683.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8494-768x512.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8494-1536x1024.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8494-2048x1365.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8494-973x649.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8494-508x339.jpg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><p id=\"caption-attachment-14378\" class=\"wp-caption-text\">In Use: Lit up ring in the dark during countdown<\/p><\/div>\n<div id=\"attachment_14379\" style=\"width: 2570px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-14379\" loading=\"lazy\" class=\"wp-image-14379 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8495-scaled.jpg\" alt=\"\" width=\"2560\" height=\"1707\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8495-scaled.jpg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8495-300x200.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8495-1024x683.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8495-768x512.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8495-1536x1024.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8495-2048x1365.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8495-973x649.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/MG_8495-508x339.jpg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><p id=\"caption-attachment-14379\" class=\"wp-caption-text\">In Use: Lit up ring in the dark when the timer is up<\/p><\/div>\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-14339-1\" width=\"620\" height=\"349\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/IMG_0730-2.mp4?_=1\" \/><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/IMG_0730-2.mp4\">https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/IMG_0730-2.mp4<\/a><\/video><\/div>\n<p style=\"text-align: center\"><em>Video Demonstration of the Usage<\/em><\/p>\n<p><em>* Timer has been sped up for demo purposes! The timer only counted approx. 5 seconds although the timer is set to 1 minute<\/em><\/p>\n<h3><strong>Process Images and Review<\/strong><\/h3>\n<ul>\n<li><em>Decision Point #1: Discarding the Stepper Motor and &#8220;King Arthur&#8221; Decor<\/em><\/li>\n<\/ul>\n<div id=\"attachment_14390\" style=\"width: 1986px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-14390\" loading=\"lazy\" class=\"wp-image-14390 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/sketch.jpg\" alt=\"\" width=\"1976\" height=\"936\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/sketch.jpg 1976w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/sketch-300x142.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/sketch-1024x485.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/sketch-768x364.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/sketch-1536x728.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/sketch-973x461.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/sketch-508x241.jpg 508w\" sizes=\"(max-width: 1976px) 100vw, 1976px\" \/><p id=\"caption-attachment-14390\" class=\"wp-caption-text\">Original sketch, which features the stepper motor and King Arthur<\/p><\/div>\n<div id=\"attachment_14392\" style=\"width: 1736px\" class=\"wp-caption alignright\"><img aria-describedby=\"caption-attachment-14392\" loading=\"lazy\" class=\"wp-image-14392 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/sketchnew.jpg\" alt=\"\" width=\"1726\" height=\"1480\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/sketchnew.jpg 1726w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/sketchnew-300x257.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/sketchnew-1024x878.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/sketchnew-768x659.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/sketchnew-1536x1317.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/sketchnew-973x834.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/sketchnew-508x436.jpg 508w\" sizes=\"(max-width: 1726px) 100vw, 1726px\" \/><p id=\"caption-attachment-14392\" class=\"wp-caption-text\">The updated sketch for the final product before fabrication.<\/p><\/div>\n<p>In the original ideation, I wanted to use a stepper motor to mimic the clock&#8217;s hands, and have it rotate to point to a ring of lit up lights as the timer goes down. However, I soon realized that the stepper motor can take up a large amount of space, which would cause trouble for fabrication, while providing merely decorative effects. So I decided to remove the stepper motor from the project.<\/p>\n<p>The 3D printed decorative object was removed due to similar reasons. Initially, since the device requires the user to put back the pen once the timer is up, I wanted to name the project &#8220;Excalibur&#8221;, referencing the sword that cannot be pulled out and stays in place. So I wanted to model a &#8220;King Arthur&#8221; figure to &#8220;hold&#8221; the pencil in place. However, after starting the model for around 30 minutes, I realize the modeling of this merely decorative character would take significantly more time than I anticipated. Since this shouldn&#8217;t be the focus of the project, I decided to remove this component as well.<\/p>\n<ul>\n<li><em>Decision Point #2: Fabrication through Laser Cutting instead of 3D Printing<\/em><\/li>\n<\/ul>\n<div id=\"attachment_14389\" style=\"width: 1326px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-14389\" loading=\"lazy\" class=\"wp-image-14389 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/3dmodel.jpg\" alt=\"\" width=\"1316\" height=\"928\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/3dmodel.jpg 1316w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/3dmodel-300x212.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/3dmodel-1024x722.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/3dmodel-768x542.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/3dmodel-973x686.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/3dmodel-508x358.jpg 508w\" sizes=\"(max-width: 1316px) 100vw, 1316px\" \/><p id=\"caption-attachment-14389\" class=\"wp-caption-text\">The failed model for 3d printing. The geometry could not fom a valid manifold on the inner side of the box.<\/p><\/div>\n<div id=\"attachment_14393\" style=\"width: 1332px\" class=\"wp-caption alignleft\"><img aria-describedby=\"caption-attachment-14393\" loading=\"lazy\" class=\"wp-image-14393 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/boxsides.jpg\" alt=\"\" width=\"1322\" height=\"1230\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/boxsides.jpg 1322w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/boxsides-300x279.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/boxsides-1024x953.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/boxsides-768x715.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/boxsides-973x905.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/boxsides-508x473.jpg 508w\" sizes=\"(max-width: 1322px) 100vw, 1322px\" \/><p id=\"caption-attachment-14393\" class=\"wp-caption-text\">Laser cutting design for the four sides of the box<\/p><\/div>\n<div id=\"attachment_14394\" style=\"width: 1312px\" class=\"wp-caption alignright\"><img aria-describedby=\"caption-attachment-14394\" loading=\"lazy\" class=\"wp-image-14394 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/topbot.jpg\" alt=\"\" width=\"1302\" height=\"1264\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/topbot.jpg 1302w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/topbot-300x291.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/topbot-1024x994.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/topbot-768x746.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/topbot-973x945.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/topbot-508x493.jpg 508w\" sizes=\"(max-width: 1302px) 100vw, 1302px\" \/><p id=\"caption-attachment-14394\" class=\"wp-caption-text\">Laser cutting design for the box top\/bottom<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>Initially I wanted to 3D print the outer box, giving it a smooth, plastic-like texture. However, after realizing that printing one small component could take one hour, I realize 3D printing is not the most efficient way, especially if I need to modify the appearance in any way. In addition, it turns out Maya isn&#8217;t exactly designed for fabrication modeling. Specifying a certain length in Maya was absolutely pain, and creating a manifold was also a problem. Therefore, I decided to switch to laser cutting the outside box, which turned out to be much more efficient.<\/p>\n<ul>\n<li><em>Some More Process Images:<\/em><\/li>\n<\/ul>\n<div id=\"attachment_14413\" style=\"width: 1802px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-14413\" loading=\"lazy\" class=\"wp-image-14413 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/whiteboard.jpg\" alt=\"\" width=\"1792\" height=\"1336\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/whiteboard.jpg 1792w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/whiteboard-300x224.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/whiteboard-1024x763.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/whiteboard-768x573.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/whiteboard-1536x1145.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/whiteboard-973x725.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/whiteboard-508x379.jpg 508w\" sizes=\"(max-width: 1792px) 100vw, 1792px\" \/><p id=\"caption-attachment-14413\" class=\"wp-caption-text\">The sample code from NeoPixel library uses a for loop to light up each pixel, which requires the use of delay(). This image illustrates the process of figuring out how to loop through the lights on the NeoPixel ring correctly, so that they light up one by one without interfering the rest of the general loop.<\/p><\/div>\n<div style=\"width: 620px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-14339-2\" width=\"620\" height=\"349\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/IMG_0635.mp4?_=2\" \/><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/IMG_0635.mp4\">https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/IMG_0635.mp4<\/a><\/video><\/div>\n<p style=\"text-align: center\"><em>This is the complete functional software prototype before the fabrication design began.<\/em><\/p>\n<div id=\"attachment_14414\" style=\"width: 1122px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-14414\" loading=\"lazy\" class=\"wp-image-14414 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/proto.jpg\" alt=\"\" width=\"1112\" height=\"1152\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/proto.jpg 1112w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/proto-290x300.jpg 290w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/proto-988x1024.jpg 988w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/proto-768x796.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/proto-973x1008.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/proto-508x526.jpg 508w\" sizes=\"(max-width: 1112px) 100vw, 1112px\" \/><p id=\"caption-attachment-14414\" class=\"wp-caption-text\">Roughly assembled fabrication with functioning software<\/p><\/div>\n<h3><strong>Discussion<\/strong><\/h3>\n<p>Overall, I was proud of the final product of this project, as the core functionality from the ideation was fully implemented, and the desired aesthetic design was achieved.<\/p>\n<p>I was pleasantly surprised at how well the appearance turned out. Compared to physical fabrication, I was a lot more confident in the software implementation and electrical wiring. As someone with no experience with fabrication ever, I was dreading making the outer box for the project, and I was prepared for some degree of failure. But after warming up and experimenting with the laser cutting machine for a while, the process of fabrication went much smoother and quicker than I anticipated, and I really enjoyed it. I would definitely use this newly acquired skill in fabrication in the final project and some personal projects as well.<\/p>\n<p>Regarding the in-class review and criticism, I totally agree with the following one: <span style=\"font-weight: 400\">&#8220;It seems a bit bulky for something sitting on your desk.&#8221; <\/span>This was my thought as well after assembling the box. I overestimated the space that the wiring would take up and made the box bigger than needed. Although it does not affect the appearance too much, it does cause some nuisance if I were to use this product daily, since it takes up a big chunk of space on my already crowded desk. In the future, I should definitely measure out the space the creation requires in detail, instead of just &#8220;eyeballing&#8221; how much space it might need.<\/p>\n<p>I also appreciated the comments addressing the aesthetic design, such as &#8220;<span style=\"font-weight: 400\">Really nice box and layout of components on the outside. Ah! A face! Cute&#8221; and &#8220;Looks elegant for your problem and would be a useful incentive to stop working since the lights are so bright.&#8221; One of the invited guests from that lecture also stared at the box for quite a while and told me that he &#8220;loves the little face&#8221;. The fact that the aesthetic design drew a lot of attention actually inspired me to improve the appearance a little bit more before documentation, adding a touch of yellow eyes and red cheeks to &#8220;humanize&#8221; the box even more.\u00a0 (<\/span>Special thanks to Nathan for the suggestion of adding the pink cheeks. Absolutely phenomenal. )<\/p>\n<p>I might build a more compact version of this product in the future, with more compact wiring, a smaller Arduino board, and a reduced-sized outer box. This would be a lot more practical to be used more often. In addition, this time I would actually model the disposed &#8220;King Arthur&#8221;, just to experiment with 3D printing a little bit.<\/p>\n<h3><strong>Functional Block Diagram<\/strong><\/h3>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-14368 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/Schematic-Graph.jpg\" alt=\"\" width=\"1776\" height=\"842\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/Schematic-Graph.jpg 1776w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/Schematic-Graph-300x142.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/Schematic-Graph-1024x485.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/Schematic-Graph-768x364.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/Schematic-Graph-1536x728.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/Schematic-Graph-973x461.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/Schematic-Graph-508x241.jpg 508w\" sizes=\"(max-width: 1776px) 100vw, 1776px\" \/><\/p>\n<h3><strong>Schematic Diagram<\/strong><\/h3>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-14369 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/block.jpg\" alt=\"\" width=\"1392\" height=\"1196\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/block.jpg 1392w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/block-300x258.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/block-1024x880.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/block-768x660.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/block-973x836.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/11\/block-508x436.jpg 508w\" sizes=\"(max-width: 1392px) 100vw, 1392px\" \/><\/p>\n<h3><strong>Code<\/strong><\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\">\/*\r\n * Mooonster Timer Box\r\n * \r\n * Creator: Bella Liu\r\n * \r\n * Description:\r\n *   The project functions as a timer.\r\n *   The user can adjust the input time using the potentiometer.\r\n *   Once the time is adjusted, the user can press the start button to enter \"timing session\"\r\n *   The timer would then start, with the remaining time displayed on LCD screen.\r\n *   The ring of lights would light up, showing how much time has passed since the timer started.\r\n *   Once the count down is finished, the ring of lights would flash intense red lights,\r\n *   and the LCD screen would warn the user to put down the pen.\r\n *   The user must push the pen down the little hole on top to trigger the FSR, thus resetting the timer.\r\n *\r\n * Pin Mapping Table:\r\n * \r\n *   Arduino pin | description\r\n *   ------------|-------------\r\n *   A0            FSR (output)\r\n *   A2            Potentiometer (input)\r\n *    2            Tactile Button Switch (input)\r\n *    6            NeoPixel Ring (input)\r\n *   SDA           SDA pin - LCD display (input)\r\n *   SCL           SCL pin - LCD display (input)\r\n *\r\n *\/\r\n\r\n\r\n#include &lt;Adafruit_NeoPixel.h&gt;\r\n#include &lt;LiquidCrystal_I2C.h&gt;\r\n\r\n\/\/ Initializations for pins\r\nconst int FSR_PIN = A0;\r\nconst int POT_PIN = A2;\r\nconst int BUTTON_PIN = 2;\r\nconst int NEO_PIN = 6;\r\n\r\nconst int NUMPIXELS = 24; \/\/ Popular NeoPixel ring size\r\n\r\n\/\/ The state of the tactile button\r\nbool buttoned = LOW;\r\n\/\/ Indicates whether the timer is in session\r\nbool activated = LOW;\r\n\/\/ The potentiometer value\r\nint potVal = 0;\r\n\/\/ The number of lights lit up in the ring\r\nint lighted = 0;\r\n\r\n\/\/ Variables\r\nunsigned long lightTimer = 0;\r\nconst int lightWait = 500;\r\n\r\nunsigned long LCDtimer = 0;\r\nconst int LCDwait = 500;\r\nbool LCDstate = LOW;\r\n\r\nunsigned long warningTimer = 0;\r\nconst int warningWait = 500;\r\nbool warningState = LOW;\r\n\r\n\/\/ Initialization of LCD and NeoPixel\r\nLiquidCrystal_I2C screen(0x27, 16, 2);\r\nAdafruit_NeoPixel pixels(NUMPIXELS, NEO_PIN, NEO_GRB + NEO_KHZ800);\r\n\r\nvoid setup() {\r\n\r\n  pixels.begin();\r\n  pinMode(POT_PIN, INPUT);\r\n  pinMode(BUTTON_PIN, INPUT);\r\n  pinMode(FSR_PIN, OUTPUT);  \r\n  Serial.begin(9600);\r\n  screen.init();\r\n  screen.backlight();\r\n\r\n  \/\/welcome smiley face\r\n  screen.setCursor(7,1);\r\n  screen.print(\"vv\");   \r\n  delay(5000);\r\n\r\n  screen.home();\r\n}\r\n\r\nvoid loop() {\r\n   \r\n  buttoned = digitalRead(BUTTON_PIN);\r\n  if (buttoned == HIGH) activated = HIGH;\r\n  int minuteMin = 1;\r\n  int minuteMax = 60;\r\n  long interMin = 2500;\r\n  long interMax = 150000;\r\n\r\n  \/\/ Mapping the potentiometer value to 1-60 minutes\r\n  int minute = map(potVal, 0, 1023, minuteMin, minuteMax);\r\n  \/\/ Mapping 1-60 minutes to appropriate intervals for each light to light up\r\n  unsigned int interval = map(minute, minuteMin, minuteMax, interMin, interMax); \r\n   \r\n  \/\/User is adjusting timer input\r\n  if (activated == LOW)\r\n  {\r\n    pixels.clear();\r\n    pixels.show();  \r\n    lighted = 0;\r\n    \r\n    potVal = analogRead(A2);\r\n    \r\n    \/\/ Display the chosen time\r\n    if ( (millis() - LCDtimer) &gt;= LCDwait ) {\r\n        screen.clear();\r\n        screen.print(\"timer for:\");\r\n        screen.setCursor(0,1);\r\n        screen.print(minute);      \r\n        LCDtimer = millis();\r\n    }\r\n  \r\n  }\r\n  \r\n  \/\/The button has been pressed, enter \"timing session\"\r\n  else\r\n  { \r\n    pixels.clear(); \/\/ Set all pixel colors to 'off'\r\n\r\n    unsigned long current = millis();\r\n\r\n    \/\/If time is up, stay in warning state\r\n    if (lighted &gt;= NUMPIXELS){\r\n\r\n      \/\/ If FSR is triggered, exit warning state and return to user time adjustment phase\r\n      if (analogRead(FSR_PIN) &gt; 5) activated = LOW;\r\n      \r\n      if ( (millis() - warningTimer) &gt;= warningWait ) {\r\n        warningState = !warningState;\r\n        warningTimer = millis();\r\n      }    \r\n        \r\n      \/\/ Flash red light\r\n      if (warningState == HIGH) {      \r\n        for (int i = 0; i &lt; NUMPIXELS; i++){\r\n           pixels.setPixelColor(i, pixels.Color(255, 0, 0));\r\n         }\r\n      }\r\n      pixels.show();\r\n\r\n      \/\/ Display warning messages\r\n      if ( (millis() - LCDtimer) &gt;= LCDwait ) {\r\n          screen.clear();\r\n          screen.print(\"STOP! PEN DOWN!\");        \r\n          LCDtimer = millis();\r\n      }\r\n \r\n    }\r\n   \r\n    \/\/ For RGB values\r\n    int green = 240;\r\n    int blue = 0;    \r\n    int red = 0;\r\n\r\n    \/\/If time is not up, light up the lights accordingly\r\n    while (lighted &lt; NUMPIXELS){\r\n      \r\n      if ( (millis() - lightTimer) &gt;= interval) {\r\n\r\n        \/\/ Change the color of the each light\r\n        blue += 10;\r\n        green -= 10;\r\n        red += 5;\r\n=\r\n        pixels.setPixelColor(lighted, pixels.Color(red, green, blue));\r\n        lighted ++;\r\n        lightTimer = millis();\r\n      }\r\n      pixels.show();\r\n\r\n      \/\/ Calculate the times\r\n      int passedSec = ((millis()-current)\/1000);\r\n      int displaySec = passedSec % 60;\r\n      int passedMin = passedSec \/ 60;\r\n\r\n      \/\/ Display the timez on LCD screen\r\n      if ( (millis() - LCDtimer) &gt;= LCDwait ) {\r\n          screen.clear();\r\n          screen.print(\"Total\");\r\n          screen.setCursor(0,1);\r\n          screen.print(minute);        \r\n          screen.setCursor(6,0);\r\n          screen.print(\"Counting\");          \r\n          screen.setCursor(6,1);\r\n          screen.print(passedMin);\r\n          screen.setCursor(8,1);\r\n          screen.print(\":\");      \r\n          screen.setCursor(9,1);\r\n          screen.print(displaySec);          \r\n          LCDtimer = millis();\r\n      }      \r\n    }    \r\n  }   \r\n}<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The &#8220;Mooonster Timer Box&#8221; functions as a timer for a quick sketch\/timed exam session. Images Video Demonstration of the Usage * Timer has been sped up for demo&#8230;<\/p>\n","protected":false},"author":200,"featured_media":14365,"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\/f2021\/work\/wp-json\/wp\/v2\/posts\/14339"}],"collection":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-json\/wp\/v2\/users\/200"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-json\/wp\/v2\/comments?post=14339"}],"version-history":[{"count":22,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-json\/wp\/v2\/posts\/14339\/revisions"}],"predecessor-version":[{"id":14428,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-json\/wp\/v2\/posts\/14339\/revisions\/14428"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-json\/wp\/v2\/media\/14365"}],"wp:attachment":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-json\/wp\/v2\/media?parent=14339"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-json\/wp\/v2\/categories?post=14339"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-json\/wp\/v2\/tags?post=14339"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}