Arduino Security System

by ummm in Circuits > Arduino

54 Views, 0 Favorites, 0 Comments

Arduino Security System

Screenshot 2025-01-21 220357.png

This Arduino circuit will create a security system using an ultra sonic sensor to monitor the specific area. The system will have an ultra sonic sensor attached to a servo, moving across continuously while measuring the distance between the sensor and the objects in the area. If the sensor detects an objects that is too close, it will trigger a buzzer as well as an LED to notify the presence of the object. This security system is a simple and affective tool for basic perimeter monitoring.

Materials and Cost

IMG_2245.jpg

For this project, you need the following materials:


4x resistors: Three 330 Ω resistors ($0.87 each), One 10K resistor ($0.12 each)

1x Buzzer ($0.52)

2x LEDs ($0.28 each)

1x Pushbutton ($0.08 each)

1x Servo Motor ($4.95)

1x Arduino Uno ($19.95)

1x Ultra Sonic Sensor ($4.99)

1x Breadboard ($4.16)

Wires ($13.99)

Wiring

IMG_2224 (1).jpg
IMG_2227.jpg
IMG_2233.jpg
IMG_2237.jpg
IMG_2244.jpg

Buzzer = Pin 6

Red LED = Pin 7

Green LED = Pin 8

Pushbutton = Pin 4

Sensor Trigger Pin = Pin 9

Sensor Echo Pin = Pin 10

Servo Motor = Pin 5

Upload the Code

In this code, the servo motor will continuously rotate with the ultra sonic sensor attached to it. When the sensor is able to detect something that is too close, it will turn on the red LED and the buzzer, and make then continue to go off until the object that was detected has moved away. When the ultra sonic sensor is unable to detect anything, the green LED will stay on, only turning off when the sensor is able to detect an object. The button on this circuit automatically turns on the buzzer and the LED, having both turn on and off 3 times before stay on, when the button is pressed, the servo will stop moving as well as the ultra sonic sensor not controlling the buzzer and the LEDs.



#include <Servo.h>


Servo myServo;

const int servoPin = 5;

int pos = 0;


const int trigPin = 9;

const int echoPin = 10;

const int buzzer = 6;

const int ledPin = 7;

const int ledPin2 = 8;

const int buttonPin = 4;

int buttonState = 0;


// defines variables

long duration;

int distance;

int safetyDistance;


void setup() {

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

pinMode(buzzer, OUTPUT);

pinMode(ledPin, OUTPUT);

pinMode(ledPin2, OUTPUT);

pinMode(buttonPin, INPUT);


Serial.begin(9600); // Starts the serial communication

myServo.attach(servoPin);

myServo.write(pos);

}


void loop() {

for (pos = 0; pos <= 90; pos++) {

myServo.write(pos);

delay(15);

}

for (pos = 90; pos >= 0; pos--) {

myServo.write(pos);

delay(15);

buttonState = digitalRead(buttonPin); // Read the state of the button


if (buttonState == HIGH) {

// Flash LED 3 times when button is pressed

for (int i = 0; i < 3; i++) {

digitalWrite(ledPin, HIGH); // Turn on green LED

digitalWrite(buzzer, LOW); // Turn off buzzer

digitalWrite(ledPin2, LOW); // Turn off red LED

delay(500);

digitalWrite(ledPin, LOW); // Turn off green LED

digitalWrite(buzzer, HIGH); // Turn on buzzer

digitalWrite(ledPin2, LOW); // Turn off red LED

delay(500);

}


// Wait while the button is still pressed

while (digitalRead(buttonPin) == HIGH) {

digitalWrite(ledPin, HIGH); // Turn off green LED

digitalWrite(buzzer, LOW); // Turn on buzzer

digitalWrite(ledPin2, LOW); // Turn off red LED }

}

} else {

// If button is not pressed, measure the distance and control the buzzer and LEDs

// Clears the trigPin

digitalWrite(trigPin, LOW);

delayMicroseconds(2);


// Sets the trigPin on HIGH state for 10 microseconds

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);


// Read the echoPin, returns the sound wave travel time in microseconds

duration = pulseIn(echoPin, HIGH);


// Calculating the distance

distance = duration * 0.034 / 2;


safetyDistance = distance;

if (safetyDistance <= 20) {

// If distance is <= 20 cm

digitalWrite(buzzer, LOW); // Turn off buzzer

digitalWrite(ledPin, HIGH); // Turn on green LED

digitalWrite(ledPin2, LOW); // Turn off red LED

} else {

// If distance is greater than 20 cm

digitalWrite(buzzer, HIGH); // Turn on buzzer

digitalWrite(ledPin, LOW); // Turn off green LED

digitalWrite(ledPin2, HIGH); // Turn on red LED

}


// Prints the distance on the Serial Monitor

Serial.print("Distance: ");

Serial.println(distance);

}

}}

Downloads