Skip to content

About

Embedded Security and Surveillance System

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Embedded Security and Surveillance System

An object-oriented security system developed for the Maker Uno (ATmega328P) platform using C++ and PlatformIO. The project implements a modular architecture to manage sensor data, user authentication, and multi-axis hardware control.

Project Overview

The system serves as a programmable security node with two primary modes of operation:

  1. Automated Security Mode: Utilizes an ultrasonic sensor mounted on a servo-driven platform to monitor the environment. Upon detection of an intruder, the system triggers an alarm state that requires RFID-based authorization to disarm.
  2. Manual Mode: Allows the user to take direct control of the scanning peripherals and servo positioning using an analog joystick.

The project is designed with extensibility in mind, featuring a dedicated communication layer for remote management via Bluetooth.

Technical Stack

  • Language: C++ (Object-Oriented)
  • Framework: Arduino / PlatformIO
  • Hardware: Maker Uno, HC-SR04 Ultrasonic Sensor, MFRC522 RFID Reader, Analog Joystick, SG90/MG90S Servo Motors
  • Planned Interfaces: Bluetooth (HC-05/06), I2C OLED Display

Software Architecture

The codebase follows a modular "Handler" design pattern to ensure separation of concerns and maintainability.

Hardware Abstraction Layer

  • ServoHandler: Manages PWM signals for precise angular positioning, including angle constraints and movement smoothing.
  • JoystickHandler: Processes analog inputs, manages deadzones, and maps coordinates for manual servo and system control.
  • SonarHandler: Implements non-blocking distance measurement and basic signal filtering.
  • RFIDReader: Manages SPI communication with the RC522 module and handles UID validation logic.

Logic Layer

  • ScannerHandler: Located in the /logic directory; this class orchestrates the interaction between the ServoHandler and SonarHandler to perform environment sweeps and manages the global state machine (Idle, Armed, Alarm, Manual).

Development Roadmap (In Progress)

The project is currently under active development. The following features are planned for future releases:

  • Bluetooth Connectivity: Implementation of a serial protocol for telemetry and remote command execution.
  • Cross-Platform Control App: A desktop application built with C++ and the Qt framework for real-time monitoring and manual override.
  • Visual Feedback: Integration of an I2C OLED or LCD screen for system status and diagnostic data.
  • Mobile Support: Exploration of a mobile client for remote alerts.

Installation and Build

To build this project locally, ensure you have the PlatformIO Core or VS Code extension installed.

  1. Clone the repository:
    git clone [https://github.com/your-username/repository-name.git](https://github.com/your-username/repository-name.git)

About

Embedded Security and Surveillance System

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages