Final Project- The Smell of Home-Ruben Mayorga

The smell of home was an idea that came to me when thinking of my experience in children museums during my childhood, I remember that back home the kid’s museum had an exhibition that showcased different smells and textures and as a kid you had to identify the object you where smelling and touching. With this idea in mind, I tried to showcase a cultural experience of different countries and relate that to smell.  The project finally came to life being a table of dinner in which you had to smell the plate to have a memory recounted to you by the computer. The display simulated a dinner table because, I wanted the experience to be of a kind of dinner talk with plates of all over the world, while listening to memories that relate to this smells.

The Smell of Home had many changes during the creation of the project, firstly my original idea involved videos of people talking to the person and projected to the wall. Yet, various experts commented that it would be better to maintain the voice with no video to help imagine the face of the person in contrast to actually looking at them. Secondly, the first display was supposed to be a rectangular table looking at the wall, but was changed due to the change from video to audio. Finally, the other important change that was done in the project was the amount of chairs, in the first idea there were 5 chairs, one for each food. But, because of the confusion that this created changed to be only one chair that could move so only one person would use it at a time.

The production of the project was a bit complicated, setting up the table and making it look like an actual dinner table even with the cables around was difficult. Yet not impossible I used laser cut plates to put as decoration with printed images of the foods with actually food inside for the smell. After that, I placed the aduino inside a box to hide it and on top of that box a wine bottle for decoration. And also, to make the user feel like it was an actually dinner table and not only a IMA project. I used the forks and knives from the cafeteria to decorate and a table cloth to put the finishing touch.

The Code had its difficulties, because each sensor had to be attached to its individual video and had to be triggered only when the user was smelling. The other issue came due to the type of sensor that I was using, that specific sensor was different from the other sensor we had previously used. Because of this I had to use a different code to make it work with the arduino.

The user testing was a very useful method to get to know the problems that the project had, like the position of the sensors and the quantity of chairs in the display. The user testing also helped me to understand that the project needed a little more clarity regarding the way in with the project functioned. Nevertheless, I thought the project had very few and minor flaws that had to be changed. Overall the project was very well received by most of the participants due to it’s uniqueness and creativity.

Finally, the project reflected all the important aspects of the class, it included laser cut plates, processing for the audio and the arduino for the sensors. But, most importantly the project encompassed the interactivity of people and culture. Which is the main idea behind the project and also the class, to learn how to make something that helps with interactivity.

Thank you Eszter and Marcela for all the help 🙂

Final Project Essay Ruben Mayorga

Project Proposal: A sniff of culture

This project came to my mind because of a previous experience in a kids museum, in this museum the exhibition consisted in tubes that had different smells. The kids where supposed to relate the smell and the thing that emitted that smell. 

Image result for smell museum for kids

Adding to this, the idea of cultural identity and how to express different cultures in an exposition, helped mold a new idea. The concept of using smell to relate to a culture sounded fascinating, yet not complete. For that reason the project will also incorporate sound, and a video to express the feelings, memories and culture that one particular smell signifies to someone. 

Image result for different dishes of the world

I have though on presenting a video of someone originally from the country the plate comes from, and for him to explain through a video the significance of the smell. This will connect people with cultures and people outside of our comfort zones. It will help people interact with different cultures and traditions, through their senses.

Image result for cultural interaction

For the project I have planned on using a sensor of distance, to identify when a person is sniffing the certain smell tube of a specific country. When the arduino identifies it, then send a signal to the processing to play the video of the person of that country. And furthermore, play some background music related to their culture.

Recitation 9: Media controller

The project consisted in changing either a video or image, that could be altered in any way from the arduino. The project taught me to better understand the way in which we can affect images with a physical object.

I had some problems with the coloring due to a arduino problem, which i realized later on. Also I tried to give the value of the arduino an x value to multiply it as it went, but failed.

import processing.serial.*;

Serial myPort;
int valueFromArduino;
PImage photo;
int x=valueFromArduino;

void setup() {
size(1200, 650);

background(0);
photo= loadImage(“beagle.jpg”);
printArray(Serial.list());
// this prints out the list of all available serial ports on your computer.

myPort = new Serial(this, Serial.list()[ 0 ], 9600);
// WARNING!
// You will definitely get an error here.
// Change the PORT_INDEX to 0 and try running it again.
// And then, check the list of the ports,
// find the port “/dev/cu.usbmodem—-” or “/dev/tty.usbmodem—-”
// and replace PORT_INDEX above with the index number of the port.
}

void draw() {
// to read the value from the Arduino
while ( myPort.available() > 0) {
valueFromArduino = myPort.read();
//image(photo, 0, 0);
//tint(x*5,x+300,2*x,100);
image(photo, 0, 0);
if ( valueFromArduino<100) {

tint(0, 0, 255);
// image(photo, 0, 0);
} else if ( valueFromArduino<200) {
tint(0, 255, 0);
// image(photo, 0, 0);
} else {
tint(255, 0, 0);
// image(photo, 0, 0);
}
}
println(valueFromArduino);//This prints out the values from Arduino
}

Recitation 8: Ruben Mayorga

The video to show the program working was too large to post, but the idea behind the project was to learn how to use the processing with the arduino and make them interact with more than one value between each other.

import processing.serial.*;

String myString = null;
Serial myPort;

int NUM_OF_VALUES = 2; /** YOU MUST CHANGE THIS ACCORDING TO YOUR PROJECT **/
int[] sensorValues;
int preSensorValues;
int preSensorValues2;
/** this array stores values from Arduino **/

void setup() {
size(500, 500);
background(255);
setupSerial();
}

void draw() {

updateSerial();
printArray(sensorValues);
line(preSensorValues,preSensorValues2,sensorValues[0],sensorValues[1]);
preSensorValues=sensorValues[0];
preSensorValues2=sensorValues[1];

// use the values like this!
// sensorValues[0]

// add your code

//
}

void setupSerial() {
printArray(Serial.list());
myPort = new Serial(this, Serial.list()[0], 9600);
// WARNING!
// You will definitely get an error here.
// Change the PORT_INDEX to 0 and try running it again.
// And then, check the list of the ports,
// find the port “/dev/cu.usbmodem—-” or “/dev/tty.usbmodem—-”
// and replace PORT_INDEX above with the index number of the port.

myPort.clear();
// Throw out the first reading,
// in case we started reading in the middle of a string from the sender.
myString = myPort.readStringUntil( 10 ); // 10 = ‘\n’ Linefeed in ASCII
myString = null;

sensorValues = new int[NUM_OF_VALUES];
}

void updateSerial() {
while (myPort.available() > 0) {
myString = myPort.readStringUntil( 10 ); // 10 = ‘\n’ Linefeed in ASCII
if (myString != null) {
String[] serialInArray = split(trim(myString), “,”);
if (serialInArray.length == NUM_OF_VALUES) {
for (int i=0; i<serialInArray.length; i++) {
sensorValues[i] = int(serialInArray[i]);
}
}
}
}
}

After that the project required the arduino to interact from the information received from the processing, this was more complicated but in turn it helped to show how to send messages from processing to arduino.

// IMA NYU Shanghai
// Interaction Lab
// This code sends one value from Processing to Arduino

import processing.serial.*;

Serial myPort;
int valueFromArduino;

void setup() {
size(500, 500);
background(0);

printArray(Serial.list());
// this prints out the list of all available serial ports on your computer.

myPort = new Serial(this, Serial.list()[ 0], 9600);
// WARNING!
// You will definitely get an error here.
// Change the PORT_INDEX to 0 and try running it again.
// And then, check the list of the ports,
// find the port “/dev/cu.usbmodem—-” or “/dev/tty.usbmodem—-”
// and replace PORT_INDEX above with the index number of the port.
}

void draw() {
// to send a value to the Arduino
if (mouseX> 200) {
myPort.write(‘H’);
} else {
myPort.write(‘L’);
}
}

// IMA NYU Shanghai
// Interaction Lab
// This code receives one value from Processing to Arduino

char valueFromProcessing;
int ledPin = 13;

void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
}

void loop() {
// to receive a value from Processing
while (Serial.available()) {
valueFromProcessing = Serial.read();
}

if (valueFromProcessing == ‘H’) {
digitalWrite(ledPin, HIGH);
} else if (valueFromProcessing == ‘L’) {
digitalWrite(ledPin, LOW);
} else {
// something esle
}

// too fast communication might cause some latency in Processing
// this delay resolves the issue.
delay(10);
}

Proposals Final Project: Ruben Mayorga

Proposal 1: trashcan that can interact with the user, it talks to induce the user to throw away their trash in the cans. The project would use a movement sensor to detect objects falling inside and giving a prerecorded message.

The idea behind the trashcan is to incentive the use of the trash to better protect the environment, by giving fun facts or phrases that motivate people to use the object correctly. 

Proposal 2:  Proposal 2 is based on the idea of cultural interactivity between people. The premise is to use the smells and the sounds that people relate to home, and their own culture. This will help to give an idea of what other people experience in different parts of the world. This project will help the understanding of the cultural richness that the world posses, and can help close the mental barriers that people have regarding other countries and people.

Image result for smell displays ,museum

Proposal 3: An array of objects (tbd) that when touched send a signal to the arduino and the computer to show an image and a tone. The idea behind is for people to collaborate and experiment with the objects, creating songs and different array of images. This idea comes from a display of light bulbs that turned on when being touched, but in this case my project would project different shapes depending on the object touched.