{"id":1964,"date":"2020-12-10T15:06:08","date_gmt":"2020-12-10T20:06:08","guid":{"rendered":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/?p=1964"},"modified":"2020-12-10T15:10:11","modified_gmt":"2020-12-10T20:10:11","slug":"interactive-paper-menu-interactions","status":"publish","type":"post","link":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/?p=1964","title":{"rendered":"Interactive paper menu interactions"},"content":{"rendered":"<p>As technology advances, many interactions are drastically changing. When I came back to China, I was shocked by how mobile ordering in restaurants is widely adopted. It went from ordering with a server, to ordering using a tablet\/ipad, to a table of people ordering from the same phone, to now where everyone can contribute to the same order using their own phone. Just like many people who prefer reading a paper book, I really enjoyed flipping through menus at restaurants.<\/p>\n<p>However, we cannot ignore the benefit of having electronic orders: the order goes directly to the kitchen and all orders are automatically\u00a0 stored digitally. To combine the paper feel of the menu and the benefit of having a digital menu, this project explores 3 ways of interactions that can be used in a <strong>interactive paper menu<\/strong> using <strong>paper circuits<\/strong>.<\/p>\n<p>The initial goal was to have a full menu, but I realized it was too ambitious so I scaled down the project, but I did make these designs for a imaginary make-your-own burger restaurant. I will discuss more about the original design later.<\/p>\n<p><img loading=\"lazy\" class=\"aligncenter wp-image-1975 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.15-AM-1024x683.png\" alt=\"\" width=\"840\" height=\"560\" srcset=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.15-AM-1024x683.png 1024w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.15-AM-300x200.png 300w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.15-AM-768x512.png 768w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.15-AM-1536x1024.png 1536w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.15-AM-1200x800.png 1200w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.15-AM.png 2004w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><img loading=\"lazy\" class=\"aligncenter wp-image-1974 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.03-AM-1024x677.png\" alt=\"\" width=\"840\" height=\"555\" srcset=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.03-AM-1024x677.png 1024w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.03-AM-300x198.png 300w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.03-AM-768x508.png 768w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.03-AM-1536x1016.png 1536w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.03-AM-1200x794.png 1200w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.03-AM.png 2008w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/p>\n<p>So for this project, what I ended up doing was 3 different interactions:<\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li>presses (equivalent to a button)<\/li>\n<li>slider (equivalent to a linear potentiometer)<\/li>\n<li>wheel (equivalent to a circular potentiometer)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<div style=\"width: 840px;\" class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement('video');<\/script><![endif]-->\n<video class=\"wp-video-shortcode\" id=\"video-1964-1\" width=\"840\" height=\"473\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/mti_final.mp4?_=1\" \/><a href=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/mti_final.mp4\">https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/mti_final.mp4<\/a><\/video><\/div>\n<p>I won&#8217;t include a schematic here because paper circuits are quite different from using wires and parts. And in fact, the only materials I used here is:<\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li>an arduino uno\n<p><figure id=\"attachment_1972\" aria-describedby=\"caption-attachment-1972\" style=\"width: 262px\" class=\"wp-caption alignright\"><img loading=\"lazy\" class=\"wp-image-1972\" src=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4631-225x300.jpg\" alt=\"\" width=\"262\" height=\"349\" srcset=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4631-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4631-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4631-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4631-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4631-1200x1600.jpg 1200w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4631-scaled.jpg 1920w\" sizes=\"(max-width: 262px) 85vw, 262px\" \/><figcaption id=\"caption-attachment-1972\" class=\"wp-caption-text\">Conductive tape, resistors, and SMD LEDs<\/figcaption><\/figure><\/li>\n<li>wires to connect the paper circuit to arduino<\/li>\n<li>solder &amp; soldering iron to connect wires&amp;resistors&amp;LEDs to paper circuit<\/li>\n<li>conductive tape (conductive on both sides, which made the fabrication much easier!)<\/li>\n<li>resistors<\/li>\n<li>SMD LEDs<\/li>\n<li>paper<\/li>\n<li>tapes<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Here is what the paper circuit initially looked like for testing. On the top we have the wheel, then the slider,and those taped cardboard squares are presses.<\/p>\n<p><img loading=\"lazy\" class=\"aligncenter wp-image-1968 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4608-768x1024.jpg\" alt=\"\" width=\"768\" height=\"1024\" srcset=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4608-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4608-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4608-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4608-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4608-1200x1600.jpg 1200w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4608-scaled.jpg 1920w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<p>First, let&#8217;s look at the wheel. 3 resistors(for 4 segments) are used, and they are connected in sequence with one end to 5v and one end to ground. We use an analog pin(connection to the analog pin not included here) and use the read value to determine which segment of the wheel is in contact with pin.<\/p>\n<p>Then, we have the slider. Similar to the wheel, the wirings of it is exactly the same, except for they are placed linearly on paper. We used 4 resistors here because\u00a0 we have 5 segments.<\/p>\n<p><img loading=\"lazy\" class=\"size-medium wp-image-1965 alignright\" src=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4519-225x300.jpg\" alt=\"\" width=\"225\" height=\"300\" srcset=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4519-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4519-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4519-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4519-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4519-1200x1600.jpg 1200w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4519-scaled.jpg 1920w\" sizes=\"(max-width: 225px) 85vw, 225px\" \/><\/p>\n<p>Presses are simply buttons. On the paper, we have one tape connected to the ground, and one tape connected to a digital pin (with internal pullup resistor). We use non-conductive tape to tape these &#8220;buttons&#8221; on top gap between the &#8216;ground&#8217; tape and &#8216;digital pin&#8217; tape. When the &#8216;button&#8217; is pressed, the conductive part of the button connects the &#8216;ground&#8217; tape and &#8216;digital pin&#8217; tape, and thus makes the value change for the digital pin read.<\/p>\n<p>Working with conductive tape was definitely more tedious and involves more planning compared with using wires, but one thing I found convenient was that to make\u00a0 2 pieces of overlapping conductive tape non-conductive with each other, simply place a piece of non-conductive tape between the two, which is why in some of my photos, you see traces with different purposes &#8220;overlap&#8221; with each other.<\/p>\n<p><img loading=\"lazy\" class=\"alignright wp-image-1978 \" src=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4635-scaled-e1607629721232-285x300.jpg\" alt=\"\" width=\"239\" height=\"252\" srcset=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4635-scaled-e1607629721232-285x300.jpg 285w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4635-scaled-e1607629721232-971x1024.jpg 971w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4635-scaled-e1607629721232-768x810.jpg 768w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4635-scaled-e1607629721232-1457x1536.jpg 1457w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4635-scaled-e1607629721232-1200x1265.jpg 1200w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4635-scaled-e1607629721232.jpg 1548w\" sizes=\"(max-width: 239px) 85vw, 239px\" \/><\/p>\n<p>In the image below, we added a block of conductive tape for the wheel, and a line for the slider, they are connected to the analog pins that read the values.\u00a0 The 2 pieces on the right are used to create connections between these newly added circuits and the ones in the previous image.<\/p>\n<p><img loading=\"lazy\" class=\"aligncenter wp-image-1969 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4609-768x1024.jpg\" alt=\"\" width=\"768\" height=\"1024\" srcset=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4609-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4609-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4609-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4609-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4609-1200x1600.jpg 1200w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4609-scaled.jpg 1920w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<p>So that was the first layer of the circuit, I call them input layer. Now let&#8217;s look a the second layer, the output(LEDs) layer. Each LED is wired to a digital pin with 220 ohms resistors in between and the other side to ground.<\/p>\n<p><img loading=\"lazy\" class=\"aligncenter wp-image-1970 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4610-768x1024.jpg\" alt=\"\" width=\"768\" height=\"1024\" srcset=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4610-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4610-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4610-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4610-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4610-1200x1600.jpg 1200w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4610-scaled.jpg 1920w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<p>Then I connected the two layers by taping them together.<\/p>\n<p><img loading=\"lazy\" class=\"aligncenter wp-image-1973 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4634-768x1024.jpg\" alt=\"\" width=\"768\" height=\"1024\" srcset=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4634-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4634-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4634-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4634-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4634-1200x1600.jpg 1200w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4634-scaled.jpg 1920w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<p>And finally, I put the graphic layer on the top. Notice the two pieces coming out of the graphic layer, they are our means of interactions. And they connect the layers simply by going through the papers.<\/p>\n<p><img loading=\"lazy\" class=\"aligncenter wp-image-1971 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4630-768x1024.jpg\" alt=\"\" width=\"768\" height=\"1024\" srcset=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4630-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4630-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4630-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4630-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4630-1200x1600.jpg 1200w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4630-scaled.jpg 1920w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<p>So before this final version of the project, I tried a variety of things.<\/p>\n<p>Here are some initial playing with the paper circuit. On the top left, I tried using graphite pencil marks as resistors, while it works, I thought it was too much trouble to make it as robust as I would like.<\/p>\n<p><img loading=\"lazy\" class=\"aligncenter wp-image-1966 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4559-768x1024.jpg\" alt=\"\" width=\"768\" height=\"1024\" srcset=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4559-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4559-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4559-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4559-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4559-1200x1600.jpg 1200w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4559-scaled.jpg 1920w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<p>Below was my attempt to use a single analog pin to read 15 button\/presses inputs. While it worked when I tested with tactile buttons, the readings again was not robust enough for the effect I needed.<\/p>\n<p><img loading=\"lazy\" class=\"aligncenter wp-image-1967 size-large\" src=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4560-768x1024.jpg\" alt=\"\" width=\"768\" height=\"1024\" srcset=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4560-768x1024.jpg 768w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4560-225x300.jpg 225w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4560-1152x1536.jpg 1152w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4560-1536x2048.jpg 1536w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4560-1200x1600.jpg 1200w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/IMG_4560-scaled.jpg 1920w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<p>The interaction I originally envisioned was that we have 2 wheels, a slider, and 16 presses on the right. And as things are being selected, the corresponding part on the burger gets lighted up. And once all the parts are lighted up, the order is ready to be completed. I gave up doing this when I realized that I don&#8217;t have enough digital pins, nor does the analog reading method works.<\/p>\n<p><img loading=\"lazy\" class=\"alignleft wp-image-1975\" src=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.15-AM-300x200.png\" alt=\"\" width=\"249\" height=\"166\" srcset=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.15-AM-300x200.png 300w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.15-AM-1024x683.png 1024w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.15-AM-768x512.png 768w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.15-AM-1536x1024.png 1536w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.15-AM-1200x800.png 1200w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.15-AM.png 2004w\" sizes=\"(max-width: 249px) 85vw, 249px\" \/><\/p>\n<p><img loading=\"lazy\" class=\" wp-image-1974 alignright\" src=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.03-AM-300x198.png\" alt=\"\" width=\"242\" height=\"160\" srcset=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.03-AM-300x198.png 300w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.03-AM-1024x677.png 1024w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.03-AM-768x508.png 768w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.03-AM-1536x1016.png 1536w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.03-AM-1200x794.png 1200w, https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/wp-content\/uploads\/2020\/12\/Screen-Shot-2020-12-09-at-7.43.03-AM.png 2008w\" sizes=\"(max-width: 242px) 85vw, 242px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>The main thing I struggled with was robust connections and readings, so I got lots of fuzzy readings that can&#8217;t just be fixed from the software side. For future works, getting an arduino mega with more pins would open up a lot more possibilities, and also some explorations in how to have robust connections using paper circuits.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\">#include &lt;Bounce2.h&gt;\r\n\r\nconst int WHEELPIN = A2;\r\nconst int WHEELLENGTH =4;\r\nconst int WHEELTHRESHOLD[] = {170, 512, 853, 1023};\r\nconst char *WHEELNAME[] = {\"ciabatta\", \"lettuce wrap\", \"whole wheat\", \"brioche\"};\r\nchar *bunselection = \"none\";\r\n\r\nconst int SLIDERPIN = A3;\r\nconst int SLIDERLENGTH = 5;\r\nconst int SLIDERTHRESHOLD[] = {1023, 897, 644, 340, 130};\r\nconst char *SLIDERNAME[] = {\"well done\", \"medium well\", \"medium\", \"medium rare\", \"rare\"};\r\nchar *cookselection = \"none\";\r\n\r\nconst int RESETBUTTON = 3;\r\n\r\nconst int TOPPINGSNUM = 4;\r\nconst int TOPPINGSPIN[] = {7, 6, 5, 4};\r\n\r\nconst int LEDNUM = 5;\r\nconst int LEDPINS[] = {13, 12, 11, 10, 9};\r\nBounce buttons[] = {Bounce(), Bounce(), Bounce(), Bounce(), Bounce()};\r\nBounce b = Bounce();\r\n\r\nconst char *TOPPINGNAME[] = {\"red onion\", \"tomato\",\r\n                     \"lettuce\", \"pickels\"};\r\nbool toppingsSeletion[] = {false, false, false, false};\r\n\r\nvoid reset() {\r\n  for (int i=0; i&lt; TOPPINGSNUM; i++) {\r\n    toppingsSeletion[i] = false;\r\n  }\r\n  bunselection = \"none\";\r\n  cookselection = \"none\";\r\n}\r\nvoid setup() {\r\n  Serial.begin(9600);\r\n  for (int i=0; i&lt; TOPPINGSNUM; i++) {\r\n    buttons[i].attach (TOPPINGSPIN[i] , INPUT_PULLUP);\r\n    buttons[i].interval(100);\r\n  }\r\n  buttons[TOPPINGSNUM].attach (RESETBUTTON , INPUT_PULLUP);\r\n}\r\n\r\nvoid loop() {\r\n  \/\/ check for reset \r\n  buttons[TOPPINGSNUM].update();\r\n  if (buttons[TOPPINGSNUM].fell()) {\r\n    Serial.println(\"reset\");\r\n    reset();\r\n  }\r\n\r\n  \/\/ check for toppings selection\r\n  for (int i=0; i&lt; TOPPINGSNUM; i++) {\r\n    buttons[i].update();\r\n    if (buttons[i].fell()) {\r\n      toppingsSeletion[i] = (!toppingsSeletion[i]);\r\n      Serial.print(TOPPINGNAME[i]);\r\n      if (toppingsSeletion[i]) {\r\n        Serial.println(\" is selected\");\r\n      }\r\n      else {\r\n        Serial.println(\" is no longer selected\");\r\n      }\r\n    }\r\n  }\r\n\r\n  \/\/ check for wheel\r\n  int wheelVal = analogRead(WHEELPIN);\r\n  for (int i=0; i&lt; WHEELLENGTH; i++) {\r\n    if (wheelVal &lt;= WHEELTHRESHOLD[i]) {\r\n      if (WHEELNAME[i] != bunselection) {\r\n        bunselection = WHEELNAME[i];\r\n        Serial.print(\"bun selection changed to: \");\r\n        Serial.println(bunselection);\r\n      }\r\n      break;\r\n    }\r\n  }\r\n\r\n  int sliderVal = analogRead(SLIDERPIN);\r\n  for (int i=SLIDERLENGTH-1;  i&gt;= 0; i--) {\r\n    if (sliderVal &lt;= SLIDERTHRESHOLD[i]) {\r\n      if (SLIDERNAME[i] != cookselection) {\r\n        cookselection = SLIDERNAME[i];\r\n        Serial.print(\"cook changed to: \");\r\n        Serial.println(cookselection);\r\n        for (int j=0; j&lt;LEDNUM; j++) {\r\n          digitalWrite(LEDPINS[j], LOW);\r\n        }\r\n        for (int j=0; j&lt;=i; j++) {\r\n          digitalWrite(LEDPINS[j], HIGH);\r\n        }\r\n      }\r\n      break;\r\n    }\r\n  }\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As technology advances, many interactions are drastically changing. When I came back to China, I was shocked by how mobile ordering in restaurants is widely adopted. It went from ordering with a server, to ordering using a tablet\/ipad, to a table of people ordering from the same phone, to now where everyone can contribute to &hellip; <a href=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/?p=1964\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Interactive paper menu interactions&#8221;<\/span><\/a><\/p>\n","protected":false},"author":19,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[21],"tags":[],"_links":{"self":[{"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=\/wp\/v2\/posts\/1964"}],"collection":[{"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1964"}],"version-history":[{"count":4,"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=\/wp\/v2\/posts\/1964\/revisions"}],"predecessor-version":[{"id":1981,"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=\/wp\/v2\/posts\/1964\/revisions\/1981"}],"wp:attachment":[{"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1964"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1964"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}