{"id":14614,"date":"2021-12-10T16:57:17","date_gmt":"2021-12-10T21:57:17","guid":{"rendered":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/?p=14614"},"modified":"2021-12-10T16:57:17","modified_gmt":"2021-12-10T21:57:17","slug":"automated-umbrella-by-team-pomegranates-final-documentation","status":"publish","type":"post","link":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/automated-umbrella-by-team-pomegranates-final-documentation\/","title":{"rendered":"Automated Umbrella by Team Pomegranates: Final Documentation"},"content":{"rendered":"<h3>Matthew Wagner, Serena Ying, Yuqi (Alice) Zhou for Brenda<\/h3>\n<p>&nbsp;<\/p>\n<h3>1. Introduction<\/h3>\n<p>For our final project, we were tasked to work with a client to develop a personal assistive device which would help improve an aspect of their lives. Our client, Brenda, uses a power chair and spends the majority of her time with it due to limited mobility. One problem she was very enthusiastic about solving was using an umbrella that would cover the electronics on her power chair if it was raining, and which could also be used as a sunshade when she participates in protests in the summer. So, for our project, we decided to realize the idea that Brenda proposed&#8211; an automated umbrella opener and closer which could be mounted on the back of her chair and activated easily without having to hold the actual umbrella. For more details and interview documentation with Brenda, please see here:<\/p>\n<p><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/interview-documentation-team-pomegranates-with-brenda\/\">Interview Documentation Team Pomegranates<\/a><\/p>\n<h3>2. What We Built<\/h3>\n<p>Our project works very simply. The umbrella and the control boxes are to be mounted to a power chair, utilizing the existing interface of the back of the chair. The device has three buttons the user operates to control the umbrella. The power button allows the other buttons to be activated, so the umbrella isn&#8217;t accidentally raised or lowered when not desired. The device plays a little jingle to alert the user that the device is on. From there the user uses the other two buttons to raise and lower the umbrella respectively. The buttons activate a motor which pulls a string attached to the top of the umbrella, to pull it to the open position.<\/p>\n<div id=\"attachment_14647\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-14647\" loading=\"lazy\" class=\"wp-image-14647 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110246-scaled-e1639096717197.jpg\" alt=\"\" width=\"1920\" height=\"1646\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110246-scaled-e1639096717197.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110246-scaled-e1639096717197-300x257.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110246-scaled-e1639096717197-1024x878.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110246-scaled-e1639096717197-768x658.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110246-scaled-e1639096717197-1536x1317.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110246-scaled-e1639096717197-973x834.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110246-scaled-e1639096717197-508x436.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><p id=\"caption-attachment-14647\" class=\"wp-caption-text\">Since Brenda wasn&#8217;t able to make it to our final critique, we weren&#8217;t able to mount the device on her wheelchair. However, we look forward to connecting in the future.<\/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-14614-1\" width=\"620\" height=\"1102\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_003859_1.mp4?_=1\" \/><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_003859_1.mp4\">https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_003859_1.mp4<\/a><\/video><\/div>\n<p><em>Final working video &#8211; button presses engage motor either CW or CCW to pull rope through pulleys mounted in the base box and at the umbrella apex and tension or release the umbrella<\/em><\/p>\n<div id=\"attachment_14646\" style=\"width: 664px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-14646\" loading=\"lazy\" class=\" wp-image-14646\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_105317-scaled.jpg\" alt=\"\" width=\"654\" height=\"872\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_105317-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_105317-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_105317-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_105317-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_105317-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_105317-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_105317-508x677.jpg 508w\" sizes=\"(max-width: 654px) 100vw, 654px\" \/><p id=\"caption-attachment-14646\" class=\"wp-caption-text\">The Control Box houses the buttons that Brenda uses to power on\/off (green) the device as well as raise and lower the umbrella. The box is mounted such that the two white buttons are aligned vertically, where &#8220;raise&#8221; is on top of &#8220;lower&#8221;.<\/p><\/div>\n<div id=\"attachment_14870\" style=\"width: 1743px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-14870\" loading=\"lazy\" class=\"wp-image-14870 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/263169376_1003318610217546_8981479107085044324_n-e1639170883301.jpg\" alt=\"\" width=\"1733\" height=\"1536\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/263169376_1003318610217546_8981479107085044324_n-e1639170883301.jpg 1733w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/263169376_1003318610217546_8981479107085044324_n-e1639170883301-300x266.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/263169376_1003318610217546_8981479107085044324_n-e1639170883301-1024x908.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/263169376_1003318610217546_8981479107085044324_n-e1639170883301-768x681.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/263169376_1003318610217546_8981479107085044324_n-e1639170883301-1536x1361.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/263169376_1003318610217546_8981479107085044324_n-e1639170883301-973x862.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/263169376_1003318610217546_8981479107085044324_n-e1639170883301-508x450.jpg 508w\" sizes=\"(max-width: 1733px) 100vw, 1733px\" \/><p id=\"caption-attachment-14870\" class=\"wp-caption-text\">The box hosting the wiring, motor and pulley system.<\/p><\/div>\n<div id=\"attachment_14648\" style=\"width: 849px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-14648\" loading=\"lazy\" class=\" wp-image-14648\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110308-scaled.jpg\" alt=\"\" width=\"839\" height=\"1119\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110308-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110308-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110308-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110308-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110308-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110308-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110308-508x677.jpg 508w\" sizes=\"(max-width: 839px) 100vw, 839px\" \/><p id=\"caption-attachment-14648\" class=\"wp-caption-text\">The box as well as the umbrella itself are mounted to an aluminum extrusion beam.<\/p><\/div>\n<div id=\"attachment_14872\" style=\"width: 1546px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-14872\" loading=\"lazy\" class=\"size-full wp-image-14872\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262726166_229845799291562_3069579361911134508_n.jpg\" alt=\"\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262726166_229845799291562_3069579361911134508_n.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262726166_229845799291562_3069579361911134508_n-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262726166_229845799291562_3069579361911134508_n-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262726166_229845799291562_3069579361911134508_n-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262726166_229845799291562_3069579361911134508_n-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262726166_229845799291562_3069579361911134508_n-508x677.jpg 508w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/><p id=\"caption-attachment-14872\" class=\"wp-caption-text\">The aluminum extrusion beam attaches to Brenda&#8217;s chair using the black clips that pin to cylindrical components of the chair. The pole of the umbrella is also connected similarly to where Brenda&#8217;s headrest is, to prevent the umbrella from wanting to rotate.<\/p><\/div>\n<div id=\"attachment_14868\" style=\"width: 2058px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-14868\" loading=\"lazy\" class=\"wp-image-14868 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262773880_272023128237343_7757875354136143638_n-e1639170710128.jpg\" alt=\"\" width=\"2048\" height=\"1536\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262773880_272023128237343_7757875354136143638_n-e1639170710128.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262773880_272023128237343_7757875354136143638_n-e1639170710128-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262773880_272023128237343_7757875354136143638_n-e1639170710128-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262773880_272023128237343_7757875354136143638_n-e1639170710128-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262773880_272023128237343_7757875354136143638_n-e1639170710128-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262773880_272023128237343_7757875354136143638_n-e1639170710128-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262773880_272023128237343_7757875354136143638_n-e1639170710128-508x381.jpg 508w\" sizes=\"(max-width: 2048px) 100vw, 2048px\" \/><p id=\"caption-attachment-14868\" class=\"wp-caption-text\">An inside look at the box shows the orientation of the motor amidst the wires and battery pack used to power the device. The motor spins the pully to wind and release the string used to raise and lower the umbrella. The worm gear inside the motor, prevents rotation of the axel when the motor is shut off or when the umbrella is raised so that it stays raised during use.<\/p><\/div>\n<div id=\"attachment_14650\" style=\"width: 1049px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-14650\" loading=\"lazy\" class=\" wp-image-14650\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110146-scaled-e1639082185306.jpg\" alt=\"\" width=\"1039\" height=\"797\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110146-scaled-e1639082185306.jpg 1267w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110146-scaled-e1639082185306-300x230.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110146-scaled-e1639082185306-1024x786.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110146-scaled-e1639082185306-768x589.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110146-scaled-e1639082185306-973x746.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211202_110146-scaled-e1639082185306-508x390.jpg 508w\" sizes=\"(max-width: 1039px) 100vw, 1039px\" \/><p id=\"caption-attachment-14650\" class=\"wp-caption-text\">The string goes up the pole of the umbrella and around another pully fixed at a bearing at the top of the umbrella. This bearing is bolted into the umbrella pole allowing the string to pull up the &#8220;runner&#8221; which slides up the pole to open the umbrella. Typically, the runner is moved manually, but our device automates this procedure.<\/p><\/div>\n<div id=\"attachment_14873\" style=\"width: 1546px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-14873\" loading=\"lazy\" class=\"wp-image-14873 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/263729746_1860683127450068_2976405931798192271_n.jpg\" alt=\"\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/263729746_1860683127450068_2976405931798192271_n.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/263729746_1860683127450068_2976405931798192271_n-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/263729746_1860683127450068_2976405931798192271_n-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/263729746_1860683127450068_2976405931798192271_n-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/263729746_1860683127450068_2976405931798192271_n-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/263729746_1860683127450068_2976405931798192271_n-508x677.jpg 508w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/><p id=\"caption-attachment-14873\" class=\"wp-caption-text\">Umbrella at a open position<\/p><\/div>\n<div id=\"attachment_14874\" style=\"width: 1167px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-14874\" loading=\"lazy\" class=\"wp-image-14874 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262513382_868877937135109_4803064781774716228_n-e1639171099930.jpg\" alt=\"\" width=\"1157\" height=\"2048\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262513382_868877937135109_4803064781774716228_n-e1639171099930.jpg 1157w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262513382_868877937135109_4803064781774716228_n-e1639171099930-169x300.jpg 169w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262513382_868877937135109_4803064781774716228_n-e1639171099930-579x1024.jpg 579w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262513382_868877937135109_4803064781774716228_n-e1639171099930-768x1359.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262513382_868877937135109_4803064781774716228_n-e1639171099930-868x1536.jpg 868w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262513382_868877937135109_4803064781774716228_n-e1639171099930-973x1722.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/262513382_868877937135109_4803064781774716228_n-e1639171099930-508x899.jpg 508w\" sizes=\"(max-width: 1157px) 100vw, 1157px\" \/><p id=\"caption-attachment-14874\" class=\"wp-caption-text\">Umbrella at a close position<\/p><\/div>\n<p>Brenda spends most of her waking hours sitting in her wheelchair, so accessibility is super important. On a given rainy or very sunny day, Brenda would decide to use our assistive device to protect her from the elements. With some help attaching the mount to the back of her power chair, Brenda is ready to be outside and go about her journey without any additional assistance. With the press of a button that is easily in reach on her left arm rest, Brenda powers the device, allowing her to control raising and lowering the umbrella by pressing and holding the adjacent buttons. The umbrella is able raise and lower while not obstructing Brenda&#8217;s vision in front of her and protects the entirety of the power chair due to the large diameter when raised.<\/p>\n<p>On a particular rainy day, Brenda doesn&#8217;t worry about driving her chair through the rain because the umbrella will protect the controls and electrical components of the chair that are susceptible to water damage. The umbrella will protect her from the rain, and she is able to raise and lower the umbrella freely to accommodate her busy work schedule.<\/p>\n<p>In the summer, Brenda chooses to attend a protest but is worried her chair&#8217;s stature will cause her to get lost in the crowds. To both protect her from the sun and help the people she is with to identify her in a crowd, Brenda uses our device to stay safe and be independent while fighting for what she believes in.<\/p>\n<h3>3. Prototypes and Process<\/h3>\n<p>This prototype was designed to help answer one question: does the motor we decided to use to pull the umbrella open have enough torque to lift the runner of the umbrella due to the umbrella&#8217;s size and weight.<\/p>\n<p>For our prototype, we only utilized the top half the umbrella pole and attached the motor, pulley assembly to the pole using duct-tape. Using a borrowed motor driver and a lever switch, we were able to control up, then down of the umbrella using a single press for each. At this stage the switch activated the motor to rotate for a fixed amount of time. We had to hold the umbrella upright as no mount was created at this point. Additionally, we designed and 3-D printed a bearing for the top of the umbrella which held a pully, allowing the string to raise the umbrella. The motor wounds the string in tension to pull up, and releases that tension, relying on gravity to bring the umbrella back to the lowered position.<\/p>\n<div id=\"attachment_14654\" style=\"width: 945px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-14654\" loading=\"lazy\" class=\"wp-image-14654\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_182948-scaled.jpg\" alt=\"\" width=\"935\" height=\"1247\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_182948-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_182948-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_182948-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_182948-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_182948-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_182948-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_182948-508x677.jpg 508w\" sizes=\"(max-width: 935px) 100vw, 935px\" \/><p id=\"caption-attachment-14654\" class=\"wp-caption-text\">We grounded the motor to the base of the umbrella pole using duct-tape. This ensured consistency in the raising and lowering as the motor was only set to rotate for a specific amount of time.<\/p><\/div>\n<div id=\"attachment_14653\" style=\"width: 903px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-14653\" loading=\"lazy\" class=\"wp-image-14653 \" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_182938-scaled.jpg\" alt=\"\" width=\"893\" height=\"1191\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_182938-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_182938-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_182938-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_182938-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_182938-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_182938-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_182938-508x677.jpg 508w\" sizes=\"(max-width: 893px) 100vw, 893px\" \/><p id=\"caption-attachment-14653\" class=\"wp-caption-text\">The first iteration of the bearing we made was too big for the width of the pole. This happened because we had to send the part to the 3D printers before the umbrella was delivered. We were able to use a piece meant to lock the runner in place to rest the bearing on during the prototyping phase. The same design was updated with a smaller diameter for the final product.<\/p><\/div>\n<div id=\"attachment_14862\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-14862\" loading=\"lazy\" class=\"wp-image-14862 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9386-scaled-e1639170339858.jpg\" alt=\"\" width=\"1920\" height=\"2124\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9386-scaled-e1639170339858.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9386-scaled-e1639170339858-271x300.jpg 271w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9386-scaled-e1639170339858-926x1024.jpg 926w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9386-scaled-e1639170339858-768x850.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9386-scaled-e1639170339858-1388x1536.jpg 1388w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9386-scaled-e1639170339858-1851x2048.jpg 1851w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9386-scaled-e1639170339858-973x1076.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9386-scaled-e1639170339858-508x562.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><p id=\"caption-attachment-14862\" class=\"wp-caption-text\">Figuring out the wirings for the motor<\/p><\/div>\n<div style=\"width: 620px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-14614-2\" width=\"620\" height=\"1102\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9345.MOV.mp4?_=2\" \/><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9345.MOV.mp4\">https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9345.MOV.mp4<\/a><\/video><\/div>\n<p style=\"text-align: center\">Prototype of motor with bottom pulley attached responding to up and down button presses<\/p>\n<p style=\"text-align: center\"><strong>Findings from the Prototyping Process<\/strong><\/p>\n<p><span style=\"font-weight: 400\">The answer is: the motor we decided to use does have enough torque to lift the runner of the umbrella and pull the umbrella open despite the size and weight of the umbrella.\u00a0<\/span><\/p>\n<p style=\"text-align: center\"><strong>Feedback from the Critiques<\/strong><\/p>\n<p><span style=\"font-weight: 400\">One feedback we received from the critique was on the power of the system. For the prototype, to supply power, we had to plug in a 12v power supply. That is not ideal because Brenda would need to find power supplies. Thus, we decided to change it so that the whole system is powered by a battery pack; changing batteries once in a while is comparably easier.\u00a0\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Another feedback we received was concerning the accidental activation of the system. Based on the feedback, we added an on\/off button to act as the safety switch. The up\/down control buttons would not work unless this on\/off button is pressed; this adds another layer of protection to accidental activation.\u00a0\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">One feedback we didn\u2019t quite address in our final design was designing for different umbrellas. Brenda mentioned umbrellas are consumables, so she would like the system to be usable by other umbrellas as well. We tried to address this feedback, however, ended up focusing on making the system work for the specific umbrella we had. If we had more time, we would love to make it work with other umbrellas as well.\u00a0\u00a0<\/span><\/p>\n<p style=\"text-align: center\"><strong>Surprises<\/strong><\/p>\n<p><span style=\"font-weight: 400\">One surprise knowledge we learned during the prototype process was that humans can act as resistors. We were wiring the motor and at one point, the motor only ran when a person was holding the wires. We tried adding in a resistor, and it sort of worked. So, we learned humans can have resistance of as high as 100,000 ohms. However, in the end, it turned out that we didn\u2019t have a ground for the wiring which was the real problem. So, now we know humans can act as both resistors and ground.<\/span><\/p>\n<h4>Process<\/h4>\n<p>A lot of planning, drafting, redrafting, and revisions went into designing this project. Here is a (mostly) chronological record of our work sessions throughout the weeks.<\/p>\n<div id=\"attachment_14666\" style=\"width: 2437px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/automated-umbrella-by-team-pomegranates-final-documentation\/20211116_102942\/\" rel=\"attachment wp-att-14666\"><img aria-describedby=\"caption-attachment-14666\" loading=\"lazy\" class=\"size-full wp-image-14666\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_102942-e1639091071660.jpg\" alt=\"\" width=\"2427\" height=\"2426\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_102942-e1639091071660.jpg 2427w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_102942-e1639091071660-300x300.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_102942-e1639091071660-1024x1024.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_102942-e1639091071660-150x150.jpg 150w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_102942-e1639091071660-768x768.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_102942-e1639091071660-1536x1536.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_102942-e1639091071660-2048x2048.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_102942-e1639091071660-88x88.jpg 88w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_102942-e1639091071660-973x973.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211116_102942-e1639091071660-508x508.jpg 508w\" sizes=\"(max-width: 2427px) 100vw, 2427px\" \/><\/a><p id=\"caption-attachment-14666\" class=\"wp-caption-text\">Initial schematic drawn for clarity after scrapping the gear track idea and confirming that the beach umbrella was gravity tensioned<\/p><\/div>\n<p>After we received the umbrella, work sessions got a lot more crowded but way more tangible. We made a ton of design choices and swapped out parts from IDeATe Lending out for ordered components&#8211; sometimes requiring rewiring and redesigning.<\/p>\n<div id=\"attachment_14667\" style=\"width: 2570px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/automated-umbrella-by-team-pomegranates-final-documentation\/img_9385\/\" rel=\"attachment wp-att-14667\"><img aria-describedby=\"caption-attachment-14667\" loading=\"lazy\" class=\"size-full wp-image-14667\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9385-scaled.jpg\" alt=\"\" width=\"2560\" height=\"1920\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9385-scaled.jpg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9385-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9385-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9385-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9385-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9385-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9385-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9385-508x381.jpg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><\/a><p id=\"caption-attachment-14667\" class=\"wp-caption-text\">Umbrella is usable in midst of figuring out how to attach runner to pulleys!<\/p><\/div>\n<div id=\"attachment_14676\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/automated-umbrella-by-team-pomegranates-final-documentation\/img_9593\/\" rel=\"attachment wp-att-14676\"><img aria-describedby=\"caption-attachment-14676\" loading=\"lazy\" class=\"size-full wp-image-14676\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9593-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9593-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9593-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9593-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9593-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9593-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9593-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9593-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-14676\" class=\"wp-caption-text\">Fitting the lever switches with arcade buttons for ease of use<\/p><\/div>\n<div class=\"mceTemp\"><\/div>\n<div id=\"attachment_14664\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/automated-umbrella-by-team-pomegranates-final-documentation\/img_9607\/\" rel=\"attachment wp-att-14664\"><img aria-describedby=\"caption-attachment-14664\" loading=\"lazy\" class=\"size-full wp-image-14664\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9607-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9607-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9607-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9607-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9607-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9607-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9607-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9607-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-14664\" class=\"wp-caption-text\">An angle of the motor, motor driver (old Pololu), and Arduino (which would go into the control box) and the control interface (small box), with the external 12V power source connecter still attached<\/p><\/div>\n<div id=\"attachment_14627\" style=\"width: 370px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/automated-umbrella-by-team-pomegranates-final-documentation\/img_9597\/\" rel=\"attachment wp-att-14627\"><img aria-describedby=\"caption-attachment-14627\" loading=\"lazy\" class=\"size-full wp-image-14627\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9597.jpg\" alt=\"\" width=\"360\" height=\"640\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9597.jpg 360w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9597-169x300.jpg 169w\" sizes=\"(max-width: 360px) 100vw, 360px\" \/><\/a><p id=\"caption-attachment-14627\" class=\"wp-caption-text\">Process update for the control interface box, with old H-Bridge chip, with switches working and assembled<\/p><\/div>\n<div id=\"attachment_14672\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/automated-umbrella-by-team-pomegranates-final-documentation\/img_9618\/\" rel=\"attachment wp-att-14672\"><img aria-describedby=\"caption-attachment-14672\" loading=\"lazy\" class=\"size-full wp-image-14672\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9618-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9618-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9618-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9618-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9618-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9618-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9618-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/IMG_9618-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-14672\" class=\"wp-caption-text\">Progress photo of new H-Bridge motor driver connected and operational with new 12V battery pack&#8211; temporary connectors still attached and system not soldered yet<\/p><\/div>\n<p>Then it came down to fitting all the components into the control box. One big issue we had was attaching the crossbar to the back of the control box and also securing it to the worm motor. This process took a lot of elbow grease (and literal machine grease), soldering, resoldering, and sawing screws and the metal stem of the umbrella.<\/p>\n<div id=\"attachment_14673\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/automated-umbrella-by-team-pomegranates-final-documentation\/20211123_105601\/\" rel=\"attachment wp-att-14673\"><img aria-describedby=\"caption-attachment-14673\" loading=\"lazy\" class=\"size-full wp-image-14673\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211123_105601-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211123_105601-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211123_105601-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211123_105601-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211123_105601-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211123_105601-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211123_105601-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211123_105601-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-14673\" class=\"wp-caption-text\">Drafting work being done to design how the motor and pulley would fit inside the control box and how the control box would be mounted to the back of Brenda&#8217;s chair<\/p><\/div>\n<div id=\"attachment_14668\" style=\"width: 2570px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/automated-umbrella-by-team-pomegranates-final-documentation\/20211201_223523\/\" rel=\"attachment wp-att-14668\"><img aria-describedby=\"caption-attachment-14668\" loading=\"lazy\" class=\"size-full wp-image-14668\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_223523-scaled.jpg\" alt=\"\" width=\"2560\" height=\"1920\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_223523-scaled.jpg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_223523-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_223523-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_223523-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_223523-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_223523-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_223523-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_223523-508x381.jpg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><\/a><p id=\"caption-attachment-14668\" class=\"wp-caption-text\">Progress photo of figuring out how to fit all the components into the control box<\/p><\/div>\n<div id=\"attachment_14671\" style=\"width: 2570px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/automated-umbrella-by-team-pomegranates-final-documentation\/20211201_180429\/\" rel=\"attachment wp-att-14671\"><img aria-describedby=\"caption-attachment-14671\" loading=\"lazy\" class=\"size-full wp-image-14671\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_180429-scaled.jpg\" alt=\"\" width=\"2560\" height=\"1920\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_180429-scaled.jpg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_180429-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_180429-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_180429-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_180429-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_180429-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_180429-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_180429-508x381.jpg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><\/a><p id=\"caption-attachment-14671\" class=\"wp-caption-text\">Sawing the screws to the right length in order to slide into the crossbar<\/p><\/div>\n<div id=\"attachment_14670\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/automated-umbrella-by-team-pomegranates-final-documentation\/20211130_182248\/\" rel=\"attachment wp-att-14670\"><img aria-describedby=\"caption-attachment-14670\" loading=\"lazy\" class=\"size-full wp-image-14670\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211130_182248-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211130_182248-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211130_182248-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211130_182248-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211130_182248-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211130_182248-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211130_182248-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211130_182248-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-14670\" class=\"wp-caption-text\">View of screw joints used to hold together control box<\/p><\/div>\n<div id=\"attachment_14665\" style=\"width: 2570px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/automated-umbrella-by-team-pomegranates-final-documentation\/20211201_233830\/\" rel=\"attachment wp-att-14665\"><img aria-describedby=\"caption-attachment-14665\" loading=\"lazy\" class=\"size-full wp-image-14665\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_233830-scaled.jpg\" alt=\"\" width=\"2560\" height=\"1920\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_233830-scaled.jpg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_233830-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_233830-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_233830-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_233830-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_233830-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_233830-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/20211201_233830-508x381.jpg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><\/a><p id=\"caption-attachment-14665\" class=\"wp-caption-text\">Inside view of control box while the motor was being screwed into the backing bar that attached to the back of the control box&#8211; copious amounts of motor oil for sliding the screws in not pictured<\/p><\/div>\n<p>Throughout the process, we made and learned from our mistakes, discovered new techniques, and encountered many instances of components not working. Some mistakes we made included accidentally soldering all the wires with their extensions without passing them through the slots cut into the bottom of the acrylic control box, which caused a little bit of despair. Other mistakes included not making the tolerance of the 3D printed parts correct. The base that would slide onto the bottom of the umbrella stem and hold the control box wasn&#8217;t large enough and got stuck before sliding up all the way and we ended up having to saw off the plastic from the base of the umbrella and reprint the part. Additionally, the parts comprising the pulley at the apex of the umbrella were printed too large and did not secure onto the diameter of the pole as snugly as we would have hoped, so that was another part we had to remeasure and reprint. In addition to our components being ill-fitting, we also had issues with wire connections and soldering&#8211; at points the soldering in the wire extensions was not electrically connected and we had to spot check each wire to isolate which connection was not secure and thus causing the motor to continue rotating past the fully extended distance and nearly breaking our pulley system.<\/p>\n<p>Some discoveries made included managing the H-Bridge motor driver. At first, using the one from IDeATe Lending was a little complicated as we had to figure out how to wire the motor to the chip, and at one point our entire group plus Catherine and Zach experimented with being human resistors. Once we finally sorted out the wiring, Zach simplified our code more by having us just drive one signal high and the other low and vice versa to switch the motor direction, and both low to stop the motor rather than using library functions which would be only applicable to the specific type of chip we had. Then, we had to figure out if a cheaper alternative to the H-Bridge motor driver from IDeATe Lending that we were using could be feasibly constructed from a series of transistors. Although we experimented with using MOSFETS as current switchers, in the end the homemade H-Bridge had to be scrapped since resources online which outlined such DIY H-Bridges utilized BJTs rather than MOSFETS, which is all the Physical Computing lab had. Although the components are similar, their electronic behavior was just different enough to be too complicated to transfer the wiring from one transistor type to another. We ended up ordering a cheaper high current H-Bridge, which then still took some trial and error to re-figure out the wiring for.<\/p>\n<p>In terms of following schedules, we planned out a Gantt chart which may have been a little too ambitious:<\/p>\n<div id=\"attachment_14679\" style=\"width: 1272px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/automated-umbrella-by-team-pomegranates-final-documentation\/capture-3\/\" rel=\"attachment wp-att-14679\"><img aria-describedby=\"caption-attachment-14679\" loading=\"lazy\" class=\"size-full wp-image-14679\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/Capture.jpg\" alt=\"\" width=\"1262\" height=\"589\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/Capture.jpg 1262w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/Capture-300x140.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/Capture-1024x478.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/Capture-768x358.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/Capture-973x454.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/Capture-508x237.jpg 508w\" sizes=\"(max-width: 1262px) 100vw, 1262px\" \/><\/a><p id=\"caption-attachment-14679\" class=\"wp-caption-text\">A snippet of our Gantt Chart<\/p><\/div>\n<p>Although we tried our best to stay on schedule, we encountered setbacks from having to wait for 3D printers to be available, different replacement components to come in, and for delays with 3D prints not being started as scheduled or TechSpark being closed unexpectedly. In this way, our work ramped up as the deadline approached and included a few long work sessions the nights before, as well as one particularly late night the night before presentations. Overall though, other than delays caused by materials not being usable in time, we kept on track for our designing benchmarks and were able to put everything together in time once we had our hands on the right materials.<\/p>\n<h3>4. Conclusions and Lessons Learned<\/h3>\n<p style=\"text-align: center\"><strong>Responding to Some Feedback<\/strong><\/p>\n<p><span style=\"font-weight: 400\">\u201cThe buttons are a little bit confusing some way of differentiating between them would be helpful\u201d We were planning to position the box in a way that would have one button on the top and one on the bottom, so then the direction of control would align with the position of the button. However, we agree that it would be even better to distinguish the buttons with differently shaped buttons. That way the user can instantly know which button is for which direction, instead of fumbling around to see where the button is located.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u201cThe box attached to the umbrella is a little too big, but again it\u2019s a prototype; the size of the black rotating rod limited the compactness\u2026\u201d Yes, the size of the box is indeed on the bigger side. We actually had to adjust where it\u2019s located due to the size. It was originally going to be located toward the top of the chair near the headrest. This suggestion of using a smaller rotating rod would definitely help reduce the size of the box.<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u201cThe hardest part of robotic umbrellas (surprisingly I have experience here) is with making them close again. This team was able to figure out a way to deal with that, and it impresses me.\u201d Thank you! Figuring out how we make the umbrella closes was definitely a big part of our initial discussions. We were originally going for a rack and pinion mechanism, however we realized, with the help of our professor, that we can use the help of gravity. So, we went ahead and found an umbrella that closes with gravity which simplified our design.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u201cAuto stopping&#8211;&gt;needs to count rotations or measure stall voltage on motor\u201d This was definitely something we were planning to do but did not get the chance to. The next step, for safety reasons, would be implementing some sort of stop\/limit switch, so the motor will only be activated for enough time to just open up and close the umbrella. The stall voltage suggestion is an interesting idea to try implementing.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u201cThe team has a problem I&#8217;ve had for years- overdesigning. By being as strict in designs to Brenda&#8217;s chair specifically, it can only ever work for HER chair. By having a looser design, more people could potentially use it.\u201d Like mentioned above in our prototype feedback, this is something we are aware of. The current design might be hard even for Brenda to change the umbrella to a different one. One suggestion we got from the final critique was to reconsider how we attach the system to the chair by using a tripod-like mechanism: have one side always fit for our umbrella holder and the other adjustable for different kinds of chairs.<\/span><\/p>\n<p style=\"text-align: center\"><strong>Experience of Working Remotely<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Fortunately, the working experience is mostly hybrid for this project. We were able to meet in person and only went remote when needed. The most challenging aspect was communicating effectively when not in person. There were times when we needed Brenda\u2019s input, and it took many text messages to sort it out. It was also frustrating at the beginning of the project when we were unable to get hold of Brenda. Despite all these, we were able to find compromises and move forward with the project. In retrospect, it is really important to plan for the in person opportunities we do have. If we have thought more about questions to ask her and measurements to take, we might have been able to minimize the need to communicate virtually.\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><\/p>\n<p style=\"text-align: center\"><strong>Working with a<b> Person with a Disability<\/b><\/strong><\/p>\n<p><span style=\"font-weight: 400\">One takeaway is that when designing for people with disabilities, designers need to keep in mind the clearance issue. Power chairs are already bulky enough, it would be ideal to avoid making them bigger, especially horizontally. We had to carefully think about the placement of the control because of this. Nevertheless, I have to say, although designing for disability has its own special things, it is also really not that different from just designing for people. What surprised me is how this project can appeal to a broader audience. There was one comment from our critique saying \u201cI needed this walking to class when I was in school\u201d and I personally would love to have this umbrella retraction system for the porch umbrella my family has. Universal design is really the golden standard all designers should follow.\u00a0<\/span><\/p>\n<p style=\"text-align: center\"><b>Concluding Thoughts<\/b><\/p>\n<p><span style=\"font-weight: 400\">To conclude, one last lesson we would like to mention is how iteration is an essential part of the design. People shouldn\u2019t rely on things working out the first time they try, and we should plan for failures and redesigns. Our reprint of parts, reconnecting the wires, redesign of the box and more taught us too well of this lesson.<\/span><\/p>\n<h3>5. Technical Details<\/h3>\n<h4>Block and Schematic Diagrams<\/h4>\n<div id=\"attachment_14639\" style=\"width: 1383px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/automated-umbrella-by-team-pomegranates-final-documentation\/umbrellablockdiagram-drawio\/\" rel=\"attachment wp-att-14639\"><img aria-describedby=\"caption-attachment-14639\" loading=\"lazy\" class=\"size-full wp-image-14639\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/UmbrellaBlockDiagram.drawio.svg\" alt=\"\" width=\"1373\" height=\"502\" \/><\/a><p id=\"caption-attachment-14639\" class=\"wp-caption-text\">Block Diagram<\/p><\/div>\n<div id=\"attachment_14638\" style=\"width: 1231px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/automated-umbrella-by-team-pomegranates-final-documentation\/umbrellaschematic-drawio\/\" rel=\"attachment wp-att-14638\"><img aria-describedby=\"caption-attachment-14638\" loading=\"lazy\" class=\"size-full wp-image-14638\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-content\/uploads\/2021\/12\/UmbrellaSchematic.drawio.svg\" alt=\"\" width=\"1221\" height=\"861\" \/><\/a><p id=\"caption-attachment-14638\" class=\"wp-caption-text\">Schematic<\/p><\/div>\n<h4>Code<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\">\/*\r\n   Automated Umbrella\r\n\r\n   This code drives a motor CW or CCW by sensing up and down button presses. The up\r\n   and down button presses are only registered when an overall on switch has been\r\n   engaged. While the overall on switch is engaged and the motor is not running,\r\n   a buzzer will sound an arpeggio as an alert tone to warn the user that the up\r\n   and down buttons are active and can be engaged. The motor is driven CW or CCW by\r\n   driving its IN_A and IN_B pins either high or low-- IN_A being high and IN_B\r\n   being low or vice versa indicate the motor being driven in one direction, or\r\n   both pins driven as low indicates the motor is stopped. The pins will never be\r\n   both driven as high (illegal).\r\n*\/\r\n\r\n\/*\r\n   ------------------------------------------------------------------------------\r\n   Pin Mapping\r\n   ------------------------------------------------------------------------------\r\n\r\n   Name             Pin             In\/Out\r\n   IN_A              3               OUT\r\n   IN_B              4               OUT\r\n   PWM               5               OUT\r\n   BUTTON_UP         2               IN\r\n   BUTTON_DOWN       7               IN\r\n   BUTTON_ON         8               IN\r\n   BUZZER_PIN        9               OUT\r\n*\/\r\n\r\n\/*\r\n   Credits:\r\n   <iframe loading=\"lazy\" title=\"[SOURCE CODE] Easy Setup Motor Driver BTN7960\/ BTS7960 with Arduino\" width=\"620\" height=\"349\" src=\"https:\/\/www.youtube.com\/embed\/QvXa6GKLu6E?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\r\n   https:\/\/arduinogetstarted.com\/faq\/how-to-use-buzzer-without-blocking-other-code\r\n*\/\r\n\r\n#include &lt;ezBuzzer.h&gt;\r\n\r\n\r\n\/\/ motor pins\r\n#define IN_A 3    \/\/ pwm pin motor (digital output)\r\n#define IN_B 4    \/\/ control pin INA (digital output)\r\n#define PWM 5    \/\/ control pin INB (digital output)\r\n\r\n#define BUTTON_UP 2\r\n#define BUTTON_DOWN 7\r\n#define BUTTON_ON 8\r\n\r\n#define BUZZER_PIN 9\r\n\r\nezBuzzer buzzer(BUZZER_PIN); \/\/ create ezBuzzer object\r\n\r\n\/\/ notes in the buzzer melody\r\nint melody[] = {\r\n  NOTE_C4, NOTE_E4, NOTE_G4, NOTE_C5\r\n};\r\n\r\n\/\/ note durations: 4 = quarter note, 2 = half note\r\nint noteDurations[] = {\r\n  4, 4, 4, 2\r\n};\r\n\r\n\/\/Variables representing state\r\nbool up_state = 0;\r\nbool down_state = 0;\r\nbool on_state = 0;\r\nunsigned long timer = 0; \/\/ used for speaker delay\r\n\r\n\r\n\/\/ Helper functions for driving motor\r\nvoid motor_stop() {\r\n  digitalWrite(IN_A, LOW);\r\n  digitalWrite(IN_B, LOW);\r\n  analogWrite(PWM, 0);\r\n}\r\n\r\nvoid motor_cw() {\r\n  digitalWrite(IN_A, HIGH);\r\n  digitalWrite(IN_B, LOW);\r\n  analogWrite(PWM, 255);\r\n}\r\n\r\nvoid motor_ccw() {\r\n  digitalWrite(IN_A, LOW);\r\n  digitalWrite(IN_B, HIGH);\r\n  analogWrite(PWM, 255);\r\n}\r\n\r\nvoid setup() {\r\n  pinMode(BUTTON_UP, OUTPUT);\r\n  pinMode(BUTTON_DOWN, OUTPUT);\r\n  pinMode(BUTTON_ON, OUTPUT);\r\n  pinMode(BUZZER_PIN, OUTPUT);\r\n  pinMode(IN_A, OUTPUT);\r\n  pinMode(IN_B, OUTPUT);\r\n  pinMode(PWM, OUTPUT);\r\n  \/\/Initial state of motor\r\n  motor_stop();\r\n}\r\n\r\nvoid loop() {\r\n  up_state = digitalRead(BUTTON_UP);\r\n  down_state = digitalRead(BUTTON_DOWN);\r\n  on_state = digitalRead(BUTTON_ON);\r\n  \/\/ If overall on switch is activated (button will latch)\r\n  if (on_state) {\r\n    \/\/ If up button is registered, stop motor and then turn CW\r\n    if (up_state) {\r\n      buzzer.stop();\r\n      motor_cw();\r\n      delay(500); \/\/ delay for motor\r\n    }\r\n    \/\/ If down button is registered, stop motor and then turn CCW\r\n    else if (down_state) {\r\n      buzzer.stop();\r\n      Serial.println(\"down\");\r\n      motor_ccw();\r\n      delay(500); \/\/ delay for motor\r\n    }\r\n    \/\/ If neither button is registered, stop motor and loop buzzer alert\r\n    else if (!up_state &amp;&amp; !down_state) {\r\n      buzzer.loop(); \/\/ called to play in the background\r\n      motor_stop();\r\n      delay(500); \/\/ delay for motor\r\n      \/\/ if buzzer isn't currently playing anymore and 0.5 second has passed, repeat\r\n      if (buzzer.getState() == BUZZER_IDLE &amp;&amp; (millis() - timer) &gt; 500) {\r\n        int length = sizeof(noteDurations) \/ sizeof(int);\r\n        buzzer.playMelody(melody, noteDurations, length); \/\/ playing\r\n        timer = millis();\r\n      }\r\n    }\r\n  }\r\n}<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Matthew Wagner, Serena Ying, Yuqi (Alice) Zhou for Brenda &nbsp; 1. Introduction For our final project, we were tasked to work with a client to develop a personal&#8230;<\/p>\n","protected":false},"author":203,"featured_media":14900,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[100,159],"tags":[],"_links":{"self":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-json\/wp\/v2\/posts\/14614"}],"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\/203"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-json\/wp\/v2\/comments?post=14614"}],"version-history":[{"count":40,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-json\/wp\/v2\/posts\/14614\/revisions"}],"predecessor-version":[{"id":14902,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-json\/wp\/v2\/posts\/14614\/revisions\/14902"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-json\/wp\/v2\/media\/14900"}],"wp:attachment":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-json\/wp\/v2\/media?parent=14614"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-json\/wp\/v2\/categories?post=14614"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/f2021\/work\/wp-json\/wp\/v2\/tags?post=14614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}