“A futuristic, yet, simple approach to cooling down…”

Concept

While working in the office in the terrible heat of the summer, the air conditioner was rapidly cooling the small room and we had to constantly turn it on and off. For this reason, I bought a desktop fan, but to turn it on, I had to constantly reach for the remote on/off button, and sometimes I had to constantly change the location of the fan because it got too cold or I moved my chair. I thought about how I could develop this device, which is smaller than an air conditioner, focuses only on me, does not cool the room, and does not take up much space like a pedestal fan.

As a result of this process, Desktop FAN-Tasy, a mini fan whose direction and speed can be adjusted with a joystick and activated with an ultrasonic sensor, was designed.

Some References

List of Used Materials

Circuit

Code

#include <Servo.h>

Servo servo1;

int angle = 90;

int jump = 5;

int speed = 524;

int X_Axis = A1;

int Y_Axis = A2;

int motorPin = 3;

#include <NewPing.h>

#define TRIGGER_PIN  12

#define ECHO_PIN     11

#define MAX_DISTANCE 200

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

int motorSpeed = 0;

void setup() {

  servo1.attach(4);

  pinMode(Y_Axis, INPUT);

  pinMode(X_Axis, INPUT);

  pinMode(motorPin, OUTPUT);

  Serial.begin(9600);

}

void loop() {

  int dist = sonar.ping_cm();

  if(dist < 5  && dist != 0){

    while (dist < 5  && dist != 0){

      int potY = analogRead(A2);

      if (potY < 400 ){

      angle = angle + jump;

      }

      else if (potY > 600){

      angle = angle – jump;

      }

      servo1.write(angle);

      delay(15);

      int potX = analogRead(A1);

      if(potX == 1023){

        if(motorSpeed < 255){

        motorSpeed+=5;

        }

        else{

        motorSpeed = motorSpeed;

        }

        analogWrite(motorPin, motorSpeed);

      }

      else if(potX == 0){

        if(motorSpeed > 0){

        motorSpeed-=5;

        }

        else{

        motorSpeed = motorSpeed;

        }

        analogWrite(motorPin, motorSpeed);

      }

      else{

        analogWrite(motorPin, motorSpeed);

      }

      int dist = sonar.ping_cm();

      Serial.print(“Distance: “);

      Serial.println(dist);

    }

  }

  else {

    if (dist > 5) {

      motorSpeed = 0;

      analogWrite(motorPin, motorSpeed);

      digitalWrite(motorPin, LOW);

      servo1.write(angle);

      delay(10);

    }

  }

}

Prototype

Video

Future Steps

The fan design will be developed to operate in a higher speed range and will be able to move on 4 axes. Additionally, it is planned to develop a wheeled, movable system to have more flexibility in position adjustment. Furthermore, a remote control design that is wireless and can be placed in a slot on the fan is also being considered.