Riku Lahkar
Published © MIT

Object-Activated Smart Fan using Arduino and Ultrasonic Sens

Auto-on smart fan using ultrasonic sensor and Arduino. Detects presence and spins fan via DC motor and L293D driver.

IntermediateProtip9 hours84
Object-Activated Smart Fan using Arduino and Ultrasonic Sens

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
Dual H-Bridge motor drivers L293D
Texas Instruments Dual H-Bridge motor drivers L293D
×1
DC motor (generic)
×1
Ultrasonic Sensor - HC-SR04 (Generic)
Ultrasonic Sensor - HC-SR04 (Generic)
×1
9V battery (generic)
9V battery (generic)
×1

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

Tape, Double Sided
Tape, Double Sided
Breadboard, 400 Pin
Breadboard, 400 Pin

Story

Read more

Schematics

Circuit Diagram

Its a showing of connection. Used chat gpt for the image. The hand written one is pretty not understandable

Code

Code

Arduino
const int trigPin = 8;
const int echoPin = 9;
const int in1 = 3;
const int in2 = 4;
const int enA = 5;

int motorSpeed = 220; // Adjust speed here (Max: 255)
long duration;
int distance;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(enA, OUTPUT);

  Serial.begin(9600);
}

void loop() {
  distance = getDistance();

  if (distance <= 20) {
    digitalWrite(in1, HIGH);
    digitalWrite(in2, LOW);
    analogWrite(enA, motorSpeed);
    Serial.println("Fan: Rotating");
  } else {
    digitalWrite(in1, LOW);
    digitalWrite(in2, LOW);
    analogWrite(enA, 0);
    Serial.println("Fan: Stopped");
  }

  delay(200);
}

int getDistance() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);
  return duration * 0.034 / 2;
}

Credits

Riku Lahkar
3 projects • 1 follower

Comments