This course focuses on embedding computation into the physical world and envisioning the future of tangible interactive media. Our hands-on, materially oriented work is grounded in theoretical concepts from HCI (Human Computer Interaction), speculative design, and design fiction.Â
The Good Reaper Final
The Good Reaper is a device that will tell a person when they will pass away and a service that will assist them in preparing their will, funeral arrangements, etc. The Good Reaper is not mean to scare people, but to simply give people a new perspective on how they live their lives.
Tinkercad Circuit Demo & PCB design

Diegetic Prototype
Mockumentary
Builderbot — Project 2
Tinkercad Circuit available here.

#include <Servo.h>
int buttonPin = 4;
bool grip = false;
int position = 0;
Servo servo_9;
void setup()
{
pinMode(buttonPin, INPUT);
Serial.begin(9600);
servo_9.attach(9);
}
void loop()
{
bool buttonPress = digitalRead(buttonPin);
if(buttonPress == 1){
toggleMotor();
//gripMove();
servo_9.write(position);
}
Serial.print(buttonPress);
Serial.print(" ");
Serial.print(grip);
Serial.print(" ");
Serial.println(position);
delay(100);
}
void toggleMotor(){
if(grip == false){
grip = true;
position = -180;
}
else{
grip = false;
position = 90;
}
}
void gripMove(){
for (position = 0; position <= 150; position += 5) {
//tell servo to go to position
servo_9.write(position);
}
delay(15);
}
Diegetic Prototype (3D Model) available here.

PCB Gerber files available here.

Project 2 Crowe
The Planet Rock Music Visualizer!
Crowdfunding: https://youtu.be/DLF79EW_5D0
Diegetic Prototype: https://youtu.be/43OT6hT1CTY
Tinkercad: https://www.tinkercad.com/things/9JBp2EU8OzT-intactivemtrlsfinalcrowe/editel


PCB: 
The Planet Rock Music Visualizer is a device made for those with hearing loss which translates the sound of music into a visual medium. The device is meant for use on Planet Rock, a planet in which the native people use music as their sole means of communication.
Analog Sensor Arduino (Redo)
//uses vibration motors from an old glove project --> which was incorperated into new project
int sensorPin = A0; // select the input pin for the pressure sensor
//PMW pins for nano are: PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite() function.
int vibOne = 3; // select the pin for the first vib motor
int vibTwo = 6;
int vibThree = 9;
int vibeintensity = 0;
// Pin 13: Arduino has an LED connected on pin 13
// Pin 11: Teensy 2.0 has the LED on pin 11
// Pin 6: Teensy++ 2.0 has the LED on pin 6
// Pin 13: Teensy 3.0 has the LED on pin 13
int sensorValue = 0; // variable to store the value coming from the sensor
void setup() {
// declare the ledPin as an OUTPUT:
pinMode(vibOne, OUTPUT);
pinMode(vibTwo, OUTPUT);
pinMode(vibThree, OUTPUT);
pinMode(sensorPin, INPUT);
Serial.begin(9600);
}
void loop() {
// read the value from the sensor:
sensorValue = analogRead(sensorPin);
Serial.print(sensorValue);
Serial.print(", ");
vibeintensity = map(sensorValue, 1040, 160, 0, 255);
Serial.println(vibeintensity);
if(sensorValue < 800 && sensorValue >= 500) {
analogWrite(vibOne, vibeintensity);
}
if(sensorValue < 500 && sensorValue >= 300){
analogWrite(vibOne, vibeintensity);
analogWrite(vibTwo, vibeintensity);
}
if(sensorValue < 300 && sensorValue >= 200) {
analogWrite(vibOne, vibeintensity);
analogWrite(vibTwo, vibeintensity);
analogWrite(vibThree, vibeintensity);
}
if(sensorValue < 200) {
analogWrite(vibOne, 255);
analogWrite(vibTwo, 255);
analogWrite(vibThree, 255);
}
if(sensorValue > 800) {
analogWrite(vibOne, 0);
analogWrite(vibTwo, 0);
analogWrite(vibThree, 0);
}
}

Objects of the Future// Depths of Depthopolis
int bottomTemp = 80;
int upperTemp = 95;
int celsius = 0;
int fahrenheit = 0;
int gasSensor = A1;
int temperatureSensor = A2;
int threshHold = 400;
int redled = 0;
int yellowled = 1;
int greenled = 3;
int gasLevel = 0;
bool correctGas;
bool correctTemp;
void setup() {
pinMode(temperatureSensor, INPUT);
pinMode(gasSensor, INPUT);
pinMode(redled, OUTPUT);
pinMode(yellowled, OUTPUT);
pinMode(greenled, OUTPUT);
}
void loop(){
// measure temperature in Celsius
celsius = map(((analogRead(temperatureSensor) - 20) * 3.04), 0, 1023, -40, 125);
//measure gas levels
gasLevel = analogRead(gasSensor);
// convert to Fahrenheit (in case you need it)
fahrenheit = ((celsius * 9) / 5 + 32);
conditions();
delay(300); // Wait for 1000 millisecond(s)
}
void conditions(){
if (celsius < bottomTemp || celsius > upperTemp) {
digitalWrite(greenled, LOW);
correctTemp = false;
}
if (gasLevel < threshHold) {
digitalWrite(yellowled, 0);
correctGas = false;
}
if (celsius >= bottomTemp && celsius < upperTemp) {
digitalWrite(greenled, HIGH);
correctTemp = true;
}
if (gasLevel >= threshHold) {
digitalWrite(yellowled, 255);
correctGas = true;
}
if (correctGas == true && correctTemp == true) {
digitalWrite(redled, 255);
}
if (correctGas == false || correctTemp == false) {
digitalWrite(redled, 0);
}
}

PCB gerber Files and Diegetic 3D StepFile below respectively
https://drive.google.com/file/d/1imAkBKAQb8he4qKoHv0EqOfb7yP2ZgIQ/view?usp=sharing
https://drive.google.com/file/d/1iHLfRr8PoTuECT3bpMNOhGJwzL8hFP_y/view?usp=sharing
Project 2: Poison-filtering Drone/Bot | Guanxiang Wang, Collin Brown, and Elly Petersen + Individual Works
Brief Story:
https://docs.google.com/document/d/1Qe0Y35Oy42dDYVMgjOARh6vUSkCtXwNPkIjNLMkRsIs/edit?usp=sharing
Growing up the youngest of 6 children Betty did a lot of peculiar things to stand out. Even being an adult it was something that always stuck with her. Living next to the ocean gave her the certain level of oddity she craved. Each morning she would gather her different art supplies and a couple of weights before heading out to the beach. While most people typically stop at the beach, Betty was different. Priding herself on her record of holding her breath for up to 20 minutes she would headout into the deeper parts of the water. Whenever asked she claimed it was for the sake of creative inspiration, but deep down she knew it would catch the attention of those who heard.
Sadly Betty’s aquatic lifestyle would grind to a halt as the ocean had undergone some drastic changes. Unknown if the cause was a freak part of nature or mankinds of ignorance but the water had become extremely poisonous on very random occasions. Once braving the water thinking that holding her breath and not consuming the water was enough for her to realize she needed to change along with the ocean. After noticing a particular pattern before the water would turn, she decided to try and find a way to map it and hopefully solve the issue. After rigorous trial and error she had come up with a small underwater submarine-like drone built with a small biosensor. On set intervals the drone would let in small amounts of water and run them through the biosensor. After the water had been tested it would be dumped back out to make room for more water. The data for the water would be tested for the pattern of the toxic water. While she was unable to find the source of the mysterious change that had threatened the ocean, she was still able to safely continue her hobby at least for the time being.Â
Circuit: https://youtu.be/kLsSxchjdWE (video of circuit) |
https://www.tinkercad.com/things/4IXd79zb7vZ-poisonous-ocean-detector/editel?sharecode=LrLvLbyqbGQOaW4MZTkmeeKZ_RQpjQvwjSYixZOF5Go (TinkerCAD link)
PCB: https://drive.google.com/drive/folders/18jXa8pdgnKvpSKUK998qFkSGT9yPnMVN?usp=sharing

Diegetic Prototype:
(Version 2)https://www.tinkercad.com/things/aM6hy4FusB4(link to 3D Model on TinkerCAD)


Mockumentary: Selected clips from The Poisoned Ocean, a feature-length documentary released in 4038 that details the toxic ocean crisis that occurred from 2050 – 2072.
YouTube link: https://www.youtube.com/watch?v=t28mTOZkjKw&feature=youtu.be
Individual Works:
Glow Lollipop
Here is a prototyper of Glow Lollipop. It is a fantastic toy for children to enjoy. While holding Glow Lollipop, the LED light would be on, the lollipop is connecting copper tape with a special insulator material, which is absolutely safe and funny for children.
Guanxiang Wang
Guanxiang Wang: Circuit + PCB + 3D Model(Version 1)
Collin Brown: Brief Story + 3D Model(Version 2)
Elly Petersen: Crowdfunding Video
Project 2 – Terry
In a world without video cameras, stories visualized on stage are immensely popular. These play have become very high tech productions. Several of the most popular technologies were pioneered by siblings Hayley and Jonah Williams and their company, Bryte:


Thermochromic actuation – Collin Brown
Set in a culture where all arguments a settled purely on will power and a fight of who wants the win more, a device has been built to help settle differences. This little machine has two touch sensors with heating pads on them. The two people must press down on their touch sensor, and the color corresponding to their controller will light up the screen. The colors will blend but as one person starts to give in, the winning sides color should start to show more. As the game progresses the controllers start to heat up adding a bit more challenge. Eventually only one person is left with there color fully on the screen, thus crowning them as the winner of the argument.


Objects of the Future | Final Presentation group 1 (Nina, Lauren, Shelly, Ale)
Link to our presentation with all the material! 😀
https://docs.google.com/presentation/d/1zCWenZ4u-4NoyjS_vSLZhj9OcbfuzeASCG1MQo3xZGQ/edit?usp=sharing
Design Fiction Prototype w/ TinkerCAD: Playlist Generator!
Presented by: Shelly Benally

With the ever expanding realm of music it can get really hard to know where to place each song. Depending on what sort of playlists you want to create you can certainly add it to the generator and based on your movements Playlist Generator! will then blink depending on whether or not you initially like the song and from there, the mini servo motor will act as an arm on where or which playlist to drop the song it. Now you can ensure that every playlist is prepped and ready to be played!






