{"id":18132,"date":"2023-05-05T16:38:16","date_gmt":"2023-05-05T20:38:16","guid":{"rendered":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/?p=18132"},"modified":"2023-05-07T19:36:27","modified_gmt":"2023-05-07T23:36:27","slug":"portable-schedule-playback-device-by-apples-group-final-documentation","status":"publish","type":"post","link":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/","title":{"rendered":"Portable Schedule Playback Device by Apples Group: Final Documentation"},"content":{"rendered":"<h3>Introduction:<\/h3>\n<p>Our client Mark lives with a visual impairment and mild memory loss due to a traumatic brain injury. From our conversation with Mark and his caretaker Bill, we learned that Mark&#8217;s day-to-day life can be improved if he had a device that helped remind him of his daily schedule in a way that integrates seamlessly into his existing habits. We met with Mark over the course of the project, twice in person and once over the phone. During these meetings, Mark gave us crucial feedback to fine-tune this project to his needs.<\/p>\n<h3>What We Built:<\/h3>\n<p>We created a handheld playback device that stores and plays pre-recorded audio messages. Each message is assigned to a specific hour of the day. When Mark picks up the device and holds it up to his ear, the device plays the message corresponding to the current hour. If Mark wants to hear reminders scheduled for other hours of the day, there is a dial located near the user&#8217;s thumb that allows for scrolling forwards or backwards through all 24 hours of the day. The device is designed so the user can comfortably scroll the dial whilst holding the device to the ear to listen for audio cues rather than a visual display to navigate through the hours. The housing is specifically formed to Mark&#8217;s hands and uses ergonomic touch-points (areas of the device that come in contact with the user) to comfortably and intuitively use the device.<\/p>\n<div id=\"attachment_18404\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Artboard-2.png\"><img aria-describedby=\"caption-attachment-18404\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18404 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Artboard-2-947x1024.png\" alt=\"\" width=\"620\" height=\"670\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Artboard-2-947x1024.png 947w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Artboard-2-278x300.png 278w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Artboard-2-768x830.png 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Artboard-2-973x1052.png 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Artboard-2-508x549.png 508w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Artboard-2.png 1101w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/a><p id=\"caption-attachment-18404\" class=\"wp-caption-text\">Image of the final product being held. (1)<\/p><\/div>\n<div id=\"attachment_18403\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Artboard-1.png\"><img aria-describedby=\"caption-attachment-18403\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18403 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Artboard-1-760x1024.png\" alt=\"\" width=\"620\" height=\"835\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Artboard-1-760x1024.png 760w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Artboard-1-223x300.png 223w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Artboard-1-768x1035.png 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Artboard-1-973x1311.png 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Artboard-1-508x685.png 508w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Artboard-1.png 1078w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/a><p id=\"caption-attachment-18403\" class=\"wp-caption-text\">Image of the final product being held. (2)<\/p><\/div>\n<h4><\/h4>\n<div id=\"attachment_18420\" style=\"width: 438px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/three-quarters-view-final-assembly\/\" rel=\"attachment wp-att-18420\"><img aria-describedby=\"caption-attachment-18420\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18420 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/three-quarters-view-final-assembly.png\" alt=\"\" width=\"428\" height=\"593\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/three-quarters-view-final-assembly.png 428w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/three-quarters-view-final-assembly-217x300.png 217w\" sizes=\"(max-width: 428px) 100vw, 428px\" \/><\/a><p id=\"caption-attachment-18420\" class=\"wp-caption-text\">Final CAD model of the playback device (including finger loop, speaker &amp; thumb wheel) (3)<\/p><\/div>\n<h4><\/h4>\n<div id=\"attachment_18423\" style=\"width: 485px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/iteration-4-bottom-view\/\" rel=\"attachment wp-att-18423\"><img aria-describedby=\"caption-attachment-18423\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18423 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/iteration-4-bottom-view.png\" alt=\"\" width=\"475\" height=\"673\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/iteration-4-bottom-view.png 475w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/iteration-4-bottom-view-212x300.png 212w\" sizes=\"(max-width: 475px) 100vw, 475px\" \/><\/a><p id=\"caption-attachment-18423\" class=\"wp-caption-text\">Final CAD model with cover removed to reveal interior (4)<\/p><\/div>\n<p>&nbsp;<\/p>\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-18132-1\" width=\"620\" height=\"348\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Vmware-Horizon-Google-Chrome-2023-05-07-19-22-19.m4v?_=1\" \/><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Vmware-Horizon-Google-Chrome-2023-05-07-19-22-19.m4v\">https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Vmware-Horizon-Google-Chrome-2023-05-07-19-22-19.m4v<\/a><\/video><\/div>\n<p>Quick tour of the SolidWorks file (5)<\/p>\n<h4><\/h4>\n<h4>Narrative:<\/h4>\n<p>BEEP BEEP BEEP! Mark&#8217;s 8AM alarm goes off. Mark lets out a large yawn, grabs his Portable Schedule Playback Device, and raises it to his ear.<\/p>\n<p><em>&#8220;8AM: Good morning! Remember to grab breakfast with Paul at Starbucks.&#8221;<\/em><\/p>\n<p>Ah that&#8217;s right! As he is gets ready, he starts to wonder what he has in store for the rest of the day. He puts the device to his ear and dials the device forward to 1 pm.<\/p>\n<p><em>&#8220;1 PM: Remember to grab groceries.&#8221;<\/em><\/p>\n<p>Oh yes, I need to buy cabbages for my homemade Korean kimchi recipe. He puts the device away in his pocket. &#8220;Wait, what restaurant am I meeting Paul at again?&#8221; He raises the device to his ear once more:<\/p>\n<p><em>&#8220;8AM: Good morning! Remember to grab breakfast with Paul at Starbucks.&#8221;<\/em><\/p>\n<p>Starbucks! That&#8217;s right. I think I&#8217;ll try their new Unicorn Galactic Frappuccino Supreme.<\/p>\n<h3>How We Got Here:<\/h3>\n<h4>Prototypes &amp; Processes:<\/h4>\n<p>We developed our first prototype to answer a question we all had on our minds: for someone with limited vision, what is a shape that is easy for them to distinguish, handle and interact with?<\/p>\n<p>With that question in mind, we set a few goals that we thought were important to the overall functionality and concept of the device.<\/p>\n<ul>\n<li>Mark should be able to pick up the device from wherever it&#8217;s stored\/held (in his pocket, on his belt, on his cane&#8230;), raise it up to his ear and hear the message instantly without any fumbling around\/trying to figure out the device&#8217;s orientation, where the dial is, where the speaker is, etc.<\/li>\n<li>Mark should be able to line up the speaker to his ear quickly and comfortably so that he is able to hear the audio message with no time wasted.<\/li>\n<li>The size and weight of the device shouldn&#8217;t add too much burden to Mark&#8217;s existing everyday carry that it discourages him to bring and use the device on a daily basis.<\/li>\n<\/ul>\n<p>What that, our first prototypes were ergonomic mockups of the device. They all follow the idea that Mark would raise the device to his ear and hear the audio message corresponding with the current hour. He can also scroll forward or backwards in the day to hear his previous\/future schedule. Initial prototypes looked like this:<\/p>\n<div id=\"attachment_18251\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/img_4132\/\" rel=\"attachment wp-att-18251\"><img aria-describedby=\"caption-attachment-18251\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18251 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4132-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4132-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4132-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4132-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4132-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4132-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4132-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4132-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-18251\" class=\"wp-caption-text\">Side-profile of ergonomic prototype #1 made of foam. This design intends for the index finger to use the scroll wheel and navigate to the right recording.<\/p><\/div>\n<div id=\"attachment_18250\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/img_4130\/\" rel=\"attachment wp-att-18250\"><img aria-describedby=\"caption-attachment-18250\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18250 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4130-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4130-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4130-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4130-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4130-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4130-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4130-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4130-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-18250\" class=\"wp-caption-text\">Side-profile of ergonomic prototype #2 made of foam. This design intends for the thumb to use the scroll wheel and navigate to the right recording.<\/p><\/div>\n<div id=\"attachment_18249\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/img_4129\/\" rel=\"attachment wp-att-18249\"><img aria-describedby=\"caption-attachment-18249\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18249 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4129-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4129-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4129-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4129-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4129-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4129-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4129-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4129-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-18249\" class=\"wp-caption-text\">Side-profile of ergonomic prototype #3 made of foam. This design intends for the index finger to use the scroll wheel (now vertical) and navigate to the right recording.<\/p><\/div>\n<div id=\"attachment_18248\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/img_4128\/\" rel=\"attachment wp-att-18248\"><img aria-describedby=\"caption-attachment-18248\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18248 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4128-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4128-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4128-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4128-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4128-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4128-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4128-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4128-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-18248\" class=\"wp-caption-text\">Side-profile of ergonomic prototype #4 made of foam. This design intends for the thumb to use the scroll wheel (now vertical) and navigate to the right recording. This ended up being the closest to the final design of the device.<\/p><\/div>\n<p>From these prototypes, we were able to make some decisions on the overall shape of the device, as well as some bigger aspects such as the placement of the dial (if it would be used by the thumb or the index finger). From there, we moved towards some more high-fidelity models. Some criteria that we set for ourselves were that the dial should be used by the thumb, and finger grooves should be implemented for better grip and to help Mark quickly identify the orientation of the device and make corrections.<\/p>\n<div id=\"attachment_18255\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/img_4142\/\" rel=\"attachment wp-att-18255\"><img aria-describedby=\"caption-attachment-18255\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18255 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4142-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4142-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4142-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4142-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4142-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4142-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4142-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4142-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-18255\" class=\"wp-caption-text\">High-fidelity ergonomic model (without working speaker) with horizontal thumb scroll. Gripped to show fit in hand.<\/p><\/div>\n<div id=\"attachment_18256\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/img_4143\/\" rel=\"attachment wp-att-18256\"><img aria-describedby=\"caption-attachment-18256\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18256 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4143-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4143-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4143-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4143-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4143-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4143-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4143-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4143-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-18256\" class=\"wp-caption-text\">High-fidelity ergonomic model (without working speaker) with horizontal thumb scroll. Open hand to show ergonomics.<\/p><\/div>\n<div id=\"attachment_18259\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/img_4187-2\/\" rel=\"attachment wp-att-18259\"><img aria-describedby=\"caption-attachment-18259\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18259 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4187-1-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4187-1-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4187-1-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4187-1-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4187-1-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4187-1-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4187-1-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4187-1-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-18259\" class=\"wp-caption-text\">Prototype that we presented to Mark to hold and play with.<\/p><\/div>\n<p>Getting closer&#8230; the shapes of these prototype lends a bit more space for components on the inside and has finger grooves pronounced enough that it helps the user find a good grip on it. In the prototype directly above, we implemented a speaker unit and rotary encoder dial to get ourselves a bit closer to the look and feel of the final product &#8211; as well as starting to think about the placing of components. At this point, we were advised that the housing is just too small to house anything, if we were to keep to this form factor moving forwards. At this point, we also got an Arduino UNO to read file on an SD card and play audio files stored within, so we integrated that into the foam prototype.<\/p>\n<div style=\"width: 620px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-18132-2\" width=\"620\" height=\"620\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Img-4168.m4v?_=2\" \/><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Img-4168.m4v\">https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Img-4168.m4v<\/a><\/video><\/div>\n<p>Speaker demonstrating playback of a pre-recorded audio file.<\/p>\n<div id=\"attachment_18261\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/img_4285\/\" rel=\"attachment wp-att-18261\"><img aria-describedby=\"caption-attachment-18261\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18261 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4285-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4285-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4285-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4285-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4285-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4285-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4285-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4285-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-18261\" class=\"wp-caption-text\">Final prototype given to Mark to test with working speaker to get a sense of the volume adjustments, etc.<\/p><\/div>\n<p>This ended up being the prototype that we showed Mark to get feedback on.<\/p>\n<p>Overall, Mark was happy with how the device felt and our planned user process. In particular, Mark enjoyed the size and form factor, the finger grooves, and the placement of the thumb dial. Upon explaining our proposed user scenario, we also learned that Mark actually owns a cassette player at home, which his staff uses to relay their planned schedule on to him. We explained to him specifically the function of the device and how it&#8217;s able to keep track of time, how it&#8217;s able to keep a record of Mark&#8217;s schedule for the whole day, and how Mark is able to hear his current activity by raising the device to his ear or scrolling the dial. Cameron also brought with him his skateboard controller for Mark to try out, since we had it on us. He ended up really enjoying how it felt in the hands &#8211; especially the placement and orientation of the dial which spun vertically, and a hole\/ring for the index finger to hook onto. With the proposed user process, Mark noted that the skateboard controller feels more appropriate for that interaction, especially because of how easy it is to scroll the dial on the skateboard controller.<\/p>\n<div id=\"attachment_18263\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/img_4286\/\" rel=\"attachment wp-att-18263\"><img aria-describedby=\"caption-attachment-18263\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18263 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4286-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4286-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4286-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4286-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4286-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4286-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4286-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4286-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-18263\" class=\"wp-caption-text\">Cameron&#8217;s skateboard controller that Mark ended up liking more than our foam prototypes!<\/p><\/div>\n<p>Hearing Mark&#8217;s feedback was incredibly helpful, especially because we were able to ask him what he specifically enjoys about these different proposed shapes. In the end, the shape of the skateboard controller set the tone for what future iterations of the housing would look like. As said before, we were advised that the size and number of components we had to integrate would become a problem if we kept the same form factor, so we made sure to start working on a formal audit of all the parts we would include, their size, number of pins, etc. Generally, the prototype feedback session went exactly how we wished it would, and it was very helpful to get Mark&#8217;s approval and say on the ergonomics of the device, as well as the proposed user process. Moving forwards, we began to modify the shape of the device through some really quick prototyping, whilst trying to reserve as much space as possible for the internals.<\/p>\n<div id=\"attachment_18141\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/img_7080\/\" rel=\"attachment wp-att-18141\"><img aria-describedby=\"caption-attachment-18141\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18141 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7080-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7080-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7080-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7080-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7080-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7080-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7080-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7080-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-18141\" class=\"wp-caption-text\">Cardboard cutout of the final housing. It is thicker than the skateboard to accommodate for all the internal components.<\/p><\/div>\n<div id=\"attachment_18140\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/img_7077\/\" rel=\"attachment wp-att-18140\"><img aria-describedby=\"caption-attachment-18140\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18140 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7077-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7077-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7077-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7077-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7077-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7077-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7077-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7077-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-18140\" class=\"wp-caption-text\">Another angle of the cardboard prototype of the final housing for the device.<\/p><\/div>\n<p>Moving forward, we split up figuring out the components between each person. Stanley worked on the tilt switch and IR sensor, both of which are responsible for getting the device to play an audio message as soon as Mark lifts up the device to his ear, as well as ordering and figuring out a rotary encoder we had ordered, Lily worked on a charging module so that we could get a charging lithium ion battery instead of having to replace an alkaline battery constantly as well as a RTC module so that the device can keep track of the current hour, and Cameron worked on the microphone, speaker and a music-maker shield so that we could record audio, separate it, and play it.<\/p>\n<div id=\"attachment_18267\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/img_4304\/\" rel=\"attachment wp-att-18267\"><img aria-describedby=\"caption-attachment-18267\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18267 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4304-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4304-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4304-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4304-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4304-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4304-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4304-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4304-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-18267\" class=\"wp-caption-text\">Breadboarded wiring of IR sensor and tilt switch for initial &#8220;hold-up-to-ear-and-listen&#8221; mechanism.<\/p><\/div>\n<p>Here&#8217;s the first attempt at getting the IR sensor to work with the tilt switch to mockup the put-up-to-ear-to-listen interaction. In this example, the tilt switch, when activated, provides all power for the components on the breadboard. The tilt switch was surprisingly responsive and consistent, that we didn&#8217;t have to do any additional work to make it so that as soon as the device was put up to the ear, the IR sensor would start reading and send a signal to cause an output (which in this case was turning on a white LED).<\/p>\n<div id=\"attachment_18266\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/img_44701\/\" rel=\"attachment wp-att-18266\"><img aria-describedby=\"caption-attachment-18266\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18266 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_44701-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_44701-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_44701-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_44701-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_44701-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_44701-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_44701-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_44701-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-18266\" class=\"wp-caption-text\">Breadboarded wiring of music maker shield (deprecated) and detented rotary encoder for &#8220;scroll-and-browse&#8221; mechanism.<\/p><\/div>\n<p>Here&#8217;s Cameron&#8217;s first time getting the rotary encoder to work with a speaker. Each detent corresponds with 1 hour difference. Spinning upwards scrolls forward in the day, and spinning downwards scrolls backwards in the day. At this point, all audio files are pre-recorded and stored in an SD card. At the beginning of each message, a robot voice reads out the hour that has been reached, followed by the corresponding voice message. If nothing is played, the user can scroll past, which overrides the current message being played instantly. At this point, we were able to 3D print a quick test housing to get a better idea of size and scale, ergonomics, and feasibility in terms of stuffing in electronics.<\/p>\n<div id=\"attachment_18269\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/70393037002__c8a8ffab-8566-448a-b181-78408b301371\/\" rel=\"attachment wp-att-18269\"><img aria-describedby=\"caption-attachment-18269\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18269 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/70393037002__C8A8FFAB-8566-448A-B181-78408B301371-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/70393037002__C8A8FFAB-8566-448A-B181-78408B301371-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/70393037002__C8A8FFAB-8566-448A-B181-78408B301371-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/70393037002__C8A8FFAB-8566-448A-B181-78408B301371-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/70393037002__C8A8FFAB-8566-448A-B181-78408B301371-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/70393037002__C8A8FFAB-8566-448A-B181-78408B301371-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/70393037002__C8A8FFAB-8566-448A-B181-78408B301371-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/70393037002__C8A8FFAB-8566-448A-B181-78408B301371-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-18269\" class=\"wp-caption-text\">Initial print of our final housing. Notice that it closely resembles the skateboard remote.<\/p><\/div>\n<p>It&#8217;s rough, but the bottom half of the body can actually be held in place without any external mechanical fasteners, and can be popped open to access the inside. This enclosure turned out to be too small, especially because of how deep the finger grooves were.<\/p>\n<p>At this point, we were very short on time due to external factors that made it difficult to work consistently. So we went ahead and modeled and printed a second iteration that was a little larger in size, and had shallower finger grooves and fillets to afford more space in the interior. This ended up being the final housing that we worked with.<\/p>\n<div id=\"attachment_18419\" style=\"width: 479px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/not-enough-room-on-the-inside\/\" rel=\"attachment wp-att-18419\"><img aria-describedby=\"caption-attachment-18419\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18419 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/not-enough-room-on-the-inside.png\" alt=\"\" width=\"469\" height=\"718\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/not-enough-room-on-the-inside.png 469w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/not-enough-room-on-the-inside-196x300.png 196w\" sizes=\"(max-width: 469px) 100vw, 469px\" \/><\/a><p id=\"caption-attachment-18419\" class=\"wp-caption-text\">Note how the finger grooves cuts into the interior of the playback device significantly<\/p><\/div>\n<p><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/iteration-3\/\" rel=\"attachment wp-att-18416\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-18416\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/iteration-3.png\" alt=\"\" width=\"409\" height=\"672\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/iteration-3.png 409w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/iteration-3-183x300.png 183w\" sizes=\"(max-width: 409px) 100vw, 409px\" \/><\/a><\/p>\n<div id=\"attachment_18415\" style=\"width: 305px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/iteration-3-back\/\" rel=\"attachment wp-att-18415\"><img aria-describedby=\"caption-attachment-18415\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18415 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/iteration-3-back.png\" alt=\"\" width=\"295\" height=\"675\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/iteration-3-back.png 295w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/iteration-3-back-131x300.png 131w\" sizes=\"(max-width: 295px) 100vw, 295px\" \/><\/a><p id=\"caption-attachment-18415\" class=\"wp-caption-text\">Final CAD models of the previous iteration<\/p><\/div>\n<div id=\"attachment_18418\" style=\"width: 467px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/iteration-4\/\" rel=\"attachment wp-att-18418\"><img aria-describedby=\"caption-attachment-18418\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18418 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/iteration-4-.png\" alt=\"\" width=\"457\" height=\"668\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/iteration-4-.png 457w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/iteration-4--205x300.png 205w\" sizes=\"(max-width: 457px) 100vw, 457px\" \/><\/a><p id=\"caption-attachment-18418\" class=\"wp-caption-text\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/iteration-4-back\/\" rel=\"attachment wp-att-18417\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-18417\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/iteration-4-back.png\" alt=\"\" width=\"394\" height=\"681\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/iteration-4-back.png 394w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/iteration-4-back-174x300.png 174w\" sizes=\"(max-width: 394px) 100vw, 394px\" \/><\/a> A comparison between the past and most recent iteration of Mark&#8217;s playback device. Note the difference in size and proportions.<\/p><\/div>\n<div id=\"attachment_18150\" style=\"width: 2019px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/img-7554\/\" rel=\"attachment wp-att-18150\"><img aria-describedby=\"caption-attachment-18150\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18150 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG-7554.jpg\" alt=\"\" width=\"2009\" height=\"2058\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG-7554.jpg 2009w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG-7554-293x300.jpg 293w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG-7554-1000x1024.jpg 1000w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG-7554-768x787.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG-7554-1499x1536.jpg 1499w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG-7554-1999x2048.jpg 1999w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG-7554-973x997.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG-7554-508x520.jpg 508w\" sizes=\"(max-width: 2009px) 100vw, 2009px\" \/><\/a><p id=\"caption-attachment-18150\" class=\"wp-caption-text\">Second higher quality prints of the final housing.<\/p><\/div>\n<div id=\"attachment_18151\" style=\"width: 2570px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/img_7551\/\" rel=\"attachment wp-att-18151\"><img aria-describedby=\"caption-attachment-18151\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18151 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7551-scaled.jpg\" alt=\"\" width=\"2560\" height=\"2187\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7551-scaled.jpg 2560w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7551-300x256.jpg 300w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7551-1024x875.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7551-768x656.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7551-1536x1312.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7551-2048x1750.jpg 2048w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7551-973x831.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/04\/IMG_7551-508x434.jpg 508w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><\/a><p id=\"caption-attachment-18151\" class=\"wp-caption-text\">Final prints of the device.<\/p><\/div>\n<p>Again, since we were short on time, we decided to work in parallel, where some of us began to work on the final construction of the internal components (soldering everything to an internal power supply and Arduino Pro Micro), and others on the code and main functionality. We decided to scrap the microphone recorder function. The only way we could record audio and separate it was through a shield, which was simply way too big to fit in the device. Other components we found had other caveats, such as only being able to record 10s of audio, which we didn&#8217;t even know if we could separate and assign to different hours. Instead, we switched to an MP3 player that could read MP3 files (as opposed to the SD card reader which could only read WAV files that had to be encoded in a specific way via third-party software). We did this in hopes that this couldn&#8217;t compromise the recording portion of the device too much&#8230; on the assumption that Mark&#8217;s staff could be trained to use their portable devices to record MP3 audio into an SD card. It&#8217;s really not ideal, but it&#8217;s what we had to do with the amount of time we have available. Here&#8217;s how soldering went:<\/p>\n<div id=\"attachment_18273\" style=\"width: 1090px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/img_4506\/\" rel=\"attachment wp-att-18273\"><img aria-describedby=\"caption-attachment-18273\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18273 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4506.jpg\" alt=\"\" width=\"1080\" height=\"1920\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4506.jpg 1080w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4506-169x300.jpg 169w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4506-576x1024.jpg 576w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4506-768x1365.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4506-864x1536.jpg 864w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4506-973x1730.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4506-508x903.jpg 508w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><p id=\"caption-attachment-18273\" class=\"wp-caption-text\">Final soldering of Arduino Micro, tilt switch, IR sensor, battery, MP3 player, and speaker.<\/p><\/div>\n<p>Soldering process part 1: tilt switch, latching switch, voltage regulator, battery cap, MP3 SD card reader, speaker unit<\/p>\n<div id=\"attachment_18271\" style=\"width: 1930px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/img_4509\/\" rel=\"attachment wp-att-18271\"><img aria-describedby=\"caption-attachment-18271\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-18271 size-full\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4509-scaled.jpg\" alt=\"\" width=\"1920\" height=\"2560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4509-scaled.jpg 1920w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4509-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4509-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4509-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4509-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4509-973x1297.jpg 973w, https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/IMG_4509-508x677.jpg 508w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a><p id=\"caption-attachment-18271\" class=\"wp-caption-text\">Soldering process part 2: RTC module and rotary encoder (hidden behind), and test fitting into the housing.<\/p><\/div>\n<h3><\/h3>\n<h3>Conclusions<\/h3>\n<p>In the end, we did not have a working prototype to demonstrate. Although each component was soldered and in the right place, the transition from Arduino Uno to Arduino Micro brought unforeseen behavior and hardware failures beyond our control. The transition was an inevitable bottleneck of the process and perhaps too much faith was put into the swiftness of such a transition. That said, our progress still evidenced lots of hard work and intention, and we were able to still receive great feedback about the concept and fabrication of the device.<\/p>\n<p>Overall, our final product was well received. A few people noted that the housing had good ergonomics in reference to the overall &#8216;hold&#8217; of the device, as well as the placement of the thumb dial and index finger loop. Here is what one student said, &#8220;<span data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;The device is actually very comfortable! I have relatively small hands and found the size and feel of the turning dial to be really comfortable to use. &quot;}\" data-sheets-userformat=\"{&quot;2&quot;:769,&quot;3&quot;:{&quot;1&quot;:0},&quot;11&quot;:4,&quot;12&quot;:0}\">The device is actually very comfortable! I have relatively small hands and found the size and feel of the turning dial to be really comfortable to use.<\/span>&#8221; We came a long way from the foam prototypes that we showed Mark. Even though we ultimately adopted a design derived from Cameron&#8217;s skateboard controller, the final size, shape, and feel came from many considerations and incessant iterating. To our delight, most people interacted with the device the way we intended. Each person seemed to instantly recognize the important touch-points that made the device effective. They held the device as intended, scrolled the wheel with their thumb, and raised the device to their ear in exactly the spot that it was designed for. We were also told that the tangible aspect of the whole housing was much appreciated, and that they could see how our focus on designing around user interaction played a large role in the conceptualization, design, and fabrication of the project as a whole.<\/p>\n<p>When we handed the device to Mark, we saw that he had a bit of trouble holding it correctly at first, which was most likely due to a tradeoff we had to make in order to save space&#8211;removing the finger grooves. This was perhaps the biggest drawback in our final design, since the finger grooves were so well-received by Mark in our initial prototype presentation. Unfortunately, the breadboard was ever-so-slightly too wide and took up the entire width of the housing, requiring us to pivot the design. Since day one, space consideration was always an obstacle we were aware about with this project. We spent a lot of time planning for this and ultimately theorized that all the components could fit. Even though the size of the housing did inflate a bit from original design and we had to get rid of the finger grooves, we believe the final design and shape of the device trumped the slightly bulky feel and discomfort.<\/p>\n<p>We also received positive responses in terms of the concept of the device, and how we streamlined the device to not add extra burden to Mark&#8217;s existing everyday-carry, habits, and muscle memory. Here were some features that were applauded: having the device play audio as soon as it&#8217;s raised and put up to the ear, the ability for the user to scroll forwards and backwards throughout the day, and the hatch to access the internals and replace the battery. Overall, our biggest goal was to design a device that (A) worked, and (B) added minimal training and cognitive load to use the device. In hindsight it would also have been nice to experiment with different textures to distinguish different parts of the device, since after all this device is meant to be used without the need for sight. Of course, it is difficult to test out just how successful our device would be without a finalized working product (which is a point that came up in all of our critiques and we fully acknowledge). However, since each design aspect for this device was made with evidence-based backing and consideration, I think the purpose and ultimate integration in Mark&#8217;s life was transparent.<\/p>\n<p>From this project, we were able to experience the hard yet humbling feeling of putting in hours and hours of work and not getting a working product at the end. One of the biggest obstacles we had was deciding on the best method for audio recording and playback. There are <em>so<\/em> many projects online with this feature, but only so many work with our space constraints. Recording audio ended up being infinitely harder than playing audio, which we realized (a bit too late) can only be done by a handful of hardware components that we didn&#8217;t have. There were many obstacles and thus considerations we had to make throughout this project, but the brick wall that slammed in our faces at the tail of the project was transitioning from an Arduino Uno to Arduino Pro Micro. Code, designed specifically for the Micro, failed to upload due to the device unrecognizable by any of our computers. As soon as we pressed &#8220;Upload,&#8221; the Pro Micro would disconnect. We tried four different Micros, checked and resoldered all our connections, and refactored our code twice, yet still the device refused to connect. We were unaware of the extreme unreliability of the Pro Micro and had no time to change our design, hence our ultimate failure. Our mistake was not having a secondary &#8220;all-organs-out&#8221; version of our circuit so that we could at least show the functionality of our device. This failure hit us all pretty heavily, but ultimately it was a good lesson learned.<\/p>\n<p>&nbsp;<\/p>\n<h3>Technical Details<\/h3>\n<p>Block Diagram:<\/p>\n<p><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/marks-playback-device-block-diagram-drawio\/\" rel=\"attachment wp-att-18285\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-18285\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Marks-Playback-Device-Block-Diagram.drawio.svg\" alt=\"\" width=\"802\" height=\"771\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Circuit Diagram:<\/p>\n<p><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/marks-playback-device-circuit-diagram-drawio\/\" rel=\"attachment wp-att-18288\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-18288\" src=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-content\/uploads\/2023\/05\/Marks-Playback-Device-circuit-diagram.drawio.svg\" alt=\"\" width=\"1442\" height=\"1323\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Code:<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\">\/\/ Title: Portable Schedule Playback Device by Apples Group \r\n\/\/ Author: Lily, Stan, Cameron\r\n\/\/ Date: 5\/05\/23\r\n\/\/ Description: This code handles the logic for playing back the appropriate pre-recorded\r\n\/\/ recording stored in the microSD card depending on what hour of the day the dial is set to. \r\n\/\/ When the code boots for the first time, the rotary encoder is set to the current hour of the\r\n\/\/ day (read from the RTC) and thus this is the first recording that is played back. Each\r\n\/\/ recording is prefaced with a voice telling the time of the day. The code handles interruptions\r\n\/\/ at any point in the recording\/preface so the user can quickly browse to the desired recording.\r\n\/\/ \r\n\/\/\r\n\/\/                   -------------------------------------------------\r\n\/\/                   |   Role      |   Variable Name   | Arduino Pin |\r\n\/\/                   -------------------------------------------------\r\n\/\/  Rotary Encoder   |  Right Pin  |   encoderPinA     |      2      | https:\/\/www.nobleusa.com\/pdf\/xre.pdf\r\n\/\/                   |  Left Pin   |   encoderPinB     |      3      |\r\n\/\/                   -------------------------------------------------\r\n\/\/    MP3 Playback   |  RX Pin     |   pinDfpRX        |      10     | https:\/\/markus-wobisch.blogspot.com\/search?q=DFPlayer\r\n\/\/                   |  TX Pin     |   pinDfpTX        |      11     |\r\n\/\/                   |  Busy Pin   |   pinDfpBusy      |      12     |\r\n\/\/                   -------------------------------------------------\r\n\/\/             RTC   |  SCL Pin    |   pinSCL          |      A5     |\r\n\/\/                   |  SDA Pin    |   pinSDA          |      A4     |\r\n\/\/                   -------------------------------------------------\r\n\r\nthe project title,\r\n(optionally) your names,\r\na description (short or long) of what the code does,\r\nany description of pin mapping that would be useful to somebody else trying to recreate your work,\r\nappropriate credit to any code source that you incorporated into your project, and\r\n\r\n\/\/\r\n\r\n\r\n                  \/* GLOBALS *\/\r\n\r\n\/\/ Rotary Encoder Globals \/\/\r\n#include &lt;Keyboard.h&gt;\r\nenum PinAssignments {\r\n  encoderPinA = 2,   \/\/ right\r\n  encoderPinB = 3,   \/\/ left\r\n};\r\n\r\nvolatile unsigned int encoderPos = 0;  \/\/ a counter for the dial\r\nunsigned int lastReportedPos = 1;   \/\/ change management\r\nstatic boolean rotating = false;    \/\/ debounce management\r\nvolatile int rotationDelt;\r\nboolean A_set = false;\r\nboolean B_set = false;\r\nboolean clicked = false;\r\nvolatile int rotationPos = 1;\r\n\r\n\/\/ MP3 Playback Globals \/\/\r\n#include \"SoftwareSerial.h\"\r\nconst byte pinDfpRX = 10;  \r\nconst byte pinDfpTX = 11;  \r\nconst byte pinDfpBusy = 12;  \r\nconst byte dfpVolume = 0x11; \/\/ set volume of DFPLayer - in range: 0x00-0x30 - default=0x30  \r\nSoftwareSerial mySerial(pinDfpRX, pinDfpTX);\r\n# define Start_Byte 0x7E\r\n# define Version_Byte 0xFF\r\n# define Command_Length 0x06\r\n# define End_Byte 0xEF\r\n# define Acknowledge 0x00 \/\/Returns info with command 0x41 [0x01: info, 0x00: no info]\r\n\r\n\/\/ RTC Globals \/\/\r\nconst byte pinSCL = A5;\r\nconst byte pinSDA = A4;\r\n#include &lt;RTClib.h&gt;\r\nRTC_DS3231 rtc;\r\n\r\n\r\n\/\/ Other Globals \/\/\r\nbool start = true;\r\nbool startRot = true;\r\nconst byte nfiles = 6;     \/\/ number of mp3 files on SD card  \r\nstatic byte ifile = 0;      \/\/ number of file played next\r\nunsigned long tellTimeDelay = 800;\r\nbool playMemo = false;\r\nunsigned long memoDelayTimeStamp = 0;\r\nstatic byte nextFile = 0;\r\n\r\n\r\n\r\n\r\n\r\n                  \/* FUNCTIONS *\/\r\n\r\n\/\/ MP3 Playback Functions \/\/\r\n\/\/plays a file named Par2 from folder Par1\r\nvoid dfpExecute(byte CMD, byte Par1, byte Par2) {\r\n  # define Start_Byte   0x7E  \r\n  # define Version_Byte  0xFF  \r\n  # define Command_Length 0x06  \r\n  # define Acknowledge  0x00   \r\n  # define End_Byte    0xEF  \r\n  \/\/ Calculate the checksum (2 bytes)  \r\n  uint16_t checksum = -(Version_Byte + Command_Length + CMD + Acknowledge + Par1 + Par2);  \r\n  \/\/ Build the command line  \r\n  uint8_t Command_line[10] = { Start_Byte, Version_Byte, Command_Length, CMD, Acknowledge,  \r\n         Par1, Par2, highByte(checksum), lowByte(checksum), End_Byte};\r\n\r\n  \/\/ Send the command line to DFPlayer  \r\n  for (byte i=0; i&lt;10; i++) mySerial.write( Command_line[i]);  \r\n}\r\n\r\n\r\n\/\/ Rotary Encoder Functions \/\/\r\n\/\/ Interrupt on A changing state\r\nvoid doEncoderA() {\r\n  \/\/ debounce\r\n  if ( rotating ) delay (1);  \/\/ wait a little until the bouncing is done\r\n\r\n  \/\/ Test transition, did things really change?\r\n  if ( digitalRead(encoderPinA) != A_set ) { \/\/ debounce once more\r\n    A_set = !A_set;\r\n\r\n    \/\/ adjust counter + if A leads B\r\n    if ( A_set &amp;&amp; !B_set )\r\n      \/\/ encoderPos += 1;\r\n      rotationDelt = 1;\r\n\r\n    rotating = false;  \/\/ no more debouncing until loop() hits again\r\n  }\r\n}\r\n\r\n\/\/ Interrupt on B changing state, same as A above\r\nvoid doEncoderB() {\r\n  if ( rotating ) delay (1);\r\n  if ( digitalRead(encoderPinB) != B_set ) {\r\n    B_set = !B_set;\r\n    \/\/  adjust counter - 1 if B leads A\r\n    if ( B_set &amp;&amp; !A_set )\r\n      \/\/encoderPos -= 1;\r\n      rotationDelt = -1;\r\n\r\n    rotating = false;\r\n  }\r\n}\r\n\r\n\r\n\/\/ Print Debugging \/\/\r\n\/\/ formats and prints the time of the day (AM\/PM)\r\nvoid printTime(byte ifile){\r\n  if(ifile == 12){\r\n    Serial.print(ifile);\r\n  }\r\n  else{\r\n    Serial.print(ifile % 12);    \r\n  }\r\n\r\n  if(ifile &gt;= 12){\r\n    Serial.println(\"PM\");\r\n  }\r\n  else{\r\n    Serial.println(\"AM\");\r\n  }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\nvoid setup() {\r\n  \/\/ Rotary Encoder Setup\r\n  pinMode(encoderPinA, INPUT);\r\n  pinMode(encoderPinB, INPUT);\r\n  \/\/ turn on pullup resistors\r\n  digitalWrite(encoderPinA, HIGH);\r\n  digitalWrite(encoderPinB, HIGH);\r\n  \/\/ encoder pin on interrupt 0 (pin 2)\r\n  attachInterrupt(0, doEncoderA, CHANGE);\r\n  \/\/ encoder pin on interrupt 1 (pin 3)\r\n  attachInterrupt(1, doEncoderB, CHANGE);\r\n  Keyboard.begin();\r\n  \/\/ set the encoder position to the current\r\n  \/\/ hour of the day\r\n  rotationPos = rtc.now().hour();\r\n\r\n  \/\/RTC Setup\r\n  pinMode(pinSCL, OUTPUT);\r\n  pinMode(pinSDA, INPUT);\r\n  rtc.begin();       \/\/ initialize rtc\r\n\r\n\r\n  Serial.println(\"\\n\\n\\n\\n\\n\\n\\n---------------------\\n\\n\");\r\n  Serial.print(\"The hour of the day is \");\r\n  printTime(rtc.now().hour());\r\n\r\n\r\n  \/\/MP3 Player\r\n  mySerial.begin(9600);\r\n  pinMode(pinDfpBusy, INPUT);   \/\/ init Busy pin from DFPlayer (lo: file is playing \/ hi: no file playing)  \r\n  dfpExecute(0x3F, 0x00, 0x00);  \/\/ Send request for initialization parameters  \r\n  delay(5000);\r\n  dfpExecute(0x06,0x00,dfpVolume); \/\/ set volume DL=0x00-0x30, default=0x30  \r\n  delay(30);            \/\/ have &gt;20ms delays between commands  \r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\nvoid loop() {\r\n  unsigned long currTime = millis();\r\n\r\n  \/\/ speaker plays the MEMO (after tellTimeDelay milliseconds have passed)\r\n  if(playMemo &amp;&amp; (currTime - memoDelayTimeStamp) &gt; tellTimeDelay){\r\n    Serial.print(\"Playing memo for \");\r\n    printTime(ifile);\r\n    dfpExecute(0x0F,0x02, nextFile);\r\n    playMemo = false;\r\n  }\r\n  \r\n  rotating = true;  \/\/ reset the debouncer\r\n\r\n  \/\/ register a left turn\r\n  if(rotationDelt == -1) {\r\n    Keyboard.press(KEY_LEFT_ARROW);\r\n    rotationPos -= 1;\r\n    if(rotationPos &lt; 1){\r\n      rotationPos = 24; \/\/ we wrap around to 24 when we go below 1\r\n    }\r\n  }\r\n\r\n  \/\/ register a right turn\r\n  else if(rotationDelt == 1) {\r\n    Keyboard.press(KEY_RIGHT_ARROW);\r\n\r\n    if(rotationPos &gt; 24){\r\n      rotationPos = 1; \/\/ we wrap around to 1 when we go over 24\r\n    }\r\n  }\r\n  \r\n\r\n  \/\/ if the encoder changed position...\r\n  if(startRot || rotationDelt != 0) {\r\n\r\n    Serial.println(rotationPos);\r\n    startRot = false;\r\n\r\n    ifile = rotationPos;\r\n    Serial.print(\"Telling time for \");\r\n    printTime(ifile);\r\n\r\n    \/\/ ...speaker tells the TIME\r\n    dfpExecute(0x0F,0x01,ifile);\r\n    playMemo = true;\r\n    nextFile = ifile;\r\n    memoDelayTimeStamp = currTime;\r\n  }\r\n\r\n  Keyboard.releaseAll();\r\n  rotationDelt = 0;\r\n\r\n}\r\n<\/pre>\n<p>CAD Files:<\/p>\n<p><a href=\"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/portable-schedule-playback-device-by-apples-group-final-documentation\/marks-playback-device-sw-files\/\" rel=\"attachment wp-att-18424\">Mark&#8217;s Playback Device SW Files<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction: Our client Mark lives with a visual impairment and mild memory loss due to a traumatic brain injury. From our conversation with Mark and his caretaker Bill,&#8230;<\/p>\n","protected":false},"author":44,"featured_media":18403,"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\/s2023\/work\/wp-json\/wp\/v2\/posts\/18132"}],"collection":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-json\/wp\/v2\/users\/44"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-json\/wp\/v2\/comments?post=18132"}],"version-history":[{"count":60,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-json\/wp\/v2\/posts\/18132\/revisions"}],"predecessor-version":[{"id":18428,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-json\/wp\/v2\/posts\/18132\/revisions\/18428"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-json\/wp\/v2\/media\/18403"}],"wp:attachment":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-json\/wp\/v2\/media?parent=18132"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-json\/wp\/v2\/categories?post=18132"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-223\/s2023\/work\/wp-json\/wp\/v2\/tags?post=18132"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}