Investigation 1 Project Documentation - Filip the Fan

Made by kkuramot

What if objects had lives of their own? Filip is unlike a fan you've owned before, he clearly tells you when he's tired and needs a break. If you've been using him for too long, he'll change to red and this is a sign for you to switch him off to give him some time to cool down, just like you and me need to do sometimes.

Created: February 17th, 2023

0

Intention

The intent behind my project was to draw attention to the possible “energy levels” that objects have. Furthermore, I wanted to make us, as humans, aware that objects have “lives” themselves. In our society, we often see objects as a means to an end, a way to get something done, or something that they can do for us. I wanted to draw attention to the idea that objects can have lives themselves and that we should be more cognizant of how we use those objects, taking into account their own needs as well. We’re always thinking about what these objects can do for us, but we never stop and think about what they need, maybe they need a break?

0

Context

The core of my idea came to me after reading about a new area of research within HCI known as “More-than-human-centered design”. “More-than-human-centered design” takes into account the perspective and possible needs of other actors in our environments such as plants, animals, objects, and notably other technologies. In this article, they talk about how simple observation can allow us to uncover needs from the perspective of objects other than ourselves. When thinking about the needs of a fan, I noticed that fans tend to be placed in environments that are hot and humid. This got me thinking that while we are very hot and sweaty in these environments, a fan might be as well. In the same way that we need a break to “cool down”, a fan in the same environment might want to “cool down” too.

http://www.ijdesign.org/index.php/IJDesign/article/view/4402/1004 

0

Prototype/Outcome

For my final deliverable, I created a fan that had an LED strip attached to the outer rim and when plugged into power, the LED strip would represent the “energy” levels with specific color output. The fan was hooked up to an arduino that has a temperature and humidity sensor. I based the “energy” levels of the fan from the temperature difference of the air over a specific interval of time. If the temperature dropped a significant amount over the period of time, I could conclude that the fan had to work hard to decrease the air temperature and thus would be tried. In these cases, the LED would shine red to indicate to the user that the fan was tired and might need a break/ shut off. If the temperature change was somewhat significant the LED would be yellow and if the change was nonexistent the LED would be green. With regards to lighting up, the green lights up bulb by bulb at a faster rate than the red lights up to indicate the fan itself is getting tired and thus cannot light itself up as fast.

0

Process

Surprisingly, my design process was quite linear and parallel with the tech talks we had in class. I started by understanding how arduino works with some small sketches and then moved onto using libraries to utilize the temperature sensors. The temperature sensor was quite easy to use and I was able to use the LEDs on the arduino to change color based on the current temperature, this was promising for my final project. Then I moved onto the output: LED lights. This was slightly more challenging as I worked on the output a couple days before the assigned class period due to traveling for an athletic event. I worked with TA Zhenfeng to try and get the LED output to work but after a couple hours in the lab we were unsuccessful. I was, however, able to soder for the first time so that was exciting. When I came back from my trip, I was directed towards the tutorials that were shown in class the previous week. I realized that I had plugged some of the cables into the wrong ports, so once they were correctly placed, I got the LED to start working! Now it was just a matter of delaying the interval, taking the temperatures at two different times, and finding the difference. There was of course a lot of debugging at this stage because it was the most code heavy, but with my previous programming experience, it was manageable. Then I spent the last class period tweaking the intervals where the colors would change due to the demo that would be much faster than a normal fan usage session. 

0

Open Questions and Next Steps

I think something that remains for me is how I can utilize the LED strip as my output to convey more emotion and tiredness of the lamp. One of the guests during our critique in-class said I should investigate what it really means to be “tired”. Does the lamp have a second wind? When does it die? How does it recharge? These questions can help bring the object to life and create a more animistic feeling. Another student also mentioned that maybe harsh colors of red, yellow, and green weren’t the best to convey emotion and that the brightness of a white color that slowly fades might be more representational and human feeling. I definitely agree with this sentiment and I would be interested in investigating other properties of LED lights that could convey emotion. 

0

Reflection

Overall, I would say that my aspirations and ambitions were achieved. I have never used an arduino before, so to be able to take an input such as temperature and convert the data into an output using an LED strip with wires was pretty substantial for me. With regards to my intent with my design, many of the people in my class and the guests from the critique said they understood my design. While it was simple, it forced the user to think about their actions which was my original intent. Like I mentioned before, some tweaks could be made to increase the emotional aspect, but as a first project I am happy with this outcome!

0

Attribution and References

Reference any sources or materials used in the documentation or composition

0
#include <Adafruit_NeoPixel.h>

#define PIXEL_PIN D2
#define PIXEL_COUNT 22
#define PIXEL_TYPE NEO_GRB + NEO_KHZ800

Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);

#include <Arduino_LPS22HB.h>

void setup() {
  Serial.begin(9600);
  while (!Serial);

  if (!BARO.begin()) {
    Serial.println("Failed to initialize pressure sensor!");
    while (1);
  }

  strip.begin();
  strip.show(); // Initialize all pixels to 'off'
}

void loop() {
  Serial.println("START LOOP");
  // read the sensor value
  float pressure = BARO.readPressure();

  float temperature = BARO.readTemperature();
  // print the sensor value
  Serial.print("Temperature1 = ");
  Serial.print(temperature);
  Serial.println(" C");

  // wait 1 second to print again
  delay(10000);
  float prev_temp = temperature;
  pressure = BARO.readPressure();
  temperature = BARO.readTemperature();

  Serial.print("Temperature2 = ");
  Serial.print(temperature);
  Serial.println(" C");

  float difference = prev_temp - temperature;
  Serial.print("difference = ");
  Serial.print(difference);
  Serial.println(" C");
  Serial.println("END LOOP");

  if (difference < 0.05) {
    for(int i=0; i< strip.numPixels(); i++) {
      strip.setPixelColor(i, 0, 255, 0 );
      strip.show();
      delay(100);
    }
  }
  else if (0.05 <= difference && difference < 0.10) {
    for(int i=0; i< strip.numPixels(); i++) {
      strip.setPixelColor(i, 255, 255, 0 );
      strip.show();
      delay(300);
    }
  }
  else if (difference >= 0.10) {
    for(int i=0; i< strip.numPixels(); i++) {
      strip.setPixelColor(i, 255, 0, 0 );
      strip.show();
      delay(500);
    }
  }
}
Click to Expand
x
Share this Project


About

What if objects had lives of their own? Filip is unlike a fan you've owned before, he clearly tells you when he's tired and needs a break. If you've been using him for too long, he'll change to red and this is a sign for you to switch him off to give him some time to cool down, just like you and me need to do sometimes.