{"id":11727,"date":"2021-11-11T22:15:43","date_gmt":"2021-11-12T03:15:43","guid":{"rendered":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/?p=11727"},"modified":"2021-11-11T22:15:43","modified_gmt":"2021-11-12T03:15:43","slug":"malleable-melodies-project-2-flow-documentation-kirmanh","status":"publish","type":"post","link":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/malleable-melodies-project-2-flow-documentation-kirmanh\/","title":{"rendered":"Malleable Melodies | Project 2 FLOW Documentation | kirmanh"},"content":{"rendered":"<div id=\"attachment_11731\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-11731\" loading=\"lazy\" class=\"wp-image-11731 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211822826-scaled-e1636685533937-769x1024.jpg\" alt=\"\" width=\"620\" height=\"826\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211822826-scaled-e1636685533937-769x1024.jpg 769w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211822826-scaled-e1636685533937-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211822826-scaled-e1636685533937-768x1022.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211822826-scaled-e1636685533937-1154x1536.jpg 1154w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211822826-scaled-e1636685533937-973x1295.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211822826-scaled-e1636685533937-508x676.jpg 508w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211822826-scaled-e1636685533937.jpg 1433w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-11731\" class=\"wp-caption-text\">Setup with no people<\/p><\/div>\n<div id=\"attachment_11741\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-11741\" loading=\"lazy\" class=\"wp-image-11741 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_193202431-1024x576.jpg\" alt=\"\" width=\"620\" height=\"349\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_193202431-1024x576.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_193202431-300x169.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_193202431-768x432.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_193202431-1536x864.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_193202431-2048x1152.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_193202431-973x547.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_193202431-508x286.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-11741\" class=\"wp-caption-text\">People using malleable melodies during the critique<\/p><\/div>\n<div id=\"attachment_11740\" style=\"width: 583px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-11740\" loading=\"lazy\" class=\"wp-image-11740 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211828665-1-573x1024.jpg\" alt=\"\" width=\"573\" height=\"1024\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211828665-1-573x1024.jpg 573w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211828665-1-168x300.jpg 168w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211828665-1-768x1373.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211828665-1-859x1536.jpg 859w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211828665-1-1146x2048.jpg 1146w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211828665-1-973x1739.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211828665-1-508x908.jpg 508w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211828665-1-scaled.jpg 1432w\" sizes=\"(max-width: 573px) 100vw, 573px\" \/><p id=\"caption-attachment-11740\" class=\"wp-caption-text\">Showing base setup including how wires come out of the bottom of the post<\/p><\/div>\n<div id=\"attachment_11739\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-11739\" loading=\"lazy\" class=\"wp-image-11739 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211842461-1024x576.jpg\" alt=\"\" width=\"620\" height=\"349\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211842461-1024x576.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211842461-300x169.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211842461-768x432.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211842461-1536x864.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211842461-2048x1152.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211842461-973x547.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_211842461-508x286.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-11739\" class=\"wp-caption-text\">wiring<\/p><\/div>\n<div id=\"attachment_11733\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-11733\" loading=\"lazy\" class=\"wp-image-11733 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/DSC_0012-684x1024.jpg\" alt=\"\" width=\"620\" height=\"928\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/DSC_0012-684x1024.jpg 684w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/DSC_0012-201x300.jpg 201w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/DSC_0012-768x1149.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/DSC_0012-1027x1536.jpg 1027w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/DSC_0012-1369x2048.jpg 1369w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/DSC_0012-973x1456.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/DSC_0012-508x760.jpg 508w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/DSC_0012-scaled.jpg 1711w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-11733\" class=\"wp-caption-text\">Judenique using one of the playdough modules during the critique. Shows the underside of the plate with the alligator clips connecting to the aluminum tape nodes feeding into the post.<\/p><\/div>\n<div id=\"attachment_11732\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-11732\" loading=\"lazy\" class=\"wp-image-11732 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_204632782-1024x573.jpg\" alt=\"\" width=\"620\" height=\"347\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_204632782-1024x573.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_204632782-300x168.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_204632782-768x430.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_204632782-1536x859.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_204632782-2048x1146.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_204632782-973x544.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211108_204632782-508x284.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-11732\" class=\"wp-caption-text\">People made lots of funny sculptures as they interacted with the project<\/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-11727-1\" width=\"620\" height=\"349\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/IMG_4446.mp4?_=1\" \/><a href=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/IMG_4446.mp4\">https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/IMG_4446.mp4<\/a><\/video><\/div>\n<div style=\"width: 620px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-11727-2\" width=\"620\" height=\"349\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/IMG_4445.mp4?_=2\" \/><a href=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/IMG_4445.mp4\">https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/IMG_4445.mp4<\/a><\/video><\/div>\n<p>&nbsp;<\/p>\n<h3>Description<\/h3>\n<p>There are 5 yellow posts with some plates and colorful lumps on top. They are all different heights. Each one has a bunch of wires coming out of the bottom that connect to a red box in the middle. There is some strange music playing with a bunch of different sounds. If you change the shape of the colorful lumps (they are mushy) then one of the sounds changes. Each lump changes a different sound in the collection of sounds playing. Because there are 5 you can work with other people to change the different sounds together.<\/p>\n<h3>Process<\/h3>\n<div id=\"attachment_11734\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-11734\" loading=\"lazy\" class=\"wp-image-11734 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211024_221210341-1024x576.jpg\" alt=\"\" width=\"620\" height=\"349\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211024_221210341-1024x576.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211024_221210341-300x169.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211024_221210341-768x432.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211024_221210341-1536x864.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211024_221210341-2048x1152.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211024_221210341-973x547.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211024_221210341-508x286.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-11734\" class=\"wp-caption-text\">The very first playdough module. Just testing to see if it could work.<\/p><\/div>\n<div style=\"width: 620px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-11727-3\" width=\"620\" height=\"1102\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/video-1635117656.mp4?_=3\" \/><a href=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/video-1635117656.mp4\">https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/video-1635117656.mp4<\/a><\/video><\/div>\n<div id=\"attachment_11735\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-11735\" loading=\"lazy\" class=\"wp-image-11735 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211024_221258007-1024x576.jpg\" alt=\"\" width=\"620\" height=\"349\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211024_221258007-1024x576.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211024_221258007-300x169.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211024_221258007-768x432.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211024_221258007-1536x864.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211024_221258007-2048x1152.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211024_221258007-973x547.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211024_221258007-508x286.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-11735\" class=\"wp-caption-text\">First encounter with the corrosion problem. The playdough removed the nice shiny coating from the spring and got dirty.<\/p><\/div>\n<div id=\"attachment_11736\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-11736\" loading=\"lazy\" class=\"wp-image-11736 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211101_1550417611-1024x576.jpg\" alt=\"\" width=\"620\" height=\"349\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211101_1550417611-1024x576.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211101_1550417611-300x169.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211101_1550417611-768x432.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211101_1550417611-1536x864.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211101_1550417611-2048x1152.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211101_1550417611-973x547.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211101_1550417611-508x286.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-11736\" class=\"wp-caption-text\">All of the demo modules I built over the process. You can see the heavy corrosion on the early copper modules as compared to the aluminum one.<\/p><\/div>\n<div id=\"attachment_11738\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-11738\" loading=\"lazy\" class=\"wp-image-11738 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211103_200156229-scaled-e1636685466613-1006x1024.jpg\" alt=\"\" width=\"620\" height=\"631\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211103_200156229-scaled-e1636685466613-1006x1024.jpg 1006w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211103_200156229-scaled-e1636685466613-295x300.jpg 295w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211103_200156229-scaled-e1636685466613-768x782.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211103_200156229-scaled-e1636685466613-973x991.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211103_200156229-scaled-e1636685466613-508x517.jpg 508w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211103_200156229-scaled-e1636685466613.jpg 1433w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-11738\" class=\"wp-caption-text\">Initial &#8220;mockup&#8221; of the planned installation with a cardboard box acting as the &#8220;mother&#8221; module into which I would put the computer, arduino, and breadboard.<\/p><\/div>\n<div id=\"attachment_11742\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-11742\" loading=\"lazy\" class=\"wp-image-11742 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211103_195810797-scaled-e1636686063795-1024x902.jpg\" alt=\"\" width=\"620\" height=\"546\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211103_195810797-scaled-e1636686063795-1024x902.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211103_195810797-scaled-e1636686063795-300x264.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211103_195810797-scaled-e1636686063795-768x677.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211103_195810797-scaled-e1636686063795-1536x1353.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211103_195810797-scaled-e1636686063795-973x857.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211103_195810797-scaled-e1636686063795-508x447.jpg 508w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-content\/uploads\/2021\/11\/PXL_20211103_195810797-scaled-e1636686063795.jpg 1612w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-11742\" class=\"wp-caption-text\">whiteboard doodles trying to figure out how to deal with the wires coming from the plates and feeding out to the base.<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>I think one of the main things I learned from this project was the importance of presentation. In my previous project I didn\u2019t focus as much on the \u201cformat\u201d of the project, instead I focused more on the \u201cguts,\u201d but in this project I spent a lot of time mocking up various ways of arranging things and I think it really paid off. I also learned the importance of conceptual development not just in the initial ideation stages but also in regards to the overall process. I think something I tend to lose sight of as I work is why I am actually doing what I am doing or what the goal is besides just \u201cfinishing\u201d the project, and so when it comes time for the critique I felt like the conceptual underpinning of my project didn\u2019t really match up as well with the experiential aspect. For example my goal was to create a more \u201cflexible\u201d music manipulation software, however I ended up scripting the music people were using, or even having the option of a pause\/play feature which I think would have better aligned with that goal. I think if I had set up all five modules earlier and had had people interact with the overall piece at the 90% critique it would have really helped me hone that last 10% to be more aligned with my overall goal.<\/p>\n<p>There were also quite a number of unexpected speed bumps that slowed down the project\u2019s development such as the fact that the playdough proved to be extremely corrosive and would become extremely discolored over time as well as the fact that it is apparently really hard to get the serial port to communicate with p5.js. Despite these setbacks however I think the project was also successful in that users seemed really engaged and drawn to the project, which poses well for further development. I also learned A TON doing this project; I learned how to better plan out and prioritize physical presentation early on, I learned a lot more about how to find and successfully modify code found online to your needs,\u00a0 I learned to have more conceptual discussions throughout the process rather than just at the start\/end, and I learned a whole new software.<\/p>\n<p>If I were to continue with this project I\u2019d like to 1) redo the central box to fit in the speakers 2) add some pulsing lights to the center box so it becomes more like a \u201cmother\u201d and the modules part of some sort of superorganism 3) think more about the \u201cflexibility\u201d aspect of the project and maybe modify it so people have some sort of sound selection 4) consider collaborative aspects of the project more and potentialities of different playdough modules interacting with one another.<\/p>\n<h3>Code<\/h3>\n<p>*** you need to use the program p5.serialcontrol (https:\/\/github.com\/p5-serial\/p5.serialcontrol\/releases) in order to use this code. Otherwise arduino code won&#8217;t be able to talk to the p5.js code. ***<\/p>\n<p>Arduino Code:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\">\/\/code for \"Malleable Melodies\" project by Kirman Hanson as part of 62-362\r\n\/\/code modified from:https:\/\/gist.github.com\/shfitz\/0aabb07daa8ef84904d6e3c6a17381a0\r\n\/\/if you try to get rid of the inbyte feature it won't work \r\n\r\nint firstSensor = 0;    \/\/ first analog sensor\r\nint secondSensor = 0;   \/\/ second analog sensor\r\nint thirdSensor = 0;\r\nint fourthSensor = 0;\r\nint fifthSensor = 0;\r\nint sixthSensor = 0;    \/\/ digital sensor, need this for the code to work\r\nint inByte = 0;         \/\/ incoming serial byte\r\n\r\nvoid setup() {\r\n  \/\/ start serial port at 9600 bps and wait for port to open:\r\n  Serial.begin(9600);\r\n  while(!Serial){\r\n    ;;\r\n  }\r\n\r\n  pinMode(2, INPUT);   \/\/ digital sensor is on digital pin 2\r\n  establishContact();  \/\/ send a byte to establish contact until receiver responds\r\n}\r\n\r\nvoid loop() {\r\n  \/\/ if we get a valid byte, read analog ins:\r\n  if (Serial.available() &gt; 0) {\r\n    \/\/ get incoming byte:\r\n    inByte = Serial.read();\r\n    \/\/ read first analog input:\r\n    firstSensor = analogRead(A0);\r\n    \/\/ read second analog input:\r\n    secondSensor = analogRead(A1);\r\n    \/\/ read third analog input:\r\n    thirdSensor = analogRead(A2);\r\n    \/\/ read fourth analog input:\r\n    fourthSensor = analogRead(A3);\r\n    \/\/read fifth analog input:\r\n    fifthSensor = analogRead(A4);\r\n    \/\/ read switch value\r\n    sixthSensor = digitalRead(2);\r\n    \r\n    \/\/ send sensor values:\r\n    Serial.print(firstSensor);\r\n    Serial.print(\",\");\r\n    Serial.print(secondSensor);\r\n    Serial.print(\",\");\r\n    Serial.print(thirdSensor);\r\n    Serial.print(\",\");\r\n    Serial.print(fourthSensor);\r\n    Serial.print(\",\");\r\n    Serial.print(fifthSensor);\r\n    Serial.print(\",\");\r\n    Serial.println(sixthSensor);\r\n  }\r\n  \r\n}\r\n\r\nvoid establishContact() {\r\n  while (Serial.available() &lt;= 0) {\r\n    Serial.println(\"0,0,0\");   \/\/ send an initial string\r\n    delay(300);\r\n  }\r\n}<\/pre>\n<p>p5.js:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">\/\/code for \"Malleable Melodies\" project by Kirman Hanson as part of 62-362\r\n\r\n\/\/ pitch shift by Anthony T. Marasco [2018] originally from https:\/\/codepen.io\/lsuddem\/pen\/RJEYLr\r\n\r\n\/\/ serial communication with a microcontroller sending multiple values from: https:\/\/editor.p5js.org\/shfitz\/sketches\/9dPvGrtEZ\r\n\r\n\/\/ arduino code [for serial communication] can be found here : https:\/\/gist.github.com\/shfitz\/0aabb07daa8ef84904d6e3c6a17381a0\r\n\r\nlet serial; \/\/ variable for the serial object\r\nlet sensors = [255, 255, 255, 255, 255, 255]; \/\/ array to hold data from arduino\r\n\r\n\/\/sound stuff\r\nlet shifter;\r\nlet player;\r\nlet footPlayer;\r\nlet footShifter;\r\nlet drumSound;\r\nlet drumSound2;\r\nlet keySound;\r\nlet footsSound;\r\nlet bellSound;\r\nlet pitchMax = 8.0;\r\nlet pitchMin = -15.0;\r\nlet bellRateMax = 4.0;\r\nlet volMax = 1.0;\r\nlet volMin = 0.0;\r\nlet footVolMax = 0.7;\r\nlet footVolMin = 0.0;\r\nlet rateMax = 1.5;\r\nlet rateMin = 0.5;\r\n    \r\n\/\/doughVals\r\nlet pD1Map, pD2Map, pD1Round, pD2Round, pD3Map, pD3Round;\r\n\/\/pD4 controls the bells sound volume and rate\r\nlet pD4VolMap, pD4VolRound, pD4RateMap, pD4RateRound;\r\n\/\/pD5 controls the footsteps volume and pitch\r\nlet pD5PitchMap, pD5PitchRound,pD5VolMap,pD5VolRound;\r\n\r\nfunction preload() {\r\n  drumSound = loadSound('drumming.wav');\r\n  keySound = createAudio('keys.wav');\r\n  footsSound = createAudio('footsteps.mp3');\r\n  bellSound = loadSound('bells.wav');\r\n  print('preloading');\r\n  \/\/storm pitch shift\r\n  shifter = new Tone.PitchShift(0).toMaster();\r\n    shifter.windowSize = 0.03\r\n  player = new Tone.Player('storm.mp3').connect(shifter);\r\n  player.loop = true;\r\n  \/\/foot pitch shift\r\n  footShifter = new Tone.PitchShift(0).toMaster();\r\n    footShifter.windowSize = 0.03\r\n  footPlayer = new Tone.Player('footsteps.mp3').connect(footShifter);\r\n  footPlayer.loop = true;\r\n}\r\n\r\n\r\nfunction setup() {\r\n  createCanvas(windowWidth, windowHeight);\r\n  textAlign(CENTER);\r\n  textFont(\"Helvetica\");\r\n  fill(0);\r\n  \r\n\/\/serial stuff\r\n  \/\/ serial constructor\r\n  serial = new p5.SerialPort();\r\n\r\n  \/\/ serial port to use - you'll need to change this\r\n  serial.open('\/dev\/tty.usbmodem14101');\r\n\r\n  \/\/ what to do when we get serial data\r\n  serial.on('data', gotData);\r\n\r\n  \/\/ when to do when the serial port opens\r\n  serial.on('open', gotOpen);\r\n\r\n\/\/sound stuff\r\n  \r\n  drumButton = createButton(\"Start Drum\");\r\n  drumButton.position(width \/ 2 - 50, height \/ 2);\r\n  drumButton.mousePressed(play1);\r\n  \r\n  stormButton = createButton(\"Start Storm\");\r\n  stormButton.position(width\/2-50, height\/2-100)\r\n  stormButton.mousePressed(play2)\r\n  \r\n  keysButton = createButton(\"Start Keys\");\r\n  keysButton.position(width\/2-50, height\/2-200)\r\n  keysButton.mousePressed(play3)\r\n  \r\n  footsButton = createButton(\"Start Footsteps\");\r\n  footsButton.position(width\/2-50, height\/2-250)\r\n  footsButton.mousePressed(play4) \r\n  \r\n  bellButton = createButton(\"Start Bells\");\r\n  bellButton.position(width\/2-50, height\/2+100)\r\n  bellButton.mousePressed(play5) \r\n  \r\n  shiftSlider = createSlider(pitchMin, pitchMax, 1, 0.1);\r\n  shiftSlider.style(\"width\", \"200px\");\r\n  shiftSlider.position(width \/ 2 - 100, height \/ 2 + 70);\r\n  \r\n  footShiftSlider = createSlider(pitchMin, pitchMax, 1, 0.1);\r\n  footShiftSlider.style(\"width\", \"200px\");\r\n  footShiftSlider.position(width \/ 2 - 100, height \/ 2 + 170);\r\n  \r\n}\r\n\r\nfunction draw(){\r\n  background(255);\r\n  noStroke();\r\n  \r\n \/\/pitch controls\r\n  shiftSlider.value(pD1Round);\r\n  shifter.pitch = shiftSlider.value();\r\n  \r\n  footShiftSlider.value(pD5PitchRound);\r\n  footShifter.pitch = footShiftSlider.value();\r\n  \r\n  \/\/rate controls\r\n  bellSound.rate(pD4RateRound);\r\n  drumSound.rate(pD3Round);\r\n  \r\n  \/\/volume controls\r\n  keySound.volume(pD2Round);\r\n  \/\/bellSound.volume(pD4VolRound);\r\n  \/\/drumSound.volume(0.7);\r\n  footsSound.volume(pD5VolRound);\r\n  \r\n  fill(0);\r\n  text('pot1: ' + sensors[0] + ', pot2: ' + sensors[1] + ', pot3: ' + sensors[2] + ', pot4: ' + sensors[3]+', pot5: ' + sensors[4],300,10);\r\n  console.log(sensors)\r\n}\r\n\r\nfunction gotData() {\r\n  let currentString = serial.readLine(); \/\/ store the data in a variable\r\n  trim(currentString); \/\/ get rid of whitespace\r\n  if (!currentString) return; \/\/ if there's nothing in there, ignore it\r\n  sensors = split(currentString, ',');\r\n  \r\n  \/\/map pD1 to pitch for storm\r\n  pD1Map = map(float(sensors[0]), 200, 800, pitchMin, pitchMax);\r\n  pD1Round = round(constrain(pD1Map, pitchMin, pitchMax),1);\r\n  \r\n  \/\/map pD2 to volume for keys\r\n  pD2Map = map(float(sensors[1]), 95, 300, volMin, volMax);\r\n  pD2Round= round(constrain(pD2Map, volMin, volMax), 1);\r\n  \r\n  \/\/map pD3 to rate for drums\r\n  pD3Map = map(float(sensors[2]), 100, 300, rateMin, rateMax);\r\n  pD3Round= round(constrain(pD3Map, rateMin, rateMax), 1);\r\n  \r\n  \/\/map pD4 to volume and rate for bells\r\n  pD4VolMap = map(float(sensors[3]), 100, 500, volMin, volMax);\r\n  pD4VolRound= round(constrain(pD4VolMap, volMin, volMax), 1);\r\n  pD4RateMap = map(float(sensors[3]), 100, 500, rateMin, bellRateMax);\r\n  pD4RateRound= round(constrain(pD4RateMap, rateMin, bellRateMax), 1);\r\n  \r\n  \/\/map pD5 to volume and pitch for foots\r\n  pD5VolMap = map(float(sensors[4]), 100, 300, footVolMin, footVolMax);\r\n  pD5VolRound= round(constrain(pD5VolMap, footVolMin, footVolMax), 1);\r\n  pD5PitchMap = map(float(sensors[4], 100, 300, pitchMin, pitchMax),1);\r\n  pD5PitchRound = round(constrain(pD5PitchMap, pitchMin, pitchMax), 1);\r\n  \r\n  \/\/console.log(\"pD1Round:\"+pD1Round);\r\n  serial.write('A');\r\n}\r\n\r\nfunction gotOpen() {\r\n  print(\"Serial Port is Open\");\r\n  serial.clear(); \/\/ clears the buffer of any outstanding data\r\n  serial.write('A'); \/\/ send a byte to the Arduino\r\n}\r\n\r\nfunction play1() { \/\/ set up as drum &amp; rate button\r\n  drumSound.loop();\r\n}\r\nfunction play2(){ \/\/set up as storm &amp; pitch player\r\n  player.start();\r\n}\r\nfunction play3(){\/\/set up as keys\/volume player\r\n  keySound.loop();\r\n}\r\nfunction play4(){\/\/set up as footsteps\/volume player\r\n  footsSound.loop();\r\n  footPlayer.start();\r\n}\r\nfunction play5(){\/\/set up as footsteps\/volume player\r\n  bellSound.loop();\r\n}\r\n<\/pre>\n<p>p5.js index code:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\">&lt;!DOCTYPE html&gt;\r\n&lt;html lang=\"en\"&gt;\r\n  &lt;head&gt;\r\n    &lt;script src=\"path\/to\/p5.sound.js\"&gt;&lt;\/script&gt;\r\n    &lt;script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/p5.js\/1.4.0\/p5.js\"&gt;&lt;\/script&gt;\r\n   \t&lt;script language=\"javascript\" type=\"text\/javascript\" src=\"https:\/\/cdn.jsdelivr.net\/npm\/p5.serialserver@0.0.28\/lib\/p5.serialport.js\"&gt;&lt;\/script&gt;\r\n    &lt;script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/p5.js\/1.4.0\/addons\/p5.sound.min.js\"&gt;&lt;\/script&gt;\r\n    &lt;script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/tone\/13.2.0\/Tone.min.js\"&gt;&lt;\/script&gt;\r\n    \r\n    &lt;link rel=\"stylesheet\" type=\"text\/css\" href=\"style.css\"&gt;\r\n    &lt;meta charset=\"utf-8\" \/&gt;\r\n\r\n  &lt;\/head&gt;\r\n  &lt;body&gt;\r\n    &lt;script src = \"comboSketch.js\"&gt;&lt;\/script&gt;\r\n  &lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Description There are 5 yellow posts with some plates and colorful lumps on top. They are all different heights. Each one has a bunch of wires coming&#8230;<\/p>\n","protected":false},"author":129,"featured_media":11728,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[186],"tags":[],"_links":{"self":[{"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-json\/wp\/v2\/posts\/11727"}],"collection":[{"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-json\/wp\/v2\/users\/129"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-json\/wp\/v2\/comments?post=11727"}],"version-history":[{"count":1,"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-json\/wp\/v2\/posts\/11727\/revisions"}],"predecessor-version":[{"id":11747,"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-json\/wp\/v2\/posts\/11727\/revisions\/11747"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-json\/wp\/v2\/media\/11728"}],"wp:attachment":[{"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-json\/wp\/v2\/media?parent=11727"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-json\/wp\/v2\/categories?post=11727"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2021\/wp-json\/wp\/v2\/tags?post=11727"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}