The Scream canister is a playful way to alleviate stress, a critical problem many people face in their fast-paced life. Screaming can have a cathartic effect; however, the social norm leaves little room for people to engage in this activity. The Scream canister will empower people to healthly express their stress.
The Scream canister harnesses people's scream and let them share the loudness on a social platform for social bonding and to normalize talking about stress.
Our goal was to make the canister soundproof so that one can scream without reservation. However, soundproofing the canister turned out much harder than we thought. For the first prototype, we fabricated the case out of kerfed cardboard stuffed with porous foam. The soundproofing effect was suboptimal. We then tried using a vacuum for the body so sound cannot travel out. We got a thermal for testing; however, we found that because the thermal was rigid so it was impossible to introduce more air into it once you cover the opening with your mouth. It was quite painful trying to scream into it.
Eventually, we looked back at the design of Kelly Dobson's Scream Body, one of our inspirations. She wrapped polyurethane in latex to achieve sound proofing. We decided to use silicone to enclose the foam because it was more accessible than latex for us and easier to fabricate.
Basically, we wanted to make a large container out of silicone. There are couple ways to cast a large object with a thickness in silicone. You can make a 3D negative mold (which would be made of two pieces in our case because we are making a hallow struction with a thickness) and pour the silicone in. You can make a 3D positive mold and spin silicone in it or you can make a half 3D positive mold by thermal forming and spin silicone. All these options would require a lot of material and expertise that would put us out of budget and time for the scope of the project. After much delibration, we decided to cast a large piece of flat silicone and create a "container" out of this flat struction. It was a bit like working with a piece of fabric, except that the piece is pretty heavy and sticky and hard to keep in place.
Many thanks to Paul Worgan who provided tremendous help in this process. We first made a large box (~60 x 60 in) out of medium-density fiberboard (mdf) and were going to pour silicone into that. However, we weren't sure if silicone will cure properly on mdf and we couldn't find any information online, so we did a testing with just a little bit of silicone. It turned out that mdf is porous and it will suck up much of the moist in silicone. We were really glad that we tested it first before pouring a great amount of silicone into the box.
Then we fabricated the large box ("mold") out of plastic. Then we calculated the amount of silicone we would need to make a 3mm layer in that box. We mixed silicone from Smooth-On, put it in a vacuum to get rid of the bubbles, and finally poured it into the box. We let the silicone cure overnight; then we got a nice layer of silicone for the canister. To turn the flat piece into a "container," we folded it and sealed the sides like how you would sew the sides to make a pocket. Silicone cures onto itself so we just mixed more silicone to use to seal the sides. Once the sides were cured, we just needed to turn it over and put in the foam.
Electronics and Code
In order to measure screams, we decided to use a standard electret microphone. Interfacing with the NodeMCU was fairly simple and is shown below.
The resistor is soldered to the back of the board andd thus not showing in the picture.
We had some difficulty accessing the ESP8266 as a server, but by following this guide, we were able to resolve many issues.
Using Simple Web Server, we were able to route our webpages with POST and GET as follows.
Using SPIFFS, we were able to read and write files onto the ESP8266 as well as read in data without refreshing the page.
Using Data Logging, we learned to display our data on the leaderboard.
To finish it off, we added an LED light strip interfaced with an Arduino UNO due to some issues inherent in using the ESP8266 with the strip.
All of our code and arduino files as well as html files for this website can be found here on github
We also lasercut a case out of acrylic to enclose all of our electronic components. Here is the vector file for the box design.
Final Project Brainstorming
This page documents our different ideas for the final project and here's the presentation for the ideas pitch.
Stressed? Try our 6.S06Scream Canister, which is modeled after those in Disney’s film Monsters, Inc. As shown in the film, our 6.S06Scream Canister will register and record screams. To do so, simply project your voice into the nozzle of the device. When finished, the device will record and upload your scream in the form of dB and duration to a cloud platform and you can compete with your friends to see who's more stressed. It will be a playful way to destress from your daily hustle-and-bustle.
Dance. Learning dance, teaching dance, practicing dance, whatever you're doing with dance, why stop? Instead of walking over to the laptop to pause, rewind, and play the song again, save time by simply using Choreoglove. Choreoglove is a glove that recognizes hand gestures a user makes. These gestures can lead to different Youtube video playbacks such as pausing the video, saving a a timestamp to rewind to it later, and even changing the speed at which the video plays. With the Choreoglove, spend less time manipulating the video and more time dancing!
It's hard to have a new-born. When you go out for a walk with your adorable baby, it's already troublesome enough to carry all the things and make sure the baby is content. Having to adjust the stroller cover and seat is just too much work. The smart stroller will detect its surrounding brightness and automatically adjust the cover position. If we have time, we also want to automate changing seat configuration (i.e. chaning between inclined and flat).
Sometimes, judging the weather can be difficult, even with the temperature scale. Instead of staring at numbers that correlate to how hot or cold it is outside, use Anemoi to simulate the temperature. Anemoi is a device that once a user inputs a certain thresholded degree, will simulate how that temperature feels. With this, it will be easier to pick out outfits without the burdensome process of trying them on, walking outside, and coming back to change. Anemoi will ideally be handheld and be able to simulate everyday temperatures.
We want to take popular games out of the computer screens and let players interact with the game and with each other with their full body instead of a mouse cursor. Games will be projected onto a wall and players need to interact with projected images, e.g. catch a target or follow some movements. A camera behind the player will use computer vision to determine how accurately the player completes the task. This will encourage players to be more active and allow more interactions among the players.
By this time, we had a setup in which a microphone was interfaced with an Arduino UNO. For the canister, we brainstormed different ways to muffle any screams into it as well as ways to fabricate the canister itself. At the time, the options we were leaning towards included using acoustic foam or latex to line the inside of the container in hopes that they would help dampen the soundwaves. Our next steps were to make the canister more reliably sound proof as well as creating our end-to-end webapp system.
Since the midterm presentation on November 10th, we have made several design choices. Soundproofing the canister turned out to be a significantly more difficult task than we had originally anticipated. We ended up silicone casting the canister and placed our acoustic foam inside. We then shifted our focus to build the entire end-to-end system. In using the ESP8266 and NodeMCU, we ran into some difficulties trying to interface with MIT App Inventor. Eventually, we came across this comprehensive guide that helped us build our website by using the ESP8266 as a server. After properly routing pages, we then interfaced the microphone to read values with the toggle of a button. Finally, we created a leaderboard by which users could view overall highscores, and lined the canister with led lights that lit up according to users' screams.