Yarana Iot Guru
Published © MIT

Air Defense System – DIY Arduino Project

Build your own DIY Air Defense System using Arduino, ultrasonic sensor, and servo motors — detect & track objects automatically! ⚙️

BeginnerFull instructions provided8 hours176
Air Defense System – DIY Arduino Project

Things used in this project

Software apps and online services

Arduino IDE
Arduino IDE

Story

Read more

Code

💻 Arduino Code

C/C++
#include <Servo.h>

Servo servo;
const int trigPin = 9;
const int echoPin = 8;
const int buzzer = 5;
const int redLED = 6;
const int greenLED = 7;

long duration;
int distance;

void setup() {
  Serial.begin(9600);
  servo.attach(10);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(buzzer, OUTPUT);
  pinMode(redLED, OUTPUT);
  pinMode(greenLED, OUTPUT);
  Serial.println("Air Defense System Initialized...");
}

void loop() {
  for (int pos = 0; pos <= 180; pos += 10) {
    servo.write(pos);
    distance = getDistance();
    Serial.print("Angle: "); Serial.print(pos);
    Serial.print("°  Distance: "); Serial.print(distance); Serial.println(" cm");

    if (distance < 15 && distance > 0) {
      digitalWrite(redLED, HIGH);
      digitalWrite(buzzer, HIGH);
      digitalWrite(greenLED, LOW);
    } else {
      digitalWrite(redLED, LOW);
      digitalWrite(buzzer, LOW);
      digitalWrite(greenLED, HIGH);
    }
    delay(200);
  }
  for (int pos = 180; pos >= 0; pos -= 10) {
    servo.write(pos);
    distance = getDistance();
    Serial.print("Angle: "); Serial.print(pos);
    Serial.print("°  Distance: "); Serial.print(distance); Serial.println(" cm");

    if (distance < 15 && distance > 0) {
      digitalWrite(redLED, HIGH);
      digitalWrite(buzzer, HIGH);
      digitalWrite(greenLED, LOW);
    } else {
      digitalWrite(redLED, LOW);
      digitalWrite(buzzer, LOW);
      digitalWrite(greenLED, HIGH);
    }
    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

Yarana Iot Guru
38 projects • 11 followers
Yarana Iot Guru Yarana IoT Guru: Arduino, ESP32, GSM, NodeMCU & more. Projects, Tutorials & App Development. Innovate with us!
Thanks to YaranaIoT Guru.

Comments