The Nose Knows

Made by ppritcha

A playful display to build empathy for all the kids who ever have to sit and wait in a droll doctor's office before getting an allergy shot.

Created: December 21st, 2015

0

For my second major project in the Making Things Interactive course at CMU I used the Kimono Labs plug-in to build an API from the forecast data from Pollen.com. To visualize this data, I laser cut a nose profile then turned it into a 3D sculpture to hold my Arduino, breadboard and a small squirrel cage fan. I communicated the data from Pollen.com through a JSON format sent via serial communication from Processing to Arduino. The fan inside the nose had a handkerchief attached to it, and the fan would blow the handkerchief if the pollen count reached above 7. I'm currently still iterating this design as the squirrel cage fan I used was not strong enough to emit a dramatic output. I plan to replace this fan with a DC motor for a better display.

My inspiration for this stems from my own experience with allergies and all the time I spent in my allergists's office as a child looking at kitschy decorations and memorabilia collected from pharmaceutical representatives. It was never a fun time visiting the allergist for my weekly allergy shot, and I like to think that had this nose been there blowing alongside me, the waiting room would have seemed a little more empathetic and playful. 

0
import processing.serial.*;



Serial myPort;  // Create object from Serial class

void setup() 
{
  //println(Arduino.list());
  size(200,200); //make our canvas 200 x 200 pixels big
  String portName = Serial.list()[2]; //change the 0 to a 1 or 2 etc. to match your port
  myPort = new Serial(this, portName, 9600);
  //draw();
}

//create json object, which will store the json file
JSONObject json;

//this is the URL endpoint that we want to call to retrieve the JSON
String pollenURL = "https://www.kimonolabs.com/api/4c78sda8?apikey=nNP7iLnO3BmG9tfLnHYcKgQc5jq7pg87";

float mappedVal;
int fanSpeed;
int fan = 3;

  

void draw() {
  
  //get the JSON file
  json = loadJSONObject(pollenURL);
  print("we got JSON!");
  print(json);
    JSONObject results = json.getJSONObject("results"); 
    JSONArray jsonPollen = results.getJSONArray("collection1");
    for (int i = 0; i < jsonPollen.size(); i++)
    {
      JSONObject pollenCount = jsonPollen.getJSONObject(i);
      float count = pollenCount.getFloat("Count");
      if (count < 7 ){
       myPort.write("0");
       delay(3000);
       println("Count: " + count);
     } 
     else {
         myPort.write('1');
         delay(3000);
         println("Count: " + count);
      }
     
    }
}
Click to Expand
x
Share this Project

Courses

48-739 Making Things Interactive

· 0 members

Making Things Interactive (MTI) is a studio course based on physical prototyping and computing. You will develop novel sensing, interaction and display techniques through projects and short assignm...more


About

A playful display to build empathy for all the kids who ever have to sit and wait in a droll doctor's office before getting an allergy shot.