{"id":13392,"date":"2021-05-12T12:54:40","date_gmt":"2021-05-12T16:54:40","guid":{"rendered":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/?p=13392"},"modified":"2021-05-22T17:40:56","modified_gmt":"2021-05-22T21:40:56","slug":"button-activated-blinds-operator-by-team-laurels-final-documentation","status":"publish","type":"post","link":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/button-activated-blinds-operator-by-team-laurels-final-documentation\/","title":{"rendered":"Button Activated Blinds Operator by Team Laurels: Final Documentation"},"content":{"rendered":"<p>This particular assistive device was developed as the final project for physical computing where 3 students worked closely with our client, Elaine Houston, to create something that would improve their ability to complete daily tasks. Starting off this process process with an interview, we were able to get a sense of what types of devices would suit Elaine&#8217;s needs best. More information on this interview process can be found in our <a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/interview-documentation\/\" target=\"_blank\" rel=\"noopener\">interview documentation<\/a> page. After narrowing down our list of devices we developed a prototype that we then presented to Elaine for initial feedback. With this feedback as well as continual input from Elaine throughout the process, we arrived at this final button-activated blinds operator design.<\/p>\n<h1 id=\"process-images-and-review\">What We Built<\/h1>\n<p>This device allows Elaine to raise and lower her blinds at the push of a button. Incorporating Elaine&#8217;s dog Oak into the final design, once Oak pushes the button, the blinds operator will rotate the curtain chain in a certain direction to raise or lower the curtains until they are fully open or closed. The direction of the spinning is dependent upon whether the curtains need to be raised or lowered. Finally, while the blinds are in the process of raising or lowering, the button is disabled.<\/p>\n<div id=\"attachment_13481\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13481\" loading=\"lazy\" class=\"wp-image-13481 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/ezgif-2-0cbd405c679f.gif\" alt=\"\" width=\"600\" height=\"1067\" \/><p id=\"caption-attachment-13481\" class=\"wp-caption-text\">Here&#8217;s a gif of the blinds operator working. While this video is faster than real time, if you look closely, you can see the rotation of the motor arm slow start and stop feature.<\/p><\/div>\n<h3>Details<\/h3>\n<div id=\"attachment_13482\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13482\" loading=\"lazy\" class=\"wp-image-13482 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/182423657_135413925237930_3556911951120223149_n.jpg\" alt=\"\" width=\"1200\" height=\"1600\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/182423657_135413925237930_3556911951120223149_n.jpg 1200w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/182423657_135413925237930_3556911951120223149_n-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/182423657_135413925237930_3556911951120223149_n-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/182423657_135413925237930_3556911951120223149_n-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/182423657_135413925237930_3556911951120223149_n-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/182423657_135413925237930_3556911951120223149_n-508x677.jpg 508w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><p id=\"caption-attachment-13482\" class=\"wp-caption-text\">The inner compartment of the blinds. Pictured is the primary tensioning mechanism consisting of the threaded rod in the center of the motor mount, the acrylic motor mount, and the secondary tensioning mechanism consisting of the spring connected to the link. This secondary tensioning mechanism is used to keep tension on the ball chain once it motor mount is adjusted to the correct height with the primary tensioning mechanism.<\/p><\/div>\n<div id=\"attachment_13483\" style=\"width: 1277px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13483\" loading=\"lazy\" class=\"wp-image-13483 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/meshing-system-scaled-e1621461285526.jpg\" alt=\"\" width=\"1267\" height=\"1312\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/meshing-system-scaled-e1621461285526.jpg 1267w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/meshing-system-scaled-e1621461285526-290x300.jpg 290w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/meshing-system-scaled-e1621461285526-989x1024.jpg 989w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/meshing-system-scaled-e1621461285526-768x795.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/meshing-system-scaled-e1621461285526-973x1008.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/meshing-system-scaled-e1621461285526-508x526.jpg 508w\" sizes=\"(max-width: 1267px) 100vw, 1267px\" \/><p id=\"caption-attachment-13483\" class=\"wp-caption-text\">The laser-cut gear mechanism plus the motor mount which will interface with the ball-chain and turn it.<\/p><\/div>\n<div id=\"attachment_13484\" style=\"width: 1930px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13484\" loading=\"lazy\" class=\"wp-image-13484 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/181028907_371498914189839_4552521194707839728_n-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" \/><p id=\"caption-attachment-13484\" class=\"wp-caption-text\">Outside view of the power jack adapter for the power supply and the barrel jack adapter for the button.<\/p><\/div>\n<div id=\"attachment_13485\" style=\"width: 2570px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13485\" loading=\"lazy\" class=\"wp-image-13485 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/180329016_167614415266760_7521949039180739404_n-scaled.jpg\" alt=\"\" width=\"2560\" height=\"1920\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/180329016_167614415266760_7521949039180739404_n-scaled.jpg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/180329016_167614415266760_7521949039180739404_n-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/180329016_167614415266760_7521949039180739404_n-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/180329016_167614415266760_7521949039180739404_n-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/180329016_167614415266760_7521949039180739404_n-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/180329016_167614415266760_7521949039180739404_n-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/180329016_167614415266760_7521949039180739404_n-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/180329016_167614415266760_7521949039180739404_n-508x381.jpg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><p id=\"caption-attachment-13485\" class=\"wp-caption-text\">A side-angle-view of the entire device. The knob at the top (not pictured) controls the position of the inner motor mount by turning the threaded rod.<\/p><\/div>\n<h3>Narrative Use Description<\/h3>\n<p>Elaine is relaxing at home and doing some work at her desk when she realizes that the blinds are open. Seeking to reduce the glare from the sunlight, Elaine would like to close the blinds. Since her aide is not there at the moment, she calls for Oak, her service dog who is always nearby. Elaine gives Oak the command to press the large button by her desk, and Oak complies quickly, understanding very easily where he should press. This button-press triggers the motor attached to the ball-chain on the blinds, slowly lowering the canvas to cover the harsh sunlight.<\/p>\n<p>The next morning is a beautiful day, and Elaine would like her blinds open again. Giving Oak the command again, Oak walks over to press the button as Elaine sits back and watches her blinds open up again.<\/p>\n<h2 id=\"3-how-we-got-here-prototype-and-process-20-pts\">How we got here (prototype and process)<\/h2>\n<h3>Eric<\/h3>\n<h4>Button Switch<\/h4>\n<p>I started my portion of the blinds opener by prototyping the question:<\/p>\n<ul>\n<li>How would the opener best be operated by Oak?<\/li>\n<\/ul>\n<p>We settled on a push button as the switch that Oak would press to activate the blinds opener. The physical computing lab had small arcade pushbuttons, which I decided to use as a base for a larger 3D printed adapter to make the button bigger, and therefore easier for Oak to press.<\/p>\n<div id=\"attachment_13788\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13788\" loading=\"lazy\" class=\"wp-image-13788 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/button-1024x641.jpg\" alt=\"\" width=\"620\" height=\"388\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/button-1024x641.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/button-300x188.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/button-768x481.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/button-973x609.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/button-508x318.jpg 508w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/button.jpg 1221w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-13788\" class=\"wp-caption-text\">CAD Model of the Button Housing.<\/p><\/div>\n<p>Although this prototype was physically the size we wanted, certain dimensions were too small, causing the button to be permanently pressed down, and as the print for the button part failed and it would take several days to a week to print another, I decided to take a different route.<\/p>\n<div id=\"attachment_13789\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13789\" loading=\"lazy\" class=\"wp-image-13789 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1520-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1520-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1520-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1520-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1520-1536x1153.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1520-2048x1537.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1520-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1520-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-13789\" class=\"wp-caption-text\">The 3D printed housing was supposed to make an arcade pushbutton larger but proved difficult to design quickly.<\/p><\/div>\n<p>Our client Elaine suggested that we use a manufactured answer button as the basis of our button switch, and &#8220;hack&#8221; it into a powerless switch that interfaced with the opener through the use of a 3.5mm aux cable. We ended up using this button switch due to its reliability from using a premade, proven-to-work mechanism whilst serving the same function as anything we could 3D print.<\/p>\n<div id=\"attachment_13791\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13791\" loading=\"lazy\" class=\"wp-image-13791 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1556-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1556-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1556-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1556-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1556-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1556-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1556-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1556-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-13791\" class=\"wp-caption-text\">Building the answer button switch.<\/p><\/div>\n<div id=\"attachment_13790\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13790\" loading=\"lazy\" class=\"wp-image-13790 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1558-768x1024.jpg\" alt=\"\" width=\"620\" height=\"827\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1558-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1558-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1558-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1558-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1558-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1558-508x677.jpg 508w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1558-scaled.jpg 1920w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-13790\" class=\"wp-caption-text\">The final working pushbutton switch.<\/p><\/div>\n<h4>Secondary Tensioner Mechanism<\/h4>\n<p>Since we would not have access to Elaine&#8217;s blinds due to COVID restrictions, getting exact dimensions of the blinds chain was very difficult, so we built multiple tensioning mechanisms as a safeguard for the opener to work regardless of measurement precision. Our first tensioner was made of K&#8217;nex, plywood, and a few hardware bits.<\/p>\n<p><img loading=\"lazy\" class=\"size-large wp-image-13792 aligncenter\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1545-768x1024.jpg\" alt=\"\" width=\"620\" height=\"827\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1545-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1545-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1545-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1545-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1545-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1545-508x677.jpg 508w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1545-scaled.jpg 1920w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/p>\n<p>Jud and I redesigned the tensioner later on to make it more compact and interface with the motor sprocket more easily. Here&#8217;s a mockup of how the tensioner would attach to Jud&#8217;s motor mount box.<\/p>\n<p><img loading=\"lazy\" class=\"size-large wp-image-13793 aligncenter\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1570-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1570-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1570-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1570-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1570-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1570-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1570-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_1570-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/p>\n<h3>Dominique<\/h3>\n<p>This prototype was designed to help answer the design questions:<\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">What mechanism is sufficient for gripping and moving a stiff chain on a set of blinds?<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">What might the motor encasing look like?<\/span><\/li>\n<\/ul>\n<p>I created some models of the encasing and the meshing mechanism and iterated over a period of time, slowly focusing more on just the meshing system. The meshing system interfaces with the ball chain on Elaine&#8217;s blinds and had to be adjusted to fit those measurements. The encasing took into account the measurements of Elaine&#8217;s blinds and how it would attach to he wall.<\/p>\n<div id=\"attachment_13506\" style=\"width: 1530px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13506\" loading=\"lazy\" class=\"wp-image-13506 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-7-e1620835010884.jpg\" alt=\"\" width=\"1520\" height=\"881\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-7-e1620835010884.jpg 1520w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-7-e1620835010884-300x174.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-7-e1620835010884-1024x594.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-7-e1620835010884-768x445.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-7-e1620835010884-973x564.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-7-e1620835010884-508x294.jpg 508w\" sizes=\"(max-width: 1520px) 100vw, 1520px\" \/><p id=\"caption-attachment-13506\" class=\"wp-caption-text\">sketch of overall plan for prototype<\/p><\/div>\n<h4>Meshing Sprocket System<\/h4>\n<div id=\"attachment_13508\" style=\"width: 846px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13508\" loading=\"lazy\" class=\"wp-image-13508 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-8-e1620835212164.png\" alt=\"\" width=\"836\" height=\"876\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-8-e1620835212164.png 836w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-8-e1620835212164-286x300.png 286w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-8-e1620835212164-768x805.png 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-8-e1620835212164-508x532.png 508w\" sizes=\"(max-width: 836px) 100vw, 836px\" \/><p id=\"caption-attachment-13508\" class=\"wp-caption-text\">first sketch of meshing gear<\/p><\/div>\n<h1>\u2193<\/h1>\n<div id=\"attachment_13514\" style=\"width: 1338px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13514\" loading=\"lazy\" class=\"wp-image-13514 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/image-1-e1620836060772.jpg\" alt=\"\" width=\"1328\" height=\"600\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/image-1-e1620836060772.jpg 1328w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/image-1-e1620836060772-300x136.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/image-1-e1620836060772-1024x463.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/image-1-e1620836060772-768x347.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/image-1-e1620836060772-973x440.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/image-1-e1620836060772-508x230.jpg 508w\" sizes=\"(max-width: 1328px) 100vw, 1328px\" \/><p id=\"caption-attachment-13514\" class=\"wp-caption-text\">Fusion Model of version 1 of meshing system<\/p><\/div>\n<h1>\u2193<\/h1>\n<div id=\"attachment_13513\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13513\" loading=\"lazy\" class=\"wp-image-13513 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/69A398E8-87EA-4F3C-80A9-F5DC16FDD3F2-e1620836136523.jpeg\" alt=\"\" width=\"1200\" height=\"696\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/69A398E8-87EA-4F3C-80A9-F5DC16FDD3F2-e1620836136523.jpeg 1200w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/69A398E8-87EA-4F3C-80A9-F5DC16FDD3F2-e1620836136523-300x174.jpeg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/69A398E8-87EA-4F3C-80A9-F5DC16FDD3F2-e1620836136523-1024x594.jpeg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/69A398E8-87EA-4F3C-80A9-F5DC16FDD3F2-e1620836136523-768x445.jpeg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/69A398E8-87EA-4F3C-80A9-F5DC16FDD3F2-e1620836136523-973x564.jpeg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/69A398E8-87EA-4F3C-80A9-F5DC16FDD3F2-e1620836136523-508x295.jpeg 508w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><p id=\"caption-attachment-13513\" class=\"wp-caption-text\">3D printed prototype of meshing system<\/p><\/div>\n<h1>\u2193<\/h1>\n<div id=\"attachment_13512\" style=\"width: 1076px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13512\" loading=\"lazy\" class=\"wp-image-13512 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/un.png\" alt=\"\" width=\"1066\" height=\"1462\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/un.png 1066w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/un-219x300.png 219w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/un-747x1024.png 747w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/un-768x1053.png 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/un-973x1334.png 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/un-508x697.png 508w\" sizes=\"(max-width: 1066px) 100vw, 1066px\" \/><p id=\"caption-attachment-13512\" class=\"wp-caption-text\">second sketch of meshing gear, this time with threads because it would mount better with the motor that my teammate found<\/p><\/div>\n<h1>\u2193<\/h1>\n<div id=\"attachment_13515\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13515\" loading=\"lazy\" class=\"wp-image-13515 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/ezgif-2-255dbd6ef209.gif\" alt=\"\" width=\"600\" height=\"372\" \/><p id=\"caption-attachment-13515\" class=\"wp-caption-text\">version 2 3D CAD design. Biggest problem with this is that the threads are too close to edges and measurements in general are off. You can see here that I got rid of the pegs protruding around the gear circumference and designed a sort of alternating plate cut-out. This design was inspired by facory-made blind rollers you might find in IKEA, and is less likely to make the chain get stuck.<\/p><\/div>\n<h1>\u2193<\/h1>\n<div id=\"attachment_13516\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13516\" loading=\"lazy\" class=\"wp-image-13516 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/ezgif-2-8c2d6f1d202e.gif\" alt=\"\" width=\"600\" height=\"372\" \/><p id=\"caption-attachment-13516\" class=\"wp-caption-text\">finalized 3D CAD design, fits to specified motor and threads were aken out and replaced with holes for bolts because we were laser cutting, not 3D printing, so threads would only cut the smallest circumference of their spiral, making it impossible to put or bolts in. Also, I realized the diameter of the inner pattern needed to be smaller than the outher plates in order to hold the chain better. Discovered this after looking at the IKEA example again. In this particular gif, I have my design cut open so I could get this inner face for laser cutting purposes, which is why you&#8217;re seeing double.<\/p><\/div>\n<h1>\u2193<\/h1>\n<div id=\"attachment_13517\" style=\"width: 1930px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13517\" loading=\"lazy\" class=\"wp-image-13517 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/179863048_2739467752959349_8633045399747634605_n-scaled-e1620837340316.jpg\" alt=\"\" width=\"1920\" height=\"1651\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/179863048_2739467752959349_8633045399747634605_n-scaled-e1620837340316.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/179863048_2739467752959349_8633045399747634605_n-scaled-e1620837340316-300x258.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/179863048_2739467752959349_8633045399747634605_n-scaled-e1620837340316-1024x881.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/179863048_2739467752959349_8633045399747634605_n-scaled-e1620837340316-768x660.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/179863048_2739467752959349_8633045399747634605_n-scaled-e1620837340316-1536x1321.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/179863048_2739467752959349_8633045399747634605_n-scaled-e1620837340316-973x837.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/179863048_2739467752959349_8633045399747634605_n-scaled-e1620837340316-508x437.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><p id=\"caption-attachment-13517\" class=\"wp-caption-text\">laser-cut meshing system bolted to mounting hub<\/p><\/div>\n<h4>Encasing<\/h4>\n<div id=\"attachment_13518\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13518\" loading=\"lazy\" class=\"wp-image-13518 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/ezgif-2-7c22de2c9f2b.gif\" alt=\"\" width=\"600\" height=\"372\" \/><p id=\"caption-attachment-13518\" class=\"wp-caption-text\">finger-jointed encasing early 3D CAD design to hold the Arduino, protoboard, and motor while also fitting on a window sill. Openings for power and chain. dimensions set up as adjustable parameters. we did not end up pursuing my design much further than this.<\/p><\/div>\n<p>To my first prototyping question, I discovered that it would be best to just go off an existing reference since people have invented an automated blinds operator before, so I can just customize it to Elaine&#8217;s specific circumstances. It was kind of shooting in the dark because we did not know her exact measurements (distance between balls on chain, diameter of balls, etc.), but we settled on some agreed measurements, 4.5mm diameter ball, a common size. For my second question, even though my design was not used, we were able to use its crit to answer the question of what dimensions would we need to consider for the encasing and how far up on the sill it would need to be, things like that.<\/p>\n<p>The crits did not really focus on my meshing system, however further research on motors and mounts by my teammate, Jud, helped me figure out how to iterate. The pegs did not work, but the final design did. I did not ignore any feedback. During my prototyping process, the biggest surprise was just how many times I had to adjust the size of the threads in the meshing system, due to miscalculations, changes in motor, and so on. And I don&#8217;t know why, but changing thread size in Fusion is not as straightforward as I would imagine it might be, and it always took me a long time. I just taught myself Fusion this semester so I was probably also grossly overcomplicating it.<\/p>\n<h3>Jud (Motor Behavior and Torque Requirements)<\/h3>\n<p>This prototype was built to answer the question of what would the final behavior of the mechanism look like and what components should be used.<\/p>\n<p>This prototype demonstrates the raising and lowering action at the press of the button. As shown in the video below, the curtains will be opened by pressing the button once and then closed by pressing the button again shown by the different rotating directions. As the curtain is raised, the distance that travelled by the curtain is measured ensuring the curtain is completely raised or lowered before stopping.<\/p>\n<h4>Overall<\/h4>\n<div id=\"attachment_13807\" style=\"width: 1252px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13807\" loading=\"lazy\" class=\"wp-image-13807 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_9604.jpg\" alt=\"\" width=\"1242\" height=\"2132\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_9604.jpg 1242w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_9604-175x300.jpg 175w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_9604-597x1024.jpg 597w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_9604-768x1318.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_9604-895x1536.jpg 895w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_9604-1193x2048.jpg 1193w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_9604-973x1670.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_9604-508x872.jpg 508w\" sizes=\"(max-width: 1242px) 100vw, 1242px\" \/><p id=\"caption-attachment-13807\" class=\"wp-caption-text\">Overall image of general movement prototype. Shown is the motor attached to the H-bridge motor driver for speed control as well as the wiring to the Arduino Mega.<\/p><\/div>\n<h4>Motor Driver Wiring<\/h4>\n<div id=\"attachment_13806\" style=\"width: 1252px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13806\" loading=\"lazy\" class=\"wp-image-13806 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_9601.jpg\" alt=\"\" width=\"1242\" height=\"1135\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_9601.jpg 1242w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_9601-300x274.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_9601-1024x936.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_9601-768x702.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_9601-973x889.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/IMG_9601-508x464.jpg 508w\" sizes=\"(max-width: 1242px) 100vw, 1242px\" \/><p id=\"caption-attachment-13806\" class=\"wp-caption-text\">Close up of the wiring for the prototype. Here, the L293D H-Bridge is being used to drive the attached motor with a 12V power supply.<\/p><\/div>\n<h4>Speed Control Calculations<\/h4>\n<div id=\"attachment_13811\" style=\"width: 1248px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13811\" loading=\"lazy\" class=\"size-full wp-image-13811\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Motor_Speed_Control_Planning.jpg\" alt=\"\" width=\"1238\" height=\"770\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Motor_Speed_Control_Planning.jpg 1238w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Motor_Speed_Control_Planning-300x187.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Motor_Speed_Control_Planning-1024x637.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Motor_Speed_Control_Planning-768x478.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Motor_Speed_Control_Planning-973x605.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Motor_Speed_Control_Planning-508x316.jpg 508w\" sizes=\"(max-width: 1238px) 100vw, 1238px\" \/><p id=\"caption-attachment-13811\" class=\"wp-caption-text\">Screenshot of the calculations controlling the speed of the motor. As shown, the speed of the motor slowly ramps up until the max speed is attained and then slowly ramp downs at a certain threshold distance away from the final distance.<\/p><\/div>\n<h4>Video<\/h4>\n<div style=\"width: 528px;\" class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement('video');<\/script><![endif]-->\n<video class=\"wp-video-shortcode\" id=\"video-13392-1\" width=\"528\" height=\"640\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Raising_And_Lowering_Prototype_Video.mp4?_=1\" \/><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Raising_And_Lowering_Prototype_Video.mp4\">https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Raising_And_Lowering_Prototype_Video.mp4<\/a><\/video><\/div>\n<h4>Improvements<\/h4>\n<div id=\"attachment_13817\" style=\"width: 834px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13817\" loading=\"lazy\" class=\"size-full wp-image-13817\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Motor_Mount_CAD.jpg\" alt=\"\" width=\"824\" height=\"882\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Motor_Mount_CAD.jpg 824w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Motor_Mount_CAD-280x300.jpg 280w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Motor_Mount_CAD-768x822.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Motor_Mount_CAD-508x544.jpg 508w\" sizes=\"(max-width: 824px) 100vw, 824px\" \/><p id=\"caption-attachment-13817\" class=\"wp-caption-text\">3D model of the motor mount used for the final design. As shown, the motor mount has more adjustability to allow for more accurate positioning of the motor with respect to the ball chain.<\/p><\/div>\n<div id=\"attachment_13484\" style=\"width: 1930px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13484\" loading=\"lazy\" class=\"wp-image-13484 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/181028907_371498914189839_4552521194707839728_n-scaled-e1621717067749.jpg\" alt=\"\" width=\"1920\" height=\"1414\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/181028907_371498914189839_4552521194707839728_n-scaled-e1621717067749.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/181028907_371498914189839_4552521194707839728_n-scaled-e1621717067749-300x221.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/181028907_371498914189839_4552521194707839728_n-scaled-e1621717067749-1024x754.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/181028907_371498914189839_4552521194707839728_n-scaled-e1621717067749-768x566.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/181028907_371498914189839_4552521194707839728_n-scaled-e1621717067749-1536x1131.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/181028907_371498914189839_4552521194707839728_n-scaled-e1621717067749-973x717.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/181028907_371498914189839_4552521194707839728_n-scaled-e1621717067749-508x374.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><p id=\"caption-attachment-13484\" class=\"wp-caption-text\">Image of the power supply connected to the outer housing. As suggested by Elaine, this style of power adapter was used because of its ease of use. The barrel jack style adapters allow for easier plugging and unplugging as well as more customization in the future with regards to cable lengths.<\/p><\/div>\n<div id=\"attachment_13813\" style=\"width: 1636px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13813\" loading=\"lazy\" class=\"wp-image-13813 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Final_Motor_Specifications.jpg\" alt=\"\" width=\"1626\" height=\"1914\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Final_Motor_Specifications.jpg 1626w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Final_Motor_Specifications-255x300.jpg 255w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Final_Motor_Specifications-870x1024.jpg 870w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Final_Motor_Specifications-768x904.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Final_Motor_Specifications-1305x1536.jpg 1305w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Final_Motor_Specifications-973x1145.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Final_Motor_Specifications-508x598.jpg 508w\" sizes=\"(max-width: 1626px) 100vw, 1626px\" \/><p id=\"caption-attachment-13813\" class=\"wp-caption-text\">Screenshot of the specification sheet for the final motor. As shown, the motor has more than enough torque to raise the curtains ensuring the reliability of the device.<\/p><\/div>\n<p>After this initial prototyping, we found that the best motion for the motor would be a slow starting and stopping motion in order to reduce the damage to the motor. In addition, this type of motion would result in a smoother looking operation thus improving the overall appearance of the device. In addition, from the calculations for the torque required to lift curtains similar to Elaine&#8217;s, we discovered that the motor would need to be able to lift around 13lb. With this number and the dimensions of our final gear mechanism, the motor we needed to order for the final device needed to be capable of outputting around 20kg*cm of torque. This amount of torque was higher than the minimum required torque in order to ensure that our device would work reliably.<\/p>\n<p>After the prototyping critique, we received lots of feedback on different ways to improve the device including different button pressing actions that would allow the curtains to stop midway through if the button was pressed again. While this type of behavior is something that would&#8217;ve been useful to have, we decided to leave this feature out of the final device because we ran out of time to incorporate it. In addition, we also received lots of feedback on ways we could make the device easier to use by reducing the number of electrical connections necessary to power the device. Since the final device needed a 12V power supply for the motor and a 5V power supply for the rest of the electronics, we decided to incorporate a 5V regulator into the final device that would be able to take the 12V from the motor power supply and convert it to 5V for the rest of the circuitry.<\/p>\n<h3>Process<\/h3>\n<div id=\"attachment_13527\" style=\"width: 830px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13527\" loading=\"lazy\" class=\"wp-image-13527 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/168391184_356831099081019_4521031801934610386_n.jpg\" alt=\"\" width=\"820\" height=\"850\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/168391184_356831099081019_4521031801934610386_n.jpg 820w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/168391184_356831099081019_4521031801934610386_n-289x300.jpg 289w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/168391184_356831099081019_4521031801934610386_n-768x796.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/168391184_356831099081019_4521031801934610386_n-508x527.jpg 508w\" sizes=\"(max-width: 820px) 100vw, 820px\" \/><p id=\"caption-attachment-13527\" class=\"wp-caption-text\">preliminary sketch of project for scoping<\/p><\/div>\n<p>We started out with three ideas after our first interview with Elaine, but of course, this is the one we chose, sketch courtesy of\u00a0 Eric.<\/p>\n<div id=\"attachment_13524\" style=\"width: 1610px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13524\" loading=\"lazy\" class=\"wp-image-13524 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-9-e1620841405268.jpg\" alt=\"\" width=\"1600\" height=\"896\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-9-e1620841405268.jpg 1600w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-9-e1620841405268-300x168.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-9-e1620841405268-1024x573.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-9-e1620841405268-768x430.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-9-e1620841405268-1536x860.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-9-e1620841405268-973x545.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/pasted-image-0-9-e1620841405268-508x284.jpg 508w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><p id=\"caption-attachment-13524\" class=\"wp-caption-text\">Our Gantt chart<\/p><\/div>\n<p>We tried to organize or plan according to our abilities and also with the idea in mind that our building would be delayed until our motor came. We figured that it would show up the week we were planning it all out, but that was not the case and we had to adjust our scheduling to fit this delay.<\/p>\n<div id=\"attachment_13529\" style=\"width: 2570px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13529\" loading=\"lazy\" class=\"wp-image-13529 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/176325558_373179044005231_8544980130649951674_n-scaled-e1620841901470.jpg\" alt=\"\" width=\"2560\" height=\"1337\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/176325558_373179044005231_8544980130649951674_n-scaled-e1620841901470.jpg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/176325558_373179044005231_8544980130649951674_n-scaled-e1620841901470-300x157.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/176325558_373179044005231_8544980130649951674_n-scaled-e1620841901470-1024x535.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/176325558_373179044005231_8544980130649951674_n-scaled-e1620841901470-768x401.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/176325558_373179044005231_8544980130649951674_n-scaled-e1620841901470-1536x802.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/176325558_373179044005231_8544980130649951674_n-scaled-e1620841901470-2048x1070.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/176325558_373179044005231_8544980130649951674_n-scaled-e1620841901470-973x508.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/176325558_373179044005231_8544980130649951674_n-scaled-e1620841901470-508x265.jpg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><p id=\"caption-attachment-13529\" class=\"wp-caption-text\">Amazon sprocket example screenshot<\/p><\/div>\n<p>The design that inspired Dominique&#8217;s CAD designs. These measurements are also what we originally went with, but we adjusted the space provided for in-between the balls a bit.<\/p>\n<div id=\"attachment_13526\" style=\"width: 1930px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13526\" loading=\"lazy\" class=\"wp-image-13526 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/176340063_2928074080741063_8431309320815119838_n-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/176340063_2928074080741063_8431309320815119838_n-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/176340063_2928074080741063_8431309320815119838_n-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/176340063_2928074080741063_8431309320815119838_n-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/176340063_2928074080741063_8431309320815119838_n-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/176340063_2928074080741063_8431309320815119838_n-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/176340063_2928074080741063_8431309320815119838_n-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/176340063_2928074080741063_8431309320815119838_n-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><p id=\"caption-attachment-13526\" class=\"wp-caption-text\">tensioning sketch<\/p><\/div>\n<p>We also had to take time to consider what tensioing on the chain and motor might look like so that the movement can be smooth. This drawing by Jud is for the secondary tensioner, and was later prototyped by Eric.<\/p>\n<div id=\"attachment_13528\" style=\"width: 1252px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13528\" loading=\"lazy\" class=\"wp-image-13528 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/175030240_302311228120887_5964997735102289948_n.jpg\" alt=\"\" width=\"1242\" height=\"1656\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/175030240_302311228120887_5964997735102289948_n.jpg 1242w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/175030240_302311228120887_5964997735102289948_n-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/175030240_302311228120887_5964997735102289948_n-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/175030240_302311228120887_5964997735102289948_n-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/175030240_302311228120887_5964997735102289948_n-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/175030240_302311228120887_5964997735102289948_n-508x677.jpg 508w\" sizes=\"(max-width: 1242px) 100vw, 1242px\" \/><p id=\"caption-attachment-13528\" class=\"wp-caption-text\">the motor that changed our sprocket design<\/p><\/div>\n<p>Jud found this motor, which he determined had a better mounting system for our purposes, and so Dominique redesigned the model of the sprocket with this in mind, although we did not end up going with threads.<\/p>\n<div id=\"attachment_13525\" style=\"width: 1194px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13525\" loading=\"lazy\" class=\"wp-image-13525 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/177499454_145638294180842_3898023728508360486_n-scaled-e1620841819196.jpg\" alt=\"\" width=\"1184\" height=\"1216\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/177499454_145638294180842_3898023728508360486_n-scaled-e1620841819196.jpg 1184w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/177499454_145638294180842_3898023728508360486_n-scaled-e1620841819196-292x300.jpg 292w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/177499454_145638294180842_3898023728508360486_n-scaled-e1620841819196-997x1024.jpg 997w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/177499454_145638294180842_3898023728508360486_n-scaled-e1620841819196-768x789.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/177499454_145638294180842_3898023728508360486_n-scaled-e1620841819196-973x999.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/177499454_145638294180842_3898023728508360486_n-scaled-e1620841819196-508x522.jpg 508w\" sizes=\"(max-width: 1184px) 100vw, 1184px\" \/><p id=\"caption-attachment-13525\" class=\"wp-caption-text\">unfortunate email<\/p><\/div>\n<p>Not long after, we did get word that our motor delivery would be delayed until after the final crit, and so we had to improvise with a different motor from IDeATe Lending. Everything worked as planned, but it would be good to switch the motor out for Elaine.<\/p>\n<h2 id=\"4-conclusions-and-lessons-learned-12-pts\">Conclusions and lessons learned<\/h2>\n<p><strong>Crit Feedback &amp; Response<\/strong><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">&#8220;It was difficult to understand exactly how it would interface with the blinds from the presentation just cause there was no chain to demo with.&#8221;<\/span>\n<ol>\n<li>This is a fair point, it would definitely be clearer to have had a chain on there. The hard part is getting the chain for a set of blinds in a remote setting. I think at least what we could have done for clarity sake would be to use a rope or string just as a demonstration of how everything would be placed including how the sprocket interfaces with that rope. This way people would not just be looking at a spinning motor arm. In addition, having the actual motor would&#8217;ve been very useful in conveying the actual functionality of the device which was unfortunately not possible for the critique.<\/li>\n<\/ol>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">&#8220;Having all four rods be threaded seems like you\u2019re asking for trouble? Why not one threaded rod and three smooth ones? This seems like it could get locked up by accident really easily.&#8221;<\/span>\n<ol>\n<li>This is a very good point, however, the four threaded rods used in the four corners of the motor mount were only used as aligning rods. In our original design, springs were supposed to help keep the motor mount in place on all four rods, and since we didn&#8217;t have enough springs to place the motor mount high enough, we needed a way to raise the first set of springs up slightly. In order to do this, threaded rods with nuts attached were supposed to be used, however, this mechanism was eventually replaced with nylon couplers. In the future, it would probably be better to use smooth rods for all four rods to reduce the risk of the motor mount catching during tensioning since the threads ended up not being utilized in the final design.<\/li>\n<\/ol>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">&#8220;The 3D-printed sprocket gear could use some fillets at the base of the teeth? They look like they are at risk of snapping off. Forces will build up otherwise.&#8221;<\/span>\n<ol>\n<li>The final sprocket design is actually quite thick, at least one centimeter and is made out of acrylic <em>and<\/em> is reinforced by a metal mounting hub. When comparing that build to the thinner IKEA version which was actually just plastic, our sprocket is actually much stronger, so assuming that the factory version is still sturdy enough to interface with a chain, we believe our build would be more than fine as well. Also, the direction of the force will never push directly on the protruding alternating plates. Even still, this is a great note for our first version of the sprocket.<\/li>\n<\/ol>\n<\/li>\n<li>&#8220;Have you considered the fire safety of your sprocket? The constant rubbing might make it catch fire easily.&#8221;\n<ol>\n<li>That&#8217;s also a good note, we had not actually considered this. However, I don&#8217;t think acrylic catches fire&#8230;it seems more like it would melt. But I&#8217;m not sure about that and it would be good to look into for safety purposes.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p><strong>Working remotely<\/strong><\/p>\n<p>It was challenging to communicate in a timely manner. Elaine herself was going through a lot and was telling us about how Oak was quite sick and in the ER. She was also very busy in general and was not able to get back to us very often making it hard to have a smooth design process. On the other hand, working remotely made it super easy to hop on a call and get specifics about measurements and things, rather than having to go all the way to he home to see what her set up looked like.<\/p>\n<p>If there is one thing we might have done differently, I would say that it&#8217;s get our laser cutting done much earlier. It was not fun rushing to laser cut our sprocket before the lab closed. In addition, it would&#8217;ve been very useful to assess the components necessary for the final build a lot sooner so the final product on critique day would be fully finished.<\/p>\n<p><strong>Working with a disabled client<\/strong><\/p>\n<p>Working with Elaine was such a pleasure. She has limited mobility but is otherwise very independent and has a lot of great ideas. It did help that she is an expert in robotics and engineering topics and had a lot of great suggestions for us on how to simplify our project. One major takeaway we learned is that it&#8217;s super important to consider how processes can be made easier for different stakeholders, so in this case not only Elaine, but her dog. Assistive devices do not have to be operated by humans all the time. It was also a very rewarding experience thinking about solutions to problems in different was than we would otherwise. This new way of thinking led to many different new and creative ideas that we will be able to take forward into future projects and life in general.<\/p>\n<p><strong>Concluding thoughts<\/strong><\/p>\n<p>Next time, it would be great to have a backup plan for parts arriving late. Perhaps we could have designed two sprockets one that fits the motor we have now, and one that fits the one still coming. Overall, this was a great learning experience and a fun project, and we hope that Elaine can get some use out of her new system!<\/p>\n<h2 id=\"technical-information\">Technical information<\/h2>\n<h4><strong>Block Diagram<\/strong><\/h4>\n<div id=\"attachment_13796\" style=\"width: 1061px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13796\" loading=\"lazy\" class=\"wp-image-13796 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Dog_Activated_Blinds_Operator_Block_Diagram.jpg\" alt=\"\" width=\"1051\" height=\"120\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Dog_Activated_Blinds_Operator_Block_Diagram.jpg 1051w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Dog_Activated_Blinds_Operator_Block_Diagram-300x34.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Dog_Activated_Blinds_Operator_Block_Diagram-1024x117.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Dog_Activated_Blinds_Operator_Block_Diagram-768x88.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Dog_Activated_Blinds_Operator_Block_Diagram-973x111.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Dog_Activated_Blinds_Operator_Block_Diagram-508x58.jpg 508w\" sizes=\"(max-width: 1051px) 100vw, 1051px\" \/><p id=\"caption-attachment-13796\" class=\"wp-caption-text\">Functional block diagram of the dog activated blinds opener.<\/p><\/div>\n<h4>Electrical Schematic<\/h4>\n<div id=\"attachment_13797\" style=\"width: 1049px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-13797\" loading=\"lazy\" class=\"wp-image-13797 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Dog_Activated_Blinds_Operator_Schematic.jpg\" alt=\"\" width=\"1039\" height=\"750\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Dog_Activated_Blinds_Operator_Schematic.jpg 1039w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Dog_Activated_Blinds_Operator_Schematic-300x217.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Dog_Activated_Blinds_Operator_Schematic-1024x739.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Dog_Activated_Blinds_Operator_Schematic-768x554.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Dog_Activated_Blinds_Operator_Schematic-973x702.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-content\/uploads\/2021\/05\/Dog_Activated_Blinds_Operator_Schematic-508x367.jpg 508w\" sizes=\"(max-width: 1039px) 100vw, 1039px\" \/><p id=\"caption-attachment-13797\" class=\"wp-caption-text\">Electrical schematic of the dog activated blinds operator.<\/p><\/div>\n<p><strong>Code submission<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\/*\r\n  60-223, Final Project\r\n  Jud Kyle (jkyle), Eric Zhao (ezhao), Dominique Aruede (daruede)\r\n  time spent: 24 hours\r\n\r\n  Collaboration and sources:\r\n  - Encoder_Interrupts functions copied from 24-354 Gadgetry lab code\r\n\r\n  Description:\r\n  - This sketch drives an automatic blinds opener. When the button is pressed,\r\n    the blinds will begin rotating in one direction for the desired length until\r\n    entered as the curtainHeight in mm. When the motor starts rotating and stops\r\n    rotating, the speed is slowly increased and decreased to reduce the negative\r\n    impacts on the motor. Each time the button is pressed, the motor will not stop\r\n    rotating until the full distance has been travelled. The direction the motor spins\r\n    changes upon each button press to go up if it had previously gone down and vice\r\n    versa. \r\n\r\n  Pin mapping:\r\n  Arduino pin | type   | description\r\n  ------------|--------|-------------\r\n  2             input    Button input pin\r\n  3             input    Encoder A input pin\r\n  4             input    Encoder B input pin\r\n  8             output   Motor direction pin 1\r\n  9             output   Motor direction pin 2\r\n  10            output   Motor PWM pin for speed\r\n*\/\r\n\r\n\/\/ Pin Variables\r\nconst int BUTTONPIN = 4;\r\nconst int encoderPinA = 2, encoderPinB = 3;\r\nconst int motorPin1 = 9, motorPin2 = 8, motorPWM = 10;\r\n\r\nint encoderCount = 12 * 98; \/\/12 encoder counts per revolution with 1:98 gear ratio\r\n\r\nbool motorSpinning = false;\r\n\r\n\/\/ Motor distance measuring variables\r\nvolatile long currentEncoder_pos_f = 0, prevEncoder_pos = 0, revs = 0;\r\nfloat curtainHeight = 0.5, motor_D = 0.02, thresholdDist = 0.0255; \/\/mm\r\nfloat motorSpeed = 0, motor_pos_f = 0;\r\n\r\n\/\/ initialize the stepper library on pins 4 through 7:\r\n\r\n\/\/ determines which direction the motorspins upon button-press\r\nString motorDirection = \"CW\";\r\n\r\nvoid setup() {\r\n  pinMode(BUTTONPIN, INPUT_PULLUP);\r\n\r\n  pinMode(motorPin1, OUTPUT); pinMode(motorPin2, OUTPUT);\r\n  pinMode(motorPWM, OUTPUT);\r\n\r\n  \/\/ initialize the serial port:\r\n  Serial.begin(9600);\r\n\r\n  \/\/Initialize interrupts\r\n  attachInterrupt(0, encoderA, CHANGE); \/\/Pin 20\r\n  attachInterrupt(1, encoderB, CHANGE); \/\/Pin 21\r\n\r\n}\r\n\r\nvoid loop() {\r\n  int buttonVal = digitalRead(BUTTONPIN); \/\/Read pressed state of the button\r\n\r\n  float motor_pos_f = (((float) currentEncoder_pos_f) \/ (4 * ((float) encoderCount))) * 3.14159 * motor_D; \/\/ Convert encoder counts to distance travelled\r\n  if (motor_pos_f &lt; 0) { \/\/ Ensure distance is always positive\r\n    motor_pos_f = motor_pos_f*(-1.0);\r\n  }\r\n\r\n  Serial.print(\"Motor Position: \");\r\n  Serial.print(motor_pos_f, 7);\r\n\r\n  \/\/Update spinning condition when button is pressed\r\n  if (buttonVal == LOW &amp;&amp; motorSpinning == false) {\r\n    motorSpinning = true;\r\n    currentEncoder_pos_f = 0;\r\n    \/\/Update motor direction\r\n    if (motorDirection == \"CCW\") { \/\/Spin motor CW\r\n      digitalWrite(motorPin1, HIGH); \/\/Spin CW\r\n      digitalWrite(motorPin2, LOW); \/\/Spin CW\r\n      motorDirection = \"CW\";\r\n    } else if (motorDirection == \"CW\") {    \/\/Spin motor CCW\r\n      digitalWrite(motorPin1, LOW); \/\/Spin CCW\r\n      digitalWrite(motorPin2, HIGH); \/\/Spin CCW\r\n      motorDirection = \"CCW\";\r\n    }\r\n  }\r\n  \r\n  Serial.print(\"\\t Toggle: \");\r\n  Serial.print(motorDirection);\r\n  \r\n  \/\/Spin motor in corresponding direction\r\n  if (motorSpinning == true) {\r\n    if (motorSpeed &lt; 50) { \/\/Minimum PWM signal for starting motor\r\n      motorSpeed = 50;\r\n    }\r\n    else if (motor_pos_f &gt; curtainHeight) { \/\/Stop motor when full distance is reached\r\n      motorSpinning = false;\r\n      motorSpeed = 0;\r\n    }\r\n    else if (motor_pos_f &lt; thresholdDist) { \/\/Ramp up speed at start\r\n      motorSpeed = (255 \/ thresholdDist) * motor_pos_f;\r\n    }\r\n    else if (motor_pos_f &gt; curtainHeight - thresholdDist) {\r\n      motorSpeed = 255 - (255 \/ thresholdDist) * (motor_pos_f - (curtainHeight - thresholdDist)); \/\/Ramp down speed at end\r\n    }\r\n    else {\r\n      motorSpeed = 255;\r\n    }\r\n  }\r\n  analogWrite(motorPWM, (int) motorSpeed); \/\/Set motor speed equal to integer value of motor speed\r\n\r\n  Serial.print(\"\\t Motor Speed: \");\r\n  Serial.println((int) motorSpeed);\r\n\r\n\r\n  \/\/Track position of motor using encoder (count number of revolutions and multiply by a distance)\r\n  \/\/Update speed according to position (If within a certain distance, slow speed down, else speed is HIGH)\r\n}\r\n\r\nvoid encoderA(){\r\n\r\n  \/\/ look for a low-to-high on channel A\r\n  if (digitalRead(encoderPinA) == HIGH) { \r\n    \/\/ check channel B to see which way encoder is turning\r\n    if (digitalRead(encoderPinB) == LOW) {  \r\n      \r\n        currentEncoder_pos_f = currentEncoder_pos_f + 1;         \/\/ CW\r\n    } \r\n    else {\r\n        currentEncoder_pos_f = currentEncoder_pos_f - 1;        \/\/ CCW\r\n    }\r\n  }\r\n  else   \/\/ must be a high-to-low edge on channel A                                       \r\n  { \r\n    \/\/ check channel B to see which way encoder is turning  \r\n    if (digitalRead(encoderPinB) == HIGH) {   \r\n      \r\n        currentEncoder_pos_f = currentEncoder_pos_f + 1;          \/\/ CW\r\n    } \r\n    else {\r\n        currentEncoder_pos_f = currentEncoder_pos_f - 1;          \/\/ CCW\r\n    }\r\n  }\r\n}\r\n\r\nvoid encoderB(){\r\n\r\n  \/\/ look for a low-to-high on channel B\r\n  if (digitalRead(encoderPinB) == HIGH) {   \r\n   \/\/ check channel A to see which way encoder is turning\r\n    if (digitalRead(encoderPinA) == HIGH) {  \r\n       \r\n        currentEncoder_pos_f = currentEncoder_pos_f + 1;         \/\/ CW\r\n    } \r\n    else {\r\n        currentEncoder_pos_f = currentEncoder_pos_f - 1;         \/\/ CCW\r\n    }\r\n  }\r\n  \/\/ Look for a high-to-low on channel B\r\n  else { \r\n    \/\/ check channel B to see which way encoder is turning  \r\n    if (digitalRead(encoderPinA) == LOW) {   \r\n        currentEncoder_pos_f = currentEncoder_pos_f + 1;          \/\/ CW\r\n    } \r\n    else {\r\n        currentEncoder_pos_f = currentEncoder_pos_f - 1;         \/\/ CCW\r\n    }\r\n  }\r\n}<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This particular assistive device was developed as the final project for physical computing where 3 students worked closely with our client, Elaine Houston, to create something that would&#8230;<\/p>\n","protected":false},"author":169,"featured_media":13481,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"gallery","meta":[],"categories":[100],"tags":[],"_links":{"self":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/posts\/13392"}],"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\/169"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/comments?post=13392"}],"version-history":[{"count":31,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/posts\/13392\/revisions"}],"predecessor-version":[{"id":13795,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/posts\/13392\/revisions\/13795"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/media\/13481"}],"wp:attachment":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/media?parent=13392"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/categories?post=13392"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2021\/work\/wp-json\/wp\/v2\/tags?post=13392"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}