Your #1 Worst Fan

Made by paddepal

We all need space sometimes, whether physically or mentally. Our technology shouldn’t be an exception. This tabletop fan is designed to turn off if you get too close to it, so make sure you respect its personal space.

Created: February 21st, 2023

0

Intention

My project was intended to inspire people to think about their physical relationships with technology and be able to apply this to their human-to-human interactions. I used the concept of personal space in my project, a “human” idea, and gave it to my fan in hopes of making it more human/lifelike. I wanted to draw attention to the idea that it is important to give people and things space, and I did this by humanizing the fan and changing its core function to get people to change their behavior.

0

Context

I didn’t really know how to use the parts given to me, so I got inspiration from the examples in class. The camera encased in concrete example that we covered really stood out to me due to how striking it was in its ability to be counterfunctional. I wanted to build something similar to make the greatest impact on people, so I focused on reducing/removing functionality for people in key usage of my fan. Since I had a proximity sensor, I realized that people feel the most effect of the fan when closest to it, so I wanted to reverse this. I initially went about creating a self-destructive fan, inspired by the chair with self-destructive joints example (The DRM Chair).

0

Prototype/Outcome

For my final prototype, I created a fan that would turn off when you get too close to it. I was assigned a servo motor for output and a proximity sensor for input, so I was able to use the proximity sensor to detect closeness and use the servo motor to turn the fan on. The device was built so that it would hang off the table with the fan on top and the sensor on the bottom in an attempt to detect when people sit at the desk, as it is ultimately a desk fan. I also added some aesthetic features like eyes to show that it was “watching” it’s personal face.

Any proximity sensor reading below the maximum was recorded as being “close.” This is because the sensor can only detect a few centimeters ahead of it, so trying to determine a range is difficult due to how small the differences in distance could be. When the sensor reads someone as being close, the servo is turned. The mechanism for the servo to turn on the fan is purely physical — I used popsicle sticks and other materials to build a lever that when pushed by the servo, would press the button on the back of the fan. This required the fan and the Arduino to both be plugged into a power source. The following are pictures of the final prototype, servo setup, and breadboard circuit.


 

0

Process

  • My project went through multiple changes towards the end. At first, I wanted to build a fan that would turn away from the user. I spent most of the class time exploring and integrating different parts of my project. I focused first on being able to use and detect values from the proximity sensor, then on using the servo motor. I then wanted to try and build a physical casing for both of these components so that the servo could hold the fan up and turn it away, and spent considerable time doing this to no avail. I then instead focused on integrating the sensor and the servo by having the servo turn every time the sensor was read, which was successful. At this point, I decided to build my self-destructive fan, but I ended up breaking too many blades while trying to figure out how to consistently stop the fan. In order to have a working fan, I decided to change my project vision to instead just turn the fan off. As a result, I had to use the servo as a way to click the fan’s button. Most of the final parts of this process was spent building the hardware/physical component of my prototype so that I could combine all of the parts. From a software side, I was able to pull example code for both the proximity sensor and the servo motor. Since I have prior Arduino programming experience and since the project isn’t incredibly complex, writing the code was easier and faster to do at the end when I integrated everything. My final code is in the appendix.

0

Open Questions and Next Steps

The vibration of the fan caused it to move the entire structure, but after getting feedback from the demonstration day, I realized I could leverage this to further play with the idea of personal space. I would like to see a version of this prototype where most of the behavior is the same, but if even closer to the fan, it shakes and continues this almost “dangerous” operation. In this way, instead of just not work, it tries to repel users from the technology. This is an interesting concept that I’d like to explore in the future.

There are also questions as to how I can integrate some of the other parts into this project. One of the guest speakers mentioned that the “ears” on my prototype gave it a sense of not only watching, but listening to people. I could play with this idea even further by making the ability to be “friends” with it — maybe by reading a story or talking to it when close, it could continue its operation.

0

Reflection

Critically reflect on the success of this project. Were the aspirations and ambitions achieved. Was it received and encountere din the ways you wanted? If not, why not? What do you need to get there, etc?

0
#include <Servo.h> 
#include <Arduino_APDS9960.h>

int servoPin = 2; 
Servo Servo1; 

int howlongfaraway = 0;
int d = 100;
bool on = false;

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

  if (!APDS.begin()) {
    Serial.println("Error initializing APDS-9960 sensor!");
  }

  Servo1.attach(servoPin); 
  Servo1.write(80);
  
}
void loop(){ 
  Servo1.write(80);
  if (howlongfaraway >= 2000) {
    if(!on){
      Servo1.write(130); 
      delay(200);
      on = true;
      howlongfaraway = 0;
    }
  }

  if (APDS.proximityAvailable()) {
    // read the proximity
    // - 0   => close
    // - 255 => far
    // - -1  => error
    int proximity = APDS.readProximity();


    if (proximity > 200) {
      howlongfaraway += d;
    }
    if (proximity <= 200) {
      if(on) {
        Servo1.write(130); 
        delay(200);
        on = false;
      }
      howlongfaraway = 0;
    }

    Serial.println(howlongfaraway);
  }

  delay(d);

}
Click to Expand
x
Share this Project


About

We all need space sometimes, whether physically or mentally. Our technology shouldn’t be an exception. This tabletop fan is designed to turn off if you get too close to it, so make sure you respect its personal space.