{"id":12399,"date":"2022-11-29T03:26:32","date_gmt":"2022-11-29T08:26:32","guid":{"rendered":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/?p=12399"},"modified":"2022-11-29T03:26:32","modified_gmt":"2022-11-29T08:26:32","slug":"project-2-rain","status":"publish","type":"post","link":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/project-2-rain\/","title":{"rendered":"Project 2: Rain"},"content":{"rendered":"<p style=\"text-align: center\"><em>Rain\u00a0<\/em><\/p>\n<p><strong>Photos<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-12402 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215730-768x1024.jpg\" alt=\"\" width=\"620\" height=\"827\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215730-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215730-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215730-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215730-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215730-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215730-508x677.jpg 508w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215730-scaled.jpg 1920w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/> <img loading=\"lazy\" class=\"alignnone wp-image-12403 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215757-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215757-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215757-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215757-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215757-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215757-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215757-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215757-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-12406 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215840-936x1024.jpg\" alt=\"\" width=\"620\" height=\"678\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215840-936x1024.jpg 936w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215840-274x300.jpg 274w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215840-768x841.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215840-1403x1536.jpg 1403w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215840-1871x2048.jpg 1871w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215840-973x1065.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215840-508x556.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/> <img loading=\"lazy\" class=\"alignnone wp-image-12407 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215919-860x1024.jpg\" alt=\"\" width=\"620\" height=\"738\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215919-860x1024.jpg 860w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215919-252x300.jpg 252w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215919-768x914.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215919-1290x1536.jpg 1290w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215919-1720x2048.jpg 1720w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215919-973x1158.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215919-508x605.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/> <img loading=\"lazy\" class=\"alignnone wp-image-12408 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215953-916x1024.jpg\" alt=\"\" width=\"620\" height=\"693\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215953-916x1024.jpg 916w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215953-268x300.jpg 268w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215953-768x858.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215953-1374x1536.jpg 1374w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215953-1833x2048.jpg 1833w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215953-973x1087.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_215953-508x568.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/> <img loading=\"lazy\" class=\"alignnone wp-image-12409 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220032-746x1024.jpg\" alt=\"\" width=\"620\" height=\"851\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220032-746x1024.jpg 746w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220032-219x300.jpg 219w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220032-768x1054.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220032-1119x1536.jpg 1119w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220032-1492x2048.jpg 1492w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220032-973x1336.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220032-508x697.jpg 508w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220032-scaled.jpg 1865w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/> <img loading=\"lazy\" class=\"alignnone wp-image-12410 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220054-678x1024.jpg\" alt=\"\" width=\"620\" height=\"936\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220054-678x1024.jpg 678w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220054-199x300.jpg 199w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220054-768x1159.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220054-1017x1536.jpg 1017w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220054-1357x2048.jpg 1357w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220054-973x1469.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220054-508x767.jpg 508w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220054-scaled.jpg 1696w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-12411 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220314-1-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220314-1-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220314-1-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220314-1-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220314-1-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220314-1-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220314-1-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220314-1-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/> <img loading=\"lazy\" class=\"alignnone wp-image-12412 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220332-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220332-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220332-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220332-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220332-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220332-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220332-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220332-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/> <img loading=\"lazy\" class=\"alignnone wp-image-12413 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220413-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220413-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220413-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220413-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220413-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220413-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220413-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220413-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/> <img loading=\"lazy\" class=\"alignnone wp-image-12414 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220417-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220417-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220417-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220417-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220417-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220417-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220417-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220417-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/> <img loading=\"lazy\" class=\"alignnone wp-image-12415 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220446-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220446-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220446-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220446-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220446-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220446-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220446-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220446-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/> <img loading=\"lazy\" class=\"alignnone wp-image-12416 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220450-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220450-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220450-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220450-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220450-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220450-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220450-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220450-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/> <img loading=\"lazy\" class=\"alignnone wp-image-12417 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220519-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220519-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220519-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220519-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220519-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220519-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220519-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220519-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/> <img loading=\"lazy\" class=\"alignnone wp-image-12418 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220522-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220522-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220522-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220522-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220522-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220522-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220522-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220522-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/> <img loading=\"lazy\" class=\"alignnone wp-image-12419 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220546-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220546-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220546-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220546-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220546-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220546-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220546-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220546-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-12420 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220549-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220549-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220549-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220549-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220549-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220549-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220549-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220549-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/p>\n<p><strong>Video<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"Rain\" width=\"620\" height=\"349\" src=\"https:\/\/www.youtube.com\/embed\/-M9a9yWPS90?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p><strong>Narrative Description<\/strong><\/p>\n<p><span style=\"font-weight: 400\">A frosty white device composed of acrylic panels and a tear-drop shaped facade sits on a table. The tear-drop contains a speaker centered on its face as well as an IR-proximity sensor just below the speaker. The user sets their hand directly in front of the sensor for about a second. The device then begins playing a message. Narrated by a male robotic voice, the message describes the weather for the week at the user\u2019s location using highly detailed meteorological terminology. The tear-drop plays two short messages, with a rectangular light accompanying the second message. These two messages, which berate the user, are narrated by a real yet snarky female voice. The first message corresponds to a certain temperature range while the second message, along with the light, corresponds to a sky condition. Once the second message is played, the rectangular light shuts off after about 4 seconds.\u00a0<\/span><\/p>\n<p><strong>Progression to Final Project<\/strong><\/p>\n<p><em>Maquette &#8211;&gt; Simple circuit &#8211;&gt; Hardware &#8211;&gt; Electronics Integration &#8211;&gt; Final Project<\/em><\/p>\n<p>Maquette<\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-12422 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221101_232515-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221101_232515-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221101_232515-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221101_232515-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221101_232515-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221101_232515-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221101_232515-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221101_232515-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/p>\n<div id=\"attachment_12429\" style=\"width: 630px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-12429\" loading=\"lazy\" class=\"wp-image-12429 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221101_232539-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221101_232539-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221101_232539-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221101_232539-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221101_232539-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221101_232539-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221101_232539-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221101_232539-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-12429\" class=\"wp-caption-text\">Maquette made out of cotton balls and pipe cleaners. Circuit contains 4 blue LEDs, powered by a button press<\/p><\/div>\n<p>Simple Circuit<\/p>\n<div id=\"attachment_12423\" style=\"width: 630px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-12423\" loading=\"lazy\" class=\"wp-image-12423 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221118_231416-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221118_231416-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221118_231416-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221118_231416-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221118_231416-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221118_231416-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221118_231416-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221118_231416-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-12423\" class=\"wp-caption-text\">Simple circuit with Adafruit MusicMaker shield playing MP3 file in parallel with NeoPixels lighting up, all activated by gentle press on IR proximity sensor<\/p><\/div>\n<p>Hardware<\/p>\n<div id=\"attachment_12425\" style=\"width: 630px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-12425\" loading=\"lazy\" class=\"wp-image-12425 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221119_113103-768x1024.jpg\" alt=\"\" width=\"620\" height=\"827\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221119_113103-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221119_113103-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221119_113103-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221119_113103-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221119_113103-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221119_113103-508x677.jpg 508w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221119_113103-scaled.jpg 1920w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-12425\" class=\"wp-caption-text\">Gluing a side and bottom panel together with acrylic glue<\/p><\/div>\n<p>Electronics Integration<\/p>\n<div id=\"attachment_12426\" style=\"width: 630px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-12426\" loading=\"lazy\" class=\"wp-image-12426 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221120_202727-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221120_202727-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221120_202727-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221120_202727-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221120_202727-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221120_202727-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221120_202727-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221120_202727-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-12426\" class=\"wp-caption-text\">Placement of speaker, NeoPixels, Arduino, and IR proximity sensor into back compartment of device<\/p><\/div>\n<p>Final Project<\/p>\n<div id=\"attachment_12427\" style=\"width: 630px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-12427\" loading=\"lazy\" class=\"wp-image-12427 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220053-1-1024x768.jpg\" alt=\"\" width=\"620\" height=\"465\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220053-1-1024x768.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220053-1-300x225.jpg 300w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220053-1-768x576.jpg 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220053-1-1536x1152.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220053-1-2048x1536.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220053-1-973x730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/20221128_220053-1-508x381.jpg 508w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><p id=\"caption-attachment-12427\" class=\"wp-caption-text\">Rain lighting up yellow to indicate stormy weather<\/p><\/div>\n<p><strong>Process Reflection<\/strong><\/p>\n<p><span style=\"font-weight: 400\">This project involved many compromises and experimentation regarding its hardware and software, but many lessons were learned. I wanted to take this project into the gimmick product realm. I wanted a device that informs the user about the weather and berates them while doing so. Throughout the project build, I adhered to the latter quality quite well. However, the type of weather information I wanted the device to convey proved to be a rather complicated decision. Due to limitations of the Arduino Uno board and a lack of time to implement a wifi-compatible board, I found it difficult to implement live and useful weather data such as temperature or precipitation percentage. These values change very often, which seems to necessitate a live stream of data. Ultimately, I decided on using the \u201carea forecast discussion\u201d from the National Weather Service as my weather data. This is essentially commentary on the weekly weather of a specified location, designed for meteorologists. It includes vocabulary that is very unlikely to be comprehended by the average user and does not contain numerical values that people tend to care about. Including this kind of data increases the absurdity of the product experience; this is further elaborated in my artist\u2019s statement.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">I ran into lots of issues on the software side of this project. To play audio files, I used an Adafruit MusicMaker MP3 Shield, which has its own code library. It took me some trial and error to get some understanding of what the MusicMaker code was doing, so that I could then manipulate it for the project. Unfortunately, I did not pay close enough attention to the code at first, and I missed important information on which pins of the Arduino were being used by the shield. As a result, trying to play an audio file along while lighting NeoPixels took a very long time to figure out as I kept placing the NeoPixels into pins that were already used. Thankfully, Zach spotted this issue very quickly, and I was then able to successfully play audio files along with lighting the NeoPixels. Another challenge emerged when finalizing the code. Despite the lack of a live data stream, I wanted to emulate such a data stream as closely as possible for the final critique. I decided on importing Pittsburgh weather data for one day into the code and basing all the product\u2019s actions on that. Specifically, I wanted it such that, anytime a user gently pressed the IR sensor, the device would play a message and light up correspondingly to the weather of a randomly chosen time that day. For instance, after a gentle press, the random time chosen is 6pm, and the device would play audio and light up according to the weather at 6pm of the imported day. This required a lot of if\/else if statements, which unfortunately I could not get to work properly. So, I ended up having to manually alter the code after every use to display all weather combinations.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">The hardware assembly involved some improvisation. The tear-drop facade as well as the back panels are all laser-cut acrylic pieces. Initially, I wanted the device to have a soft, fluffy exterior to make it more approachable. This necessitated 3d-printing, but, due to time constraints, I ended up designing the device to be laser cuttable. I created a CAD model of the full assembly and created DXF files from that model. I used acrylic glue to fixture the tear-drop to the two side panels. These side panels were then glued to a bottom panel. The top and rear panel were not featured at all as I wanted easy access to electronics for debugging. In between the back panels lies the Arduino, all of the wires, and a clear acrylic wall where two NeoPixels are hot glued onto. The speaker is fastened to the tear-drop facade with nylon screws, and the IR sensor is placed on the facade through a small rectangular hole. In order to experiment with lighting, I did not glue the NeoPixel wall as I wanted to move it freely. Gluing would also make any debugging more difficult. Because of this, the wall would not stay perpendicular to the ground, which made the lighting on the tear-drop uneven. As a result of the panel enclosure, the lighting on the tear-drop was rectangular. I had wanted the light to cover the entire face in any external lighting condition, but of course this was limited by the rectangle.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Overall, I did not fully realize my ideas for this project, but I made compromises to get as close to them as I could. Managing my time better would definitely have improved this situation; I think I spent some unnecessary time on hardware design. As with my previous project, I overestimated the wiring difficulty, but not as bad as before. The main issue with the wiring this time was accessibility. I could barely fit a few fingers into the back compartment of the device, so ensuring all the wires were firmly connected proved to be challenging. I think wiring consideration in design will come with experience as it is difficult to predict and implement wiring in CAD. Despite these difficulties I have outlined, going through them has given me valuable insight into how I want to expand this project. Similar to my first project, I want to implement a dystopian plot to the product. Specifically, the device would contain a weatherman that is trapped inside of it and is forced to be snarky and provide weather data to the user; this is hinted in my project video. To fully realize such a plot, I think the biggest design changes I need to make are to implement live weather data and include another medium, likely a video, to better contextualize the device with the plot.\u00a0<\/span><\/p>\n<p><strong>Artist&#8217;s Statement<\/strong><\/p>\n<p><span style=\"font-weight: 400\">This project is a physical device that informs users of the weather at their location and mocks them while doing so. The weather information is highly detailed in meteorological language that is very likely foreign to the average person. Once the weather information is presented, the teardrop-shaped face lights up to a color corresponding to the current weather. While doing so, the user is mocked. I was inspired by the song <em>Rain<\/em> by The Beatles. Its writer, John Lennon, grew tired of what he perceived to be people constantly complaining about the weather, and he dedicated this song to making fun of them. It\u2019s one of my favorite songs from the band, and I only recently discovered its original meaning, which makes it not only musically but thematically clever. So, I decided to create a physical manifestation of the song.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">The project provides interaction through physical, auditory, and visual means. It is a white acrylic teardrop with lights and a speaker attached from the back in a white acrylic case. When a user brings their hand in front of a sensor on the teardrop face, a message is played. Narrated by a robotic male voice, the message describes in meteorological detail the weather for the week. Afterward, the teardrop lights up, depending on how the weather is, and then a real female voice mocks the user with a few lines.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">One of the most common small-talk discussion topics is the weather. It\u2019s very easy to discuss because it\u2019s always with us and everyone experiences it. I sometimes get a bit annoyed when I catch myself mentioning the weather in small-talk; it seems like a waste of conversation given how obvious the weather is like. <\/span><i><span style=\"font-weight: 400\">Rain <\/span><\/i><span style=\"font-weight: 400\">takes this phenomenon and completely exaggerates such a scenario. By presenting weather information that is nearly incomprehensible without decent meteorological knowledge and by berating the user, conversation about weather is seen as undesirable. It questions the presence of weather in kind, simple small-talk.\u00a0<\/span><\/p>\n<p><strong>Code\u00a0<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\">\/\/Rain \r\n\/\/Gabriel Prado\r\n\/\/Code plays MP3 files through speaker and lights NeoPixels, all activated by IR sensor\r\n\/\/Code used from Adafruit MusicMaker MP3 Shield library and NeoPixels library\r\n\r\n\r\n\/\/Lines 10-41 --&gt; setup for Adafruit MusicMaker MP3 Shield\r\n\/\/Lines 43-60 --&gt; setup for NeoPixels\r\n\r\n#include &lt;SPI.h&gt;\r\n#include &lt;Adafruit_VS1053.h&gt;\r\n#include &lt;SD.h&gt;\r\n\r\n\/\/ define the pins used\r\n\/\/#define CLK 13       \/\/ SPI Clock, shared with SD card\r\n\/\/#define MISO 12      \/\/ Input data, from VS1053\/SD card\r\n\/\/#define MOSI 11      \/\/ Output data, to VS1053\/SD card\r\n\/\/ Connect CLK, MISO and MOSI to hardware SPI pins. \r\n\/\/ See http:\/\/arduino.cc\/en\/Reference\/SPI \"Connections\"\r\n\r\n\/\/ These are the pins used for the breakout example\r\n#define BREAKOUT_RESET  9      \/\/ VS1053 reset pin (output)\r\n#define BREAKOUT_CS     10     \/\/ VS1053 chip select pin (output)\r\n#define BREAKOUT_DCS    8      \/\/ VS1053 Data\/command select pin (output)\r\n\/\/ These are the pins used for the music maker shield\r\n#define SHIELD_RESET  -1      \/\/ VS1053 reset pin (unused!)\r\n#define SHIELD_CS     7      \/\/ VS1053 chip select pin (output)\r\n#define SHIELD_DCS    6      \/\/ VS1053 Data\/command select pin (output)\r\n\r\n\/\/ These are common pins between breakout and shield\r\n#define CARDCS 4     \/\/ Card chip select pin\r\n\/\/ DREQ should be an Int pin, see http:\/\/arduino.cc\/en\/Reference\/attachInterrupt\r\n#define DREQ 3       \/\/ VS1053 Data request, ideally an Interrupt pin\r\n\r\n\r\n\r\nAdafruit_VS1053_FilePlayer musicPlayer = \r\n  \/\/ create breakout-example object!\r\n  \/\/Adafruit_VS1053_FilePlayer(BREAKOUT_RESET, BREAKOUT_CS, BREAKOUT_DCS, DREQ, CARDCS);\r\n  \/\/ create shield-example object!\r\n  Adafruit_VS1053_FilePlayer(SHIELD_RESET, SHIELD_CS, SHIELD_DCS, DREQ, CARDCS);\r\n  \r\n#include &lt;Adafruit_NeoPixel.h&gt;\r\n#ifdef __AVR__\r\n #include &lt;avr\/power.h&gt; \/\/ Required for 16 MHz Adafruit Trinket\r\n#endif\r\n\r\n\/\/ Which pin on the Arduino is connected to the NeoPixels?\r\n#define PIN        6 \/\/ On Trinket or Gemma, suggest changing this to 1\r\n\r\n\/\/ How many NeoPixels are attached to the Arduino?\r\n#define NUMPIXELS 32 \/\/ Popular NeoPixel ring size\r\n\r\n\/\/ When setting up the NeoPixel library, we tell it how many pixels,\r\n\/\/ and which pin to use to send signals. Note that for older NeoPixel\r\n\/\/ strips you might need to change the third parameter -- see the\r\n\/\/ strandtest example for more information on possible values.\r\nAdafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);\r\n\r\n#define DELAYVAL 500 \/\/ Time (in milliseconds) to pause between pixels\r\n\r\n\/\/ table below includes all MP3 files for insults \r\nint temps[] = {\"\/track001.mp3\" , \"\/track002.mp3\", \"\/track003.mp3\" , \"\/track004.mp3\" , \"\/track005.mp3\", \"\/track006.mp3\",\r\n\"\/track007.mp3\" , \"\/track008.mp3\", \"\/track009.mp3\" , \"\/track010.mp3\" , \"\/track011.mp3\" , \"\/track012.mp3\" , \"\/track013.mp3\" ,\r\n\"\/track014.mp3\" , \"\/track015.mp3\" , \"\/track016.mp3\" , \"\/track017.mp3\" , \"\/track018.mp3\" , \"\/track019.mp3\" , \"\/track020.mp3\", \r\n\"\/track021.mp3\" , \"\/track022.mp3\" , \"\/track023.mp3\" , \"\/track024.mp3\" ,\"\/track025.mp3\" , \"\/track026.mp3\"};\r\n\r\n\r\n\r\nvoid printDirectory(File dir, int numTabs) { \/\/part of MP3 Shield setup\r\n   while(true) {\r\n     \r\n     File entry =  dir.openNextFile();\r\n     if (! entry) {\r\n       \/\/ no more files\r\n       \/\/Serial.println(\"**nomorefiles**\");\r\n       break;\r\n     }\r\n     for (uint8_t i=0; i&lt;numTabs; i++) {\r\n       Serial.print('\\t');\r\n     }\r\n     Serial.print(entry.name());\r\n     if (entry.isDirectory()) {\r\n       Serial.println(\"\/\");\r\n       printDirectory(entry, numTabs+1);\r\n     } else {\r\n       \/\/ files have sizes, directories do not\r\n       Serial.print(\"\\t\\t\");\r\n       Serial.println(entry.size(), DEC);\r\n     }\r\n     entry.close();\r\n   }\r\n}\r\n\r\n\r\nvoid setup() {\r\n  pinMode(A0,INPUT); \/\/Pin for IR proximity sensor\r\n  Serial.begin(9600);\r\n  \r\n  musicPlayer.begin();\r\n  SD.begin(CARDCS);\r\n  \/\/SD.open(\"\/track001.mp3\");\r\n  \r\n  \r\n \/\/ printDirectory(SD.open(\"\/\"), 0);\r\n  \r\n  musicPlayer.setVolume(20,20);\r\n  \r\n  #if defined(__AVR_ATtiny85__) &amp;&amp; (F_CPU == 16000000)\r\n  clock_prescale_set(clock_div_1);\r\n#endif\r\n  \/\/ END of Trinket-specific code.\r\n\r\n  pixels.begin(); \/\/ INITIALIZE NeoPixel strip object (REQUIRED)\r\n  \r\n}\r\n\r\nvoid loop() {\r\n    pixels.clear();\r\n    delay(1000);\r\n    if(analogRead(A0) &gt;= 200){\r\n        musicPlayer.playFullFile(\"\/track099.mp3\"); \/\/MP3 for area forecast discussion\r\n        int up = 3; \/\/ current sky condition (0,1,2,3, or 4)\r\n        int f = random(0,3);\r\n        int g = random(3,6);\r\n        int h = random(6,8);\r\n        int i = random(8,10);\r\n        int j = random(10,12);  \/\/each letter corresponds to insults for certain temp range\r\n        int k = random(12,14);\r\n        int l = random(14,16);\r\n        int m = random(16,18);\r\n        int n = random(18,20);\r\n        musicPlayer.playFullFile(temps[2]); \/\/MP3 for insult corresponding to temp\r\n        if(up == 0){\r\n                  for(int i=0; i&lt;NUMPIXELS; i++){ \/\/ For each pixel...\r\n                     pixels.setPixelColor(i, pixels.Color(0, 191, 255)); \/\/blue emitted\r\n                      pixels.show();   \/\/ Send the updated pixel colors to the hardware.\r\n                      }\r\n                  musicPlayer.playFullFile(temps[up+20]); \/\/MP3 for insult corresponding to sky condition\r\n                  delay(4000);\r\n                  pixels.clear();\r\n                  for(int i=0; i&lt;NUMPIXELS; i++){ \/\/ For each pixel...\r\n                     pixels.setPixelColor(i, pixels.Color(0, 0, 0)); \/\/no color emitted\r\n                      pixels.show();   \/\/ Send the updated pixel colors to the hardware.\r\n                       }\r\n              }\r\n              else if (up == 1){\r\n                  for(int i=0; i&lt;NUMPIXELS; i++){ \/\/ For each pixel...\r\n                         pixels.setPixelColor(i, pixels.Color(255, 20, 0));   \/\/red-orange emitted\r\n                         pixels.show();   \/\/ Send the updated pixel colors to the hardware.\r\n                      }\r\n                      musicPlayer.playFullFile(temps[up+20]);\r\n                      delay(4000);\r\n                      pixels.clear();\r\n                     for(int i=0; i&lt;NUMPIXELS; i++){ \/\/ For each pixel...\r\n                           pixels.setPixelColor(i, pixels.Color(0, 0, 0)); \/\/no color emitted\r\n                           pixels.show();   \/\/ Send the updated pixel colors to the hardware.\r\n                        }\r\n              }\r\n              else if (up == 2){\r\n                 for(int i=0; i&lt;NUMPIXELS; i++){ \/\/ For each pixel...\r\n                         pixels.setPixelColor(i, pixels.Color(32, 32, 32)); \/\/gray emitted\r\n                          pixels.show();   \/\/ Send the updated pixel colors to the hardware.\r\n                      }\r\n                      musicPlayer.playFullFile(temps[up+20]);\r\n                      delay(4000);\r\n                      pixels.clear();\r\n                     for(int i=0; i&lt;NUMPIXELS; i++){ \/\/ For each pixel...\r\n                           pixels.setPixelColor(i, pixels.Color(0, 0, 0)); \/\/no color emitted\r\n                           pixels.show();   \/\/ Send the updated pixel colors to the hardware.\r\n                        }\r\n              }\r\n              else if (up == 3){\r\n                  for(int i=0; i&lt;NUMPIXELS; i++){ \/\/ For each pixel...\r\n                         pixels.setPixelColor(i, pixels.Color(255, 255, 255)); \/\/white emitted\r\n                          \/\/pixels.setPixelColor(1,pixels.Color(0, 150, 0));\r\n                          pixels.show();   \/\/ Send the updated pixel colors to the hardware\r\n                      }\r\n                      musicPlayer.playFullFile(temps[up+20]);\r\n                      delay(4000);\r\n                      pixels.clear();\r\n                     for(int i=0; i&lt;NUMPIXELS; i++){ \/\/ For each pixel...\r\n                           pixels.setPixelColor(i, pixels.Color(0, 0, 0)); \/\/no color emitted\r\n                           pixels.show();   \/\/ Send the updated pixel colors to the hardware.\r\n                        }\r\n              }\r\n              else if (up == 4){\r\n                for(int i=0; i&lt;NUMPIXELS; i++){ \/\/ For each pixel...\r\n                         pixels.setPixelColor(i, pixels.Color(255, 100, 0)); \/\/yellow emitted\r\n                          pixels.show();   \/\/ Send the updated pixel colors to the hardware.\r\n                      }\r\n                      musicPlayer.playFullFile(temps[up+20]);\r\n                      delay(4000);\r\n                      pixels.clear();\r\n                     for(int i=0; i&lt;NUMPIXELS; i++){ \/\/ For each pixel...\r\n                           pixels.setPixelColor(i, pixels.Color(0, 0, 0)); \/\/no color emitted\r\n                           pixels.show();   \/\/ Send the updated pixel colors to the hardware.\r\n                        }\r\n              }\r\n               \r\n    }     \r\n        \r\n  \r\n}<\/pre>\n<p><strong>Insults<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">Rain (0) --&gt; 21. And don't bother getting your umbrella, you'll need a shower anyways\r\nSunny (1) --&gt; 22. Looks like we're gonna have sun today. Here's a fun tip: stare at it \r\nCloudy (2) --&gt; 23. The sky is gray, not the brightest. I'm sure you can relate \r\nSnow (3) --&gt; 24. The snow is so pure and wonderful, and you're a disgusting blemish\r\nStormy (4) --&gt; 25. It's getting rough out there, have fun!\r\n\r\n0-20 degree range\r\n     1. I just wanna see you freeze to death\r\n     2. Ready to freeze, scum?\r\n     3. The weather outside looks frightful, but you look even more frightful. Seriously, just look at yourself.  \r\n     \r\n20-30 degree range\r\n     4. See if I liked you, I would tell you to stay inside. But, I don't so, get out there!\r\n     5. You should wear your jacket, but seriously it makes you look like a balloon\r\n     6. The freezing point of human blood is 31 degrees, so let's keep our fingers crossed shall we?\r\n     \r\n30 - 40 degree range\r\n     7. It's too cold to for a walk and too hot to go sledding, so go screw yourself\r\n     8. Looks like you'll be looking for warmth again, we all know how that will go\r\n\r\n40 - 50 degree range\r\n     9. Whatever drink you get to keep you warm, I hope you spill it all over yourself\r\n     10. The temperature right now is the number of reasons why you're a loser\r\n50 - 60 degree range\r\n     11. Slightly cool, slightly warm. I don't know anymore, so screw you\r\n     12. The temperature is as meh as your looks\r\n     \r\n60 - 70 degree range\r\n     13.It's getting kind of hot in here, I hope your body odor doesn't show\r\n     14. You should go outside and enjoy the weather. Oh wait, you're a loser my bad \r\n\r\n70 - 80 degree range\r\n     15. It's so warm, unlike your personality\r\n     16. The temperature right now is pretty great to be honest. The only thing in my way is you\r\n\r\n\r\n80 - 90 degree range\r\n     17. It' really hot, unlike you\r\n     18. Global warming is coming for you!\r\n     \r\n\r\n90 - 100 degree range\r\n     19. Time to starting wearing less, but no one wants to see that \r\n     20. Some people wanna watch the world burn, like me\r\n<\/pre>\n<p><strong>Sources<\/strong><\/p>\n<p>Snarky Female Voice &#8211;&gt; Jolie Ma<\/p>\n<p>Robotic Male Voice &#8211;&gt; https:\/\/voicemaker.in\/<\/p>\n<p>Insults &#8211;&gt; Katarina Garcia, Soomin Kong, Jolie Ma, Gabriel Prado<\/p>\n<p>Area Forecast Discussion &#8211;&gt;<\/p>\n<p>https:\/\/forecast.weather.gov\/product.php?site=PBZ&#038;issuedby=PBZ&#038;product=AFD&#038;format=CI&#038;version=1&#038;glossary=1&#038;highlight=off<\/p>\n<p>Tear-drop Shape &#8211;&gt;<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-medium wp-image-12433\" src=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/raphic-transparent-download-image-teardrop-icon-png-tear-drop-transparent-11563117855i1di8uiso2-1-293x300.png\" alt=\"\" width=\"293\" height=\"300\" srcset=\"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/raphic-transparent-download-image-teardrop-icon-png-tear-drop-transparent-11563117855i1di8uiso2-1-293x300.png 293w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/raphic-transparent-download-image-teardrop-icon-png-tear-drop-transparent-11563117855i1di8uiso2-1-768x785.png 768w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/raphic-transparent-download-image-teardrop-icon-png-tear-drop-transparent-11563117855i1di8uiso2-1-508x519.png 508w, https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-content\/uploads\/2022\/11\/raphic-transparent-download-image-teardrop-icon-png-tear-drop-transparent-11563117855i1di8uiso2-1.png 840w\" sizes=\"(max-width: 293px) 100vw, 293px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rain\u00a0 Photos Video Narrative Description A frosty white device composed of acrylic panels and a tear-drop shaped facade sits on a table. The tear-drop contains a speaker centered&#8230;<\/p>\n","protected":false},"author":135,"featured_media":12400,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[186,89,165],"tags":[],"_links":{"self":[{"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-json\/wp\/v2\/posts\/12399"}],"collection":[{"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-json\/wp\/v2\/users\/135"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-json\/wp\/v2\/comments?post=12399"}],"version-history":[{"count":12,"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-json\/wp\/v2\/posts\/12399\/revisions"}],"predecessor-version":[{"id":12436,"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-json\/wp\/v2\/posts\/12399\/revisions\/12436"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-json\/wp\/v2\/media\/12400"}],"wp:attachment":[{"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-json\/wp\/v2\/media?parent=12399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-json\/wp\/v2\/categories?post=12399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/62-362\/f2022\/wp-json\/wp\/v2\/tags?post=12399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}