This course focuses on thoughtfully and critically embedding computational media into the physical world. We will make, tinker, and experiment with high tech and low tech materials. Our hands-on, materially-oriented work will be grounded in theoretical concepts from HCI (Human Computer Interaction), design, and information studies. This course is taught by Stacey Kuznetsov, assistant professor at the School of Arts, Media, and Engineering. The TA is Piyum Fernando.

Honors Contract- Hannah Swieczkowski

Cave Lightbox

IMG_3322.jpg          IMG_3324.jpg

Description- For my honors contract, I decided to incorporate some of the elements that we learned this semester in class as well as adding in a new feature as well. My original idea was to make an interactive storybook, but after browsing the web for inspiration, I came across the work of Hari and Deepti (http://www.blackbookgallery.com/artists/hari-deepti/) who create paper cut shadow boxes that are illuminated with LED lights.

hari-deepti-backlit-paper-sculptures-shadow-art-7.jpg

Hari and Deepti’s “Oh, The Places You Will Go”

I thought that this was a really interesting form of art and wanted to put my own spin on these types of lightboxes by incorporating interactive elements into the scene. My lightbox is a series of paper cutouts that are stacked together and separated by cardboard spacers in order to give the scene a 3D feel. The scene is representative of a cave, with rocks sticking out at the bottom and stalactites hanging from the ceiling. There are multiple interactive elements within the scene, such as blinking LED lights, a bat potentiometer, and a switch that plays bat sounds through Processing.

How It’s Made-

Materials: 7 sheets of 65lb. cardstock, black felt, X-Acto knife, Elmer’s glue, cardboard, Arduino Uno, breadboard, alligator clips, wire, copper tape, 3 red Lilypad LEDs, 3 yellow Lilypad LEDs, metal flower wire, conductive yarn

I first started out the project by tracing and cutting out all seven of the cave layers on 65lb. cardstock paper using an X-Acto knife. I then took a sheet of cardboard and cut out strips in order to provide spacing between each of the layers. Each of the sheets has six cardboard strips on the back in order to provide an adequate amount of room between each sheet. Before gluing all of the sheets together, I went ahead and began the circuitry of the project by first building the potentiometer which is located on the back of the second sheet. I used conductive yarn to hang across the length of the sheet of paper and created a metal hook as a slider, attaching a felt bat to the front. I then attached two Lilypad LED lights on the third and sixth sheets where I used copper tape to connect them together in order to eliminate using too many wires. After attaching all of the wires and hooking it up to the Arduino, I then glued each of the sheets together and put a black sheet of paper on the back to provide a dark environment.

IMG_3321.jpg    IMG_3320.jpg

I really wanted to incorporate a sound element into the project, so I decided that I would try and learn how to hook up Arduino to Processing in order to play a sound file. This was a new concept that I had never tried before and it took quite a bit of research to finally get it working. In order to do this, I created a new Processing sketch where I imported a sound library, an Arduino variable reader, and passed in the Arduino port. I then wrote code in Processing so that it would read the Arduino serial port and if the port sent out a read of “1”, then Processing would play the sound clip that was loaded into the sketch. This took a lot of trial and error to figure out, but I finally got it to that when the switch is complete, bat noises play from the computer.

Code-

Arduino:

Screen Shot 2016-05-04 at 9.19.23 PM.png

Processing:

Screen Shot 2016-05-04 at 9.21.03 PM.png

Final Project – Richard Bohus

For my final project I created a self-heating bottle. So when the temperature goes under 30 Celsius the heating pad automatically starts heating up and stops when the temperature is 40 Celsius. A green LED indicates when the heating pad is working so you are warned to don’t touch the heating pad. I ran into some problems during the assignment. I had to modify the bottle so I can put my sensor in the tube that was originally full of gel so the bottle could be used for cooling purposes. I cleaned it and removed the gel but I guess I left some in it and kind of ruined the sensor and the heating pad. The sensor works every now and then so I could document it and Piyum saw that it was working. I couldn’t save the heating pad and we ran out of heating pads and temperature sensors in the lab. So I couldn’t attach the heating pad to the circuit.

Materials:

  • Wires
  • Cables
  • Temp sensor
  • Heating pad
  • LED
  • Resistor
  • Breadboard
  • Arduino Uno
  • Bottle
  • Tube

 

Video:

Code:

/**************************************************************************/
/*!
This is a demo for the Adafruit MCP9808 breakout
—-> http://www.adafruit.com/products/1782
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!
*/
/**************************************************************************/

#include <Wire.h>
#include “Adafruit_MCP9808.h”

// Create the MCP9808 temperature sensor object
Adafruit_MCP9808 tempsensor = Adafruit_MCP9808();
int ledPin = 5;
int padPin = 9;
int switchPin = 2;

void setup() {
Serial.begin(9600);
Serial.println(“MCP9808 demo”);
pinMode(ledPin, OUTPUT);
pinMode(padPin, OUTPUT);
pinMode(switchPin, INPUT);
Serial.begin(9600);

// Make sure the sensor is found, you can also pass in a different i2c
// address with tempsensor.begin(0x19) for example
if (!tempsensor.begin()) {
Serial.println(“Couldn’t find MCP9808!”);
while (1);
}
}

void loop() {
Serial.println(“Temp sensor ON baby “); // wake up MSP9808 – power consumption ~200 mikro Ampere

tempsensor.shutdown_wake(0); // Don’t remove this line! required before reading temp

// Read and print out the temperature, then convert to *F
float c = tempsensor.readTempC();
float f = c * 9.0 / 5.0 + 32;
Serial.print(“Temp: “); Serial.print(c); Serial.print(“*C\t”);
Serial.print(f); Serial.println(“*F”);
delay(250);

Serial.println(“Temp sensor OFF “);
tempsensor.shutdown_wake(1); // shutdown MSP9808 – power consumption ~0.1 mikro Ampere

delay(2000);
if (c > 30.0) {
digitalWrite(ledPin, LOW);
digitalWrite(padPin, HIGH);
}
//If readings are below __ indicating darkness, turn on LED
if (c < 40.0) {
digitalWrite(ledPin, HIGH);
digitalWrite(padPin, LOW);
}
}

Michael Compian – Final Project Documentation

Compian - Final

My project was supposed to be a 3d printed, solar-powered coaster. The coaster surface would be cooled by a peltier unit attached to a heatsink. The solar panel charged the battery but it was not strong enough to power the device on its own. The body of it is 3d printed. The printer was not that cooperative did not finish the project.

Parts list:

  • Jumper wires
  • Arduino Uno
  • Solar panel
  • Lithium ion battery
  • 9v battery
  • Photoresistor
  • LED
  • Peltier unit
  • Heatsink
  • SparkFun Sunny Buddy unit.
  • Breadboard

The code was pretty simple. Once there was enough light, the device would cool down. It cooled down much more than I thought it would. Evidence of it working is more about touch than about sight. People that came to check it out were able to feel how cool it got. Unfortunately, I was not able to get a working temperature sensor to display the temperature of the peltier unit.

It was a very rough prototype of my original idea and may be continued in the future.

Coaster

Original Plan

I was also unable to add touch sensors to the device. But I may take another shot at this when I have the time.

Final Documentation

For our final I went from making a UV sensing fan to making a UV sensing music box. I got the idea for the project when the motor I was using for my fan completely stopped working the night before the final. Because of this, I don’t have a lot of iterations of this project, but I made a really cool box. The box is supposed to work like any jewelry box with music in it would: if it’s opened it plays the sound and when it’s closed it does not.

This worked surprisingly well with the UV sensor, give or take a few tries to make it happen. The box and little scene were made using Adobe Illustrator and then cut out on a laser cutter. I used the adafruit UV sensor and a buzzer to make the sound. Unfortunately I am not cool enough to make the sound that plays when you open the box, I found the notes online with a youtube video: (https://www.youtube.com/watch?v=VqeYvJpibLY)

If I continued working on the project I’d like to eventually hide the arduino and make the scene light up with LEDs to give off the same vibe as the video game. I would also like to look for a speaker instead of the buzzer because the buzzer does not give off a fantastic sound.

Final Documentation – Connor McKee

IMG_0290.jpg

Working Title: Don’t Touch That Door– It Might Have A Raging Inferno On The Other Side

 

For my final project, I created a mock-up model of a door that one could potentially see in almost any building in the world.

THE IDEA: I wanted to create something that would be simple, effective, and would help to give insight in to solving a seemingly obvious problem: If there’s a fire in your building, how easy is it to get out? Sometimes, in the event of a fire, you can’t actually see where the fire is, but you know to get out because there’s smoke everywhere. Conventional wisdom tells us to briefly feel each and every doorknob of each and every door we hope to use in our escapes from burning buildings. I think that this wastes time and could cost many fingertips.

THE SOLUTION: I built a door that gives off a simple, but universal indicator, letting people know that the door that they see either has, or does not have a fire behind it. It does this by using two different LEDs. A large green one rests above the doorknob(as seen above), and lets everyone know that the next room is safe. In the event of a fire(or very high heat levels), the green LED shuts off and the second LED, located within the housing of the doorknob blinks red and green, letting people know to not go in the door.

For the actual model, I laser cut a small box/door out of MDF. My main challenge was making it sufficiently “door-like” but still providing enough room for the electrical components.

IMG_0292.jpg

IMG_0293.jpgIMG_0294.jpg

The doorknob itself was a 3D model that I created and had printed in the Fab Lab. The only unique aspect of the doorknob is the hole in the middle allowing me to add an LED. The final component was a battery compartment with a switch, and the whole thing was powered by a 9V battery.

IMG_0291.jpg

Paws Off! Final Documentation

IMG_20160424_171507951

Motivation
The problem I addressed was walking animals in the heat. While most people probably aren’t aware of this, if the temperature outside is only 77°F, the temperature of asphalt is 125°—this does damage to skin after a minute of contact. That means that when it is 86° or above outside, the ground is 135° and it is too hot for your animal to be walking on asphalt. Most people probably do not realize this fact and are unintentionally causing harm to their animals. I wanted to create a sensor that could be placed on the ground that changes colors to warn pet owners when the ground is too hot for their pets.

Hot-Asphalt-Awareness1

My Idea
What: Paw-print shaped sensors that can be stuck to the ground and turn red when it is too hot for animals to be walking.

Who: Dog owners are the main target demographic, but it would work for other animals as well.

Where: I think the first place I could see this actually being implemented would be in dog parks. If it was successful there then it could move to other parks, and maybe even sidewalks in popular areas. Additionally, if demand allowed, they could be sold as a pack of stickers that pet owners could place on their property (like in their backyard or on their driveway).

Why: First, currently there are no ground sensors that a person could buy to determine if the ground is too hot for their pet. The closest thing that comes to that is just a regular IR temperature sensor. There are a few things for helping dogs deal with the heat like booties and paw cream, but as of now there aren’t any actual detection devices for dog owners. Secondly, what makes this different from what already exists to detect heat, is that it does not require any action from the dog owners. These sensors would be in place in public settings so that dog owners would simply have to look at the stickers to know if it was safe, without having to do anything extra to tell if their dog is in danger. I know pet owners aren’t intentionally harming their dogs, they just might not realize how hot the ground can get. If pet owners had instant visual feedback that they are putting their animals in harm’s way, I think it would help solve the problem.

Implementation
I made a temperature sensor that printed to me the values of ground and I used that to determine the temperature of the surfaces I was placing the paws on. From there I had to figure out a way to insulate the paws so that the color would change at a different temperature. The termochromic paint I was using changed at 80°F and I needed it to change at 125° instead. Through much trail and error, I was finally able to make one paw that was beginning to resist heat; however, it could only resist up to 93°F before it began changing.

temp_sense

 

Paw Print 1:
• 1st layer- paper as base
• 2nd layer- purple to red thermochromic paint for paw-print

IMG_20160501_233256257    IMG_20160424_171418617

Paw Print 2:
• 1st layer- paper as base
• 2nd layer- paper for paw-print
• 3rd layer- blue thermochromic paint
• 4th layer- red thermochromic paint

IMG_20160501_233334855    IMG_20160424_171422759

Paw Print 3:
• 1st layer- paper as base
• 2nd layer- foam for paw-print
• 3rd layer- purple to red thermochromic paint

IMG_20160501_233349066_HDR    IMG_20160424_171411299

Paw Print 4:
• 1st layer- foam as base
• 2nd layer- paper as second base
• 3rd layer- paper for paw-print
• 4th layer- red thermochromic paint
• 5th layer- blue thermochromic paint
• 6th layer- glossy, transparent primer

IMG_20160501_233907020    IMG_20160424_171414375

Results:
• The more layers the more effective
• Multiple paint-layers are very effective
• Even at multiple layers the paint still starts to change at only 90*
• Paint “damages” if heated too much (cool time is long, heat time is short)
• Paint turns white not “transparent”
• Closest to getting the paw-print to turn red is purple to “red” (more like pink)

Future Implementation
For future iterations of this project I would look attempt to use a couple of different materials, especially after seeing some of the other projects at the showcase. Some other materials I would like to try is an insulated jell of some sort, like the kind that is used in lunch boxes and cooling pads. I noticed that when the paint was not all the way dry, having some sort of liquid layer between the ground and the paint really helped reduce the amount of heat that could reach it. On top of that I would change my material from paper to ceramic and possibly using heat redirecting tape. Maybe that along with arduino code that physically cools the stickers would cause the paint to change at a different temperature. Of course that would increase the price of the product so I would try to stick to just materials. Another material I had interest in testing was adobe, but it was hard to find the right type of soil for that I tried the backyard at my grandparents house and a few washes in Mesa but all of that soil was too sandy, so the mud wouldn’t fit together well enough to make a base for the paw print.

Alternate Idea
Because I was not able to get the sticker to change at the desired temperature I also made an alternate idea to solve the solution in a different way. For my alternative idea I used the temperature sensor I had created and set it up so that when the temperature was above a desired number (in real life case 125°, for the purpose of showing the demo 83°) a red LED would go off indicating to the user the ground was too hot for their pet. I was thinking about this being used in a shoe so that if the owner was walking around with their pet they would know it was too hot. However, this could also be implemented the same way a sticker would, the only difference being the visual feedback received being an LED instead of thermochromic paint.

Code
/**************************************************************************/
/*!
This is a demo for the Adafruit MCP9808 breakout
—-> http://www.adafruit.com/products/1782
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!
*/
/**************************************************************************/

#include <Wire.h>
#include “Adafruit_MCP9808.h”

int ledPin = 13;

// Create the MCP9808 temperature sensor object
Adafruit_MCP9808 tempsensor = Adafruit_MCP9808();

void setup() {
Serial.begin(9600);
Serial.println(“MCP9808 demo”);

pinMode(ledPin, OUTPUT);

// Make sure the sensor is found, you can also pass in a different i2c
// address with tempsensor.begin(0x19) for example
if (!tempsensor.begin()) {
Serial.println(“Couldn’t find MCP9808!”);
while (1);
}
}

void loop() {

tempsensor.shutdown_wake(0);   // Don’t remove this line! required before reading temp

// Read the temperature, then convert to *F
float c = tempsensor.readTempC();
float f = c * 9.0 / 5.0 + 32;

Serial.print(f); Serial.println(“*F”);
delay(250);

//See if the temperature is too hot for puppy paws. If so, LED goes off.
if (f >= 83){
Serial.println(“TOO HOT!!”);
digitalWrite(ledPin, HIGH);
}
else{
Serial.println();
digitalWrite(ledPin, LOW);
}

tempsensor.shutdown_wake(1); // shutdown MSP9808 – power consumption ~0.1 mikro Ampere
delay(1000);

}

Sample Results

83.41*F
TOO HOT!!
83.41*F
TOO HOT!!
83.30*F
TOO HOT!!
83.19*F
TOO HOT!!
83.19*F
TOO HOT!!
83.19*F
TOO HOT!!
83.07*F
TOO HOT!!
82.96*F

82.96*F

82.85*F

82.85*F

82.85*F

82.85*F

83.41*F
TOO HOT!!
83.75*F
TOO HOT!!
83.75*F
TOO HOT!!
83.86*F
TOO HOT!!
83.97*F
TOO HOT!!
84.09*F
TOO HOT!!
83.75*F
TOO HOT!!
83.30*F
TOO HOT!!
83.07*F
TOO HOT!!
83.07*F
TOO HOT!!
82.96*F

82.96*F

82.85*F

82.85*F

82.74*F

 

Final Project Documentation – Julian Geiger

Arduino code: https://drive.google.com/file/d/0B_3WXuNyp52jX3JlY0dXbVFNNDA

I was going to attach the modified EncodeAudio processing sketch, but I apparently overwrote it and am too close to the deadline to bother recreating it. I’ll at least provide a cursory explanation of what I did. The main problem I had with the GitHub version is that—since the bulk of the sample-to-scaled-value-between-0-and-255 is inside the try-catch—a non-fatal Minim error is being caught and the user is not being returned the list of values, a problem I circumvented by dumping the values to the console (instead of trying to save it to the clipboard).

What it does: When the temperature gets above 28º C, it plays the stored audio clip.