actual_report_
actual_report_
actual_report_
Declaration
We hereby declare that the report of the proposed project entitled with “Accident Detection and
Alert System for Vehicles” which is being submitted to the department of Electrical and
Electronic Engineering:
I. The project submitted is our own original work while completing degree at Jatiya
Kabi Kazi Nazrul University.
II. The project does not contain material previously published or written by a third party,
expect where this is appropriately cited through full and accurate reference.
III. The Project does not contain material which has been accepted or submitted for any
other degree or diploma at a university or other institution.
IV. We have acknowledged all main sources of help.
1
Certificate of Approval
This Project titled “Accident Detection and Alert System for Vehicles” submitted by
has been accepted as satisfactory in partial fulfilment of the requirement for the degree of B.Sc.
in Electrical and Electronic Engineering on 11 December, 2024.
---------------------------------------------------------------------
Supervisor: Firoz Sarkar
Assistant Professor
2
Acknowledgement
This project marks the culmination of not only a dedicated research endeavor, but also an
invaluable journey of learning and personal growth. We embarked on this project as eager
learners,.
We express our deepest gratitude to our esteemed supervisor, Firoz Sarkar, Assistant Professor,
Department of Electrical and Electronic Engineering, Jatiya Kabi Kazi Nazrul Islam University.
His invaluable guidance, insightful feedback, and unwavering support throughout our proposed
project journey were instrumental in shaping this project. His patience and encouragement kept
us motivated during challenging moments. We sincerely thank him for being an exceptional
mentor and inspiring us to strive for excellence.
We are also grateful to our honorable teachers, for their insightful comments and suggestions
during the evaluation process help us to refine our work.
Finally, we would like to express our deepest gratitude to our families and to everyone who, in
any way, contributed to this project, we are sincerely grateful. This project is a testament to your
invaluable support and guidance.
3
Abstract
This abstract introduces a compact and versatile “Accident Detection and Alert System”
designed for detecting accidents in real-time and promptly alert emergency contacts, improving
response times and potentially saving lives. The system is built upon the Arduino platform,
leverages various sensors and communication modules, such as an accelerometer, GPS, GSM.
The core components include accelerometer monitors sudden changes in motion, which may
indicate an impact. When such an impact is detected, the system gathers the car's current location
from the GPS module and uses the GSM module to send an SMS alert with location details to a
predefined emergency contact. Additionally, an audible buzzer sounds immediately upon
detection, providing local notification of an incident. We need to use separate power source (i.e.,
battery) for operating this system independently from vehicle’s main power supply in case of
emergency. We also used a LCD to display the accident status and impact magnitude, providing
information directly to the vehicle occupants. Arduino acts as the brain of the plotter, executing
instructions received from all of the components. We need 5V adapter for powering arduino. For
user control, a manual reset button can cancel the alert if the situation is deemed safe. This
system is particularly valuable for remote or isolated areas where immediate assistance may be
limited, offering a reliable and automated means of accident detection and notification. Its
compact size makes it ideal for reliable & efficient operation.
Keywords: Accident detection & alert system, GSM module, GPS module, accelerometer, 5v
Adapter, audible buzzer, LCD display
4
Acknowledgement....................................................................................................3
Chapter 1...................................................................................................................9
INTRODUCTION....................................................................................................9
1.1 Introduction.....................................................................................................9
1.4 Objectives......................................................................................................12
Chapter 2.................................................................................................................15
THEORETICAL STUDY......................................................................................15
2.7 Accelaretometer.............................................................................................29
5
2.13 Buzzer................................................................................................................35
Chapter 3.................................................................................................................36
Chapter 4.................................................................................................................40
4.2 Simulation......................................................................................................44
Chapter 5.................................................................................................................48
5.2 Limitations.....................................................................................................49
Chapter 6.................................................................................................................52
6.1 Conclusion.....................................................................................................52
Apendix.....................................................................................................................56
6
List of Tables
Table 4.3-1....................................................................................................................45
7
List of Figures
8
Chapter 1
INTRODUCTION
1.1 Introduction
Introducing the Arduino-based “Accident Detection and Alert System”. Embark on a journey of
creativity and precision with our innovative project, seamlessly merging Arduino programming
prowess with the robust capabilities of the GPS & GSM modules. This “Accident Detection and
Alert System” is designed to detect impact. If an impact is detected, the buzzer is activated, and
GPS coordinates are fetched.
After a delay, the system automatically sends an alert SMS containing the GPS location and
makes a call to the emergency contact. The location is shared as a Google Maps link.
The system checks for incoming SMS messages and processes them. If a message from the
emergency contact contains the text "get gps," the system responds with the current GPS
location.
The heart of this project lies in the Arduino microcontroller, which serves as the brains
orchestrating intricate movements.
Whether you are a tech geek, or an entrepreneur in safety marketing, our Arduino-based
“Accident Detection and Alert System” offers a captivating fusion of technology and creativity.
If your goal is to create a safe driving environment, our project is a suitable choice. Welcome to a
world where Arduino meets artistry, where circuits converge with creativity, and where the
possibilities are as boundless as your imagination.
9
1.2 Accident detection & alert system
An Accident Detection and Alert System is a smart system designed to identify vehicle accidents
in real-time and immediately notify emergency services, authorities, or specified contacts. It
integrates sensors, communication modules, and algorithms to detect accidents based on
parameters like acceleration, force impact, and environmental data.
Carrying out an Accident Detection and Alert System project is valuable for several reasons, as it
addresses critical issues related to road safety, emergency response, and saving lives. Here are
the key reasons for undertaking such a project:
Road accidents often result in severe injuries or fatalities, especially if help is delayed.
An accident detection system ensures that emergency services are alerted promptly, increasing
the chances of survival for victims.
2. Minimizing Response
Traditional methods of reporting accidents may take time, especially in remote areas or when
witnesses are unavailable.
Automated systems can detect accidents instantly and alert authorities or loved ones,
significantly reducing response time.
10
3. Supporting Road Safety Initiatives
The system aligns with global efforts to reduce traffic-related deaths and injuries, such as the UN
Sustainable Development Goal 3.6 (reducing road traffic injuries and deaths by 50%).
In rural or isolated regions, it may take hours for accident victims to receive assistance.
A detection and alert system can bridge this gap, ensuring help is dispatched even in areas with
minimal human presence.
Incorporating accident detection systems in vehicles improves overall safety standards and
provides peace of mind to drivers and passengers.
11
1.4 Objectives
To develop the system capable of executing precise and accurate operation, ensuring that
it can replace intricate designs with a high degree of fidelity.
To design the system to work with various regions. Ensure that the machine is adaptable
to different media for diverse creative applications.
To implement an intuitive and user-friendly interface for controlling the Detection and
Alert System. Develop a straightforward system for users to cope with varying levels of
technical expertise.
To design the Detection and Alert System with scalability in mind, enabling the machine
to handle varying situations.
To facilitate seamless integration with Computer-Aided Design (CAD) software, enabling
users to create and export designs for the CNC plotter easily. This integration streamlines
the workflow and supports a broader range of design possibilities.
To optimize the systems speed and overall efficiency to minimize reaction time while
maintaining accuracy. Strive to strike a balance between speed and precision for optimal
performance.
To explore cost-effective materials and components for the construction of system
ensuring that the project remains accessible to a broad audience. Seek efficiency without
compromising on the quality and durability of the machine.
To develop educational resources and documentation to accompany project, facilitating
its use as a learning tool. Provide tutorials and guides to empower users with the
knowledge needed to operate and troubleshoot the machine.
To incorporate innovative features that go beyond basic plotting, such as the ability to
experiment with different pen types, colors, or even multiple pens simultaneously. Foster
creativity and exploration within the plotting process.
12
1.5 Advantage of this system
The Accident Detection and Alert System offers several advantages, particularly in improving
road safety and emergency response. Here are some of the key benefits:
The system ensures that emergency services are alerted immediately after an accident,
reducing response time and potentially saving lives. GPS integration provides precise
location details, helping responders reach the scene quickly.
Real-time detection and reporting of accidents help prevent further collisions in high-risk
areas. Drivers and passengers feel safer knowing they can receive help promptly in case
of an accident.
Automated accident detection eliminates the need for victims or bystanders to manually
call for help, which might not always be possible during critical situations.
The system provides detailed and accurate information about the location, time, and
severity of the accident, which can help emergency services prepare better.
Reduces Fatalities
By ensuring timely medical assistance, the system helps reduce the chances of fatalities
and severe injuries caused by delayed help.
Data collected by the system (e.g., accident location, speed, impact force) can be used for
investigating the causes of accidents and improving road infrastructure.
Cost-Effective Solution
13
Once implemented, it provides a reliable, automated, and low-cost method of accident
detection compared to manual systems.
It can be integrated with IoT devices, mobile apps, or vehicle systems for advanced
functionalities like real-time tracking and communication.
The system can be adapted for use in personal vehicles, public transport, or industrial
fleets, making it a versatile solution.
Governments and local authorities can use the system data to identify accident-prone
areas and take corrective measures, such as improving road conditions or implementing
stricter traffic laws.
Drivers and passengers feel more confident knowing that help will arrive quickly in case
of an emergency.
The remaining chapters of this report on result management system application are organized as
follows:
(Chapter-2) Literature Review: in this chapter, we discuss a few current systems relevant
to our application.
(Chapter-3) Methodology and Requirement analysis: it provides a detailed explanation of
every technology used to create this proposed application.
(Chapter-4) Results: this chapter represents the results obtained when we run our
application.
(Chapter-5) Conclusion and Future works: it contains overall information and some of
future scopes of our proposed project.
14
Chapter 2
THEORETICAL STUDY
Traditional accident detection and alert systems rely on manual intervention or basic
technologies to detect accidents and notify emergency services or contacts. These systems are
less automated compared to modern solutions and may involve direct user input or rudimentary
hardware to perform their functions. In older vehicles, accidents are often reported manually
through emergency call buttons or bystanders calling emergency services. Detection systems in
such setups may involve airbags deploying after a collision or simple mechanical triggers.
Basic sensors detect a sudden impact or deceleration caused by a collision. These sensors might
be part of the airbag system to trigger airbag deployment. Emergency Call Buttons (Manual
SOS) Installed in vehicles or mobile devices, these buttons allow the user to manually alert
emergency services in case of an accident. The user must be conscious and able to press the
button.
In some systems, a basic GPS module provides the location of the accident. This is often
combined with manual intervention for transmitting location data. Communication Module
includes basic mobile communication devices or built-in vehicle systems for sending alerts via
SMS or calls. Typically, users need to dial emergency services manually.
Audible alarms or visual signals are triggered to attract the attention of nearby individuals in case
of a crash.
2.1.1 Limitations
A traditional accident detection and alert system for vehicles typically relies on basic sensors
(like accelerometers), predefined thresholds for detecting accidents (e.g., sudden deceleration),
15
and communication methods (e.g., SMS or calls) to alert emergency services or contacts.
However, these systems have several limitations:
1. Inaccurate Detection
False Positives: Sudden braking or hitting a pothole may trigger the system, even when
no accident has occurred.
False Negatives: Minor but potentially harmful accidents (e.g., slow-speed collisions)
might not be detected if they don’t exceed preset thresholds.
Traditional systems are not equipped with AI or advanced algorithms to analyze data in
real time, which limits their ability to assess the severity of an accident or its context.
These systems focus solely on vehicle data (e.g., speed, impact force) and lack awareness
of external factors like road conditions, weather, or nearby vehicles, which could lead to
incomplete or inaccurate assessments.
4. No Preventive Measures
Traditional systems only respond after an accident has occurred; they don’t incorporate
advanced safety technologies like driver monitoring, collision prediction, or warning
systems to prevent accidents.
5. Delayed Alerts
If the communication network is weak (e.g., in rural or remote areas), alerts may be
delayed or fail to send entirely.
Many traditional systems do not integrate GPS, making it difficult for emergency
responders to locate the vehicle quickly after an accident.
16
Systems relying on accelerometers or gyroscopes can become inaccurate due to sensor
wear and tear, improper calibration, or mechanical failure.
Traditional systems do not leverage advanced technologies like IoT, cloud computing, or
connected vehicle networks, limiting their scalability and real-time coordination with
emergency services or other vehicles.
They don’t use cameras or vision-based systems to analyze the scene, making it difficult
to verify or confirm an accident.
Traditional systems do not provide features like guiding users on next steps, sharing
medical information, or coordinating with insurance companies.
An Accident Detection and Alert System for Vehicles is a technology-based solution designed to
enhance safety by detecting vehicle collisions or accidents in real-time and automatically alerting
emergency services or concerned parties. This system combines various sensors, algorithms, and
17
communication technologies to minimize response time in case of an accident, potentially saving
lives.
The heart of the system is its control unit, which interprets coded instructions (typically Arduino
code) to guide the machine's movements. When such an impact is detected, the system gathers
the car's current location from the GPS module and uses the GSM module to send an SMS alert
with location details to a predefined emergency contact. Additionally, an audible buzzer sounds
immediately upon detection, providing local notification of an incident.
The Arduino Uno is an open-source microcontroller designed for electronics projects. Powered
by the ATmega328P microcontroller, it offers 14 digital input/output pins, 6 analog inputs, USB
connectivity for programming, and versatile power options. With a 16 MHz clock speed, the Uno
is a user-friendly platform for developing interactive projects. It uses the Arduino Software
(IDE), based on C and C++, allowing users to write and upload code easily. Known for its
simplicity, the Uno is widely used in education and prototyping, fostering a robust community
that shares libraries and resources, making it accessible for both beginners and experienced
enthusiasts.
18
Figure 0-1: Arduino Uno
19
Figure 0- 2: Arduino Uno Pin Diagram
The digital pins on an Arduino board, such as the Arduino Uno, possess several key features:
5V Logic: The digital pins operate with 5-volt logic levels. This means that a HIGH signal
corresponds to 5 volts, while a LOW signal is near 0 volts.
3.3V Logic (Limited Support): While the primary logic level is 5V, some Arduino boards may
have limited support for 3.3V logic. However, caution is required as connecting 5V signals to a
3.3V pin without proper level shifting may damage components.
PWM Support (Pulse Width Modulation): Certain digital pins on an Arduino support PWM,
enabling the generation of analog-like signals. PWM is often used for tasks such as controlling
the brightness of LEDs or the speed of motors.
Interrupt Support: Some digital pins can be configured to trigger interrupts. Interrupts allow
the Arduino to respond to external events immediately, interrupting the normal flow of the
program to handle time-sensitive tasks.
20
Output Current: Each digital pin has a specified maximum current it can source or sink.
Exceeding this current limit can potentially damage the board or connected components. It's
crucial to consult the Arduino board's specifications to ensure safe usage.
An analog pin on an Arduino board is a specific input/output pin designed to handle analog
signals. Unlike digital pins that deal with discrete on/off (HIGH/LOW) signals, analog pins can
read a range of values between 0 and the reference voltage, typically 0 to 5 volts. The primary
function of analog pins is to interface with analog sensors, such as light sensors or
potentiometers, that provide variable voltage outputs corresponding to real-world conditions. The
Arduino's analog-to-digital converter (ADC) converts the analog voltage into a digital value that
the microcontroller can use for processing. The analogRead() function in the Arduino IDE is
commonly used to read and retrieve analog values from these pins.
Power Pin (Vin): The "Vin" pin, short for voltage in, allows you to supply an external voltage to
power the Arduino board. This voltage should be within the specified range (often 7-12V for an
Arduino Uno). The onboard voltage regulator regulates this input to the required 5V used by the
microcontroller and other components.
5V Pin: The "5V" pin provides a regulated 5-volt output, which can be used to power external
sensors, modules, or other components that require a 5V power source. It is regulated by the
onboard voltage regulator.
Ground Pins (GND): The "GND" pins are ground pins and serve as the reference point for
electrical circuits. There are usually multiple GND pins on an Arduino board to accommodate
various connections.
USB Port : Programming and Serial Communication: The primary purpose of the USB port is to
allow the Arduino board to be connected to a computer for programming and serial
communication. Using a USB cable, the Arduino can be programmed using the Arduino
Integrated Development Environment (IDE), and it can communicate with the computer over a
serial connection for tasks like sending and receiving data.
21
Power Supply: The USB port also serves as a power supply for the Arduino board. When
connected to a computer or a USB power source, the board can be powered through the USB
cable. The onboard voltage regulator ensures that the incoming voltage is regulated to the
required levels for the Arduino components to operate.
Serial Monitor: Through the USB connection, the Arduino IDE's Serial Monitor can be used to
monitor and debug the output of the Arduino. This is especially useful for troubleshooting and
understanding the behavior of the code running on the Arduino.
USB-to-Serial Conversion: The USB port is often associated with a USB-to-serial converter
chip on the Arduino board. This chip facilitates communication between the microcontroller on
the Arduino board and the computer over a USB connection.
Function: SDA is the pin used for bidirectional data transfer between devices connected on the
I2C bus. It carries data from one device to another.
Connection: Connect the SDA pin of the Arduino to the corresponding SDA pins of other I2C
devices on the bus.
Function: SCL is the pin responsible for carrying the clock signal that synchronizes the data
transfer between devices on the I2C bus.
Connection: Connect the SCL pin of the Arduino to the corresponding SCL pins of other I2C
devices on the bus.
When using the Wire library in the Arduino IDE to implement I2C communication, the Wire
library abstracts the low-level details of communication, making it easy to interface with I2C
devices. You can initiate communication by using functions like Wire.beginTransmission() to
start sending data and Wire.endTransmission() to complete the transmission.
22
It's important to note that the specific pins labeled SDA and SCL may vary depending on the
Arduino model. On an Arduino Uno, for example, A4 is used for SDA, and A5 is used for SCL.
On other Arduino boards or shields, the labels for SDA and SCL might be different, so always
refer to the documentation or labeling on your specific Arduino board.
The GPS module for Arduino is a device that enables an Arduino-based system to receive real-
time location data (latitude, longitude, altitude, and time) from Global Positioning System (GPS)
satellites. These modules typically use the NMEA protocol to communicate data to the Arduino,
which can then be processed and used for various applications like navigation, tracking,
mapping, or location-based services.
1. GPS Receiver: The core component of the module that receives signals from GPS
satellites orbiting the Earth. It calculates the position by triangulating the signals from
multiple satellites.
2. Antenna: A built-in or external antenna that helps in receiving GPS signals more
accurately. Some modules come with a ceramic antenna for compactness, while others
support external antennas for better signal reception.
23
3. Microcontroller (Inside the GPS Module): The onboard microcontroller decodes the
GPS signals and converts them into readable information, which is then transmitted to the
Arduino.
Basic Wiring:
1. VCC: Connect to the 5V or 3.3V pin of the Arduino (depending on the module's voltage
requirement).
3. TX (Transmit Pin): Connect to the Arduino's RX (receive) pin (usually pin 4 or 7).
4. RX (Receive Pin): If needed, connect to the Arduino's TX (transmit) pin, though many
GPS modules communicate in a one-way fashion.
24
2.5 GSM module
The GSM module of Arduino is a hardware component that enables an Arduino board to
communicate over a Global System for Mobile Communications (GSM) network. It allows the
Arduino to send and receive text messages (SMS), make and receive voice calls, and access the
internet using a cellular network.
Key Features:
o Operates on standard GSM bands (e.g., 850 MHz, 900 MHz, 1800 MHz, and
1900 MHz).
2. Basic Operations:
o Internet: Access data services like GPRS for lightweight internet tasks (e.g., IoT
communication).
Pin Configuration:
GND: Ground.
25
RX: Receive pin for receiving data.
26
2.6 LCD Display
The LCD display module in an Arduino project is used to visually display information, such as
text, numbers, or even custom characters. It provides a simple and effective way to communicate
with users by showing real-time data, system status, or instructions. Functions of an LCD
Display Module in Arduino:
1. Display Text:
o For example, in an accident detection system, it can display alerts like "Accident
Detected" or "Message Sent to Emergency Contact".
3. Debugging:
o Displays system states like "Initializing", "Waiting for Input", or "System Armed"
to inform the user about the system's current condition.
o LCDs can be programmed to show custom characters like degree symbols (°),
battery levels, or even simple graphics.
Connection to Arduino:
o Parallel Interface:
LCDs often use an HD44780 controller and require multiple pins for data
(D4-D7) and control (RS, E).
o I2C Interface:
An I2C adapter reduces pin usage to just two pins (SDA and SCL) for
communication, making it easier to integrate with the Arduino.
Power Supply:
Programming:
o Key commands:
28
Figure 2.6-1: LCD Display Pin Diagram
2.7 Accelaretometer
An accelerometer module in an Arduino project is used to measure acceleration, which is the rate
of change of velocity. It can also detect changes in orientation, tilt, vibration, and movement.
Accelerometers are widely used in embedded systems to sense motion or sudden impacts,
making them crucial for applications like accident detection, robotics, gaming, and wearable
devices.Functions of an Accelerometer Module in Arduino:
o Example: It can detect the force when the device moves forward, backward,
upward, or downward.
29
o Accelerometers can identify abrupt changes in acceleration caused by collisions
or accidents.
4. Measure Vibration:
5. Track Motion:
30
Figure 2.7-1: Accelerometer Pin Diagram
A push button is a simple switch mechanism for controlling electronic circuits. When pressed, it
allows current to flow between its terminals, and when released, it interrupts the flow. In an
Arduino project, a push button can be used for various purposes, such as starting/stopping a
process, toggling an LED, or incrementing a counter.
31
Figure 2.8-1 : push button
A Li-ion rechargeable battery is a great power source for Arduino projects due to its high energy
density, lightweight design, and rechargeable nature. A single-cell Li-ion battery typically
provides a nominal voltage of 3.7V and a fully charged voltage of 4.2V. Arduino boards like the
Uno require 5V. So, we need a voltage booster or connect multiple cells in series (e.g., 2 cells =
7.4V nominal).
Recommended Accessories
2. Charging Module:
3. Step-up Converter:
4. Step-down Converter:
o For a 7.4V battery, a buck converter (e.g., LM2596) can step it down to 5V.
32
5. Power Connectors: JST connectors are commonly used for Li-ion batteries.
o Use a boost converter to step up the voltage to 5V, then connect it to the Arduino's
5V pin or VIN pin (depending on the board).
A power supply is an electrical or electronic device that provides electric power to an electrical
load. The power supply takes electrical energy from a source, such as an electrical outlet or a
battery, and converts or regulates it to a form suitable for powering electronic devices or systems.
The primary purpose of a power supply is to deliver a stable and consistent voltage and current
to ensure the proper operation of the connected devices.
33
Many electronic devices, such as smartphones, tablets, and other peripherals, use a 5V DC power
supply through USB (Universal Serial Bus) connections.
Microcontrollers and single-board computers, like Arduino and Raspberry Pi, often operate on a
5V power supply. This voltage is commonly used to power these devices and their connected
sensors or modules.
A battery holder for Arduino is a device designed to securely hold and connect batteries to an
Arduino board or project. It provides a convenient way to power your Arduino when a USB or
external power supply is unavailable. Allows your Arduino project to be used in remote or
mobile setups where wired power isn't practical. It lets you select the type and size of batteries
that suit your project's power requirements. Protects the batteries and ensures proper alignment
of positive and negative terminals. Usually, in LiPo Battery Holders 3.7V per cell is used.
Multiple cells can be configured in series or parallel. It requires an additional circuitry (like a
boost converter) to step up the voltage to 5V or 7-12V for Arduino.
34
Figure 2.11- 1: Battery Holder
Male-to-male jumper wires are a type of connecting wire commonly used in electronics and
prototyping applications. These wires have a male connector (pin or plug) at each end, allowing
them to establish electrical connections between components or points on a breadboard. The
male connectors typically consist of metal pins that can be easily inserted into female headers or
receptacles.
35
2.13 Buzzer
A buzzer is an electronic device commonly used in Arduino projects to produce a sound or beep.
It is a small, affordable, and easy-to-use component, ideal for providing audible alerts,
notifications, or simple sound effects. A buzzer converts electrical signals into sound waves using
piezoelectric technology or electromagnetic principles.
36
Chapter 3
A conventional Accident Detection and Alert System for vehicles typically relies on a
combination of sensors, microcontrollers, and communication modules to detect collisions and
notify emergency services or designated contacts. These systems often use accelerometers and
gyroscopic sensors to measure sudden changes in velocity or orientation, which indicate a
possible accident. Once an impact is detected, the system processes the data through a
microcontroller and triggers an alert. Communication modules, such as GSM or GPS, then
transmit the location and accident details to emergency responders or predefined contacts. While
effective to some extent, these systems may lack advanced capabilities like real-time data
analysis, integration with smart devices, or the ability to differentiate between minor impacts and
severe collisions.
An automatic Arduino-based accident detection and alert system for vehicles is designed to
enhance road safety by promptly detecting accidents and notifying emergency services. This
system utilizes sensors like accelerometers, gyroscopes, and vibration sensors to monitor the
vehicle's motion and detect sudden impacts or rollovers. At the heart of this innovation is the
Arduino microcontroller, acting as the brains behind the operation, the Arduino processes the
sensor data and triggers an alert if sudden change in gyroscope accelarator takes place. A GPS
module determines the vehicle's location as it triggers on if arduino receives abnormal condition
of accearometer,gyroscope, while a GSM module sends an emergency alert message, including
the GPS coordinates, to predefined contacts such as family members or emergency services. The
system operates autonomously, ensuring immediate response even if passengers are unable to
37
seek help. This cost-effective and reliable solution aims to reduce response time during
emergencies, potentially saving lives.
This figure shows the proposed system having GPS,GPS module,accelarometer, LCD
displaypowered by Li-ion battery.
38
3.4 Flow chart
39
3.5 Placement of the sensors (Real Life Application)
40
Chapter 4
The Arduino Integrated Development Environment (IDE) is a software platform designed for
programming and developing applications for Arduino microcontroller boards. It provides a user-
friendly interface that simplifies the process of writing, compiling, and uploading code to
Arduino boards. Here are key aspects of the Arduino IDE is the Arduino IDE is open-source
software, which means its source code is freely available for users to view, modify, and
distribute. It is also cross-platform, running on Windows, macOS, and Linux, making it
accessible to a wide range of users.
The IDE features a simple yet powerful code editor with syntax highlighting and autocompletion,
aiding in the development of Arduino sketches (programs). It supports the C and C++
programming languages, providing a familiar environment for users with programming
experience.Arduino IDE offers a vast collection of pre-written code libraries that simplify the
implementation of various functions, such as interfacing with sensors, communication protocols,
and motor control. Users can easily incorporate these libraries into their projects.
The IDE includes a board manager that facilitates the installation of board support packages for
different Arduino-compatible microcontrollers. This allows users to seamlessly switch between
different Arduino boards, each tailored to specific applications.
The Serial Monitor is a crucial tool for debugging and monitoring the communication between
the Arduino board and the computer. It displays messages, sensor readings, and other data sent
through the serial port, aiding in the troubleshooting process.
41
Uploading code to an Arduino board is a straightforward process within the IDE. Users can
select the target board, specify communication parameters, and upload their sketches using a
single button, simplifying the deployment of code.
The Arduino IDE is supported by a vibrant and active community. Extensive documentation,
tutorials, and forums provide assistance to users at various skill levels, fostering collaboration
and knowledge sharing.
42
Overall, the Arduino IDE serves as a versatile and accessible platform for both beginners and
experienced developers to create a wide range of projects using Arduino microcontrollers.
4.1.2 Application
The Arduino Integrated Development Environment (IDE) is a versatile platform with several
features that simplify the process of programming and developing applications for Arduino
microcontroller boards. Here are key features of the Arduino IDE:
Code Editor: The IDE provides a user-friendly code editor with features like syntax
highlighting, auto-indentation, and autocompletion, making it easier for users to write and
edit their Arduino sketches.
Cross-Platform Compatibility: Arduino IDE is compatible with multiple operating
systems, including Windows, macOS, and Linux, ensuring broad accessibility for users
on different platforms.
Board Manager: The Board Manager allows users to install and manage board support
packages for various Arduino-compatible microcontrollers. It simplifies the process of
configuring the IDE for specific hardware, enabling users to work with different Arduino
boards seamlessly.
Library Manager: Arduino IDE includes a Library Manager, allowing users to easily
search, install, and manage libraries of pre-written code. These libraries cover a wide
range of functions, from sensor interfacing to communication protocols, facilitating code
reuse and accelerating development.
Serial Monitor: The Serial Monitor is a valuable tool for debugging and monitoring
communication between the Arduino board and the computer. It enables users to view
and analyze data transmitted through the serial port, aiding in troubleshooting and
verification.
Upload Functionality: Uploading code to Arduino boards is a straightforward process
within the IDE. Users can select the target board, specify communication parameters, and
upload their sketches with a single click, streamlining the deployment of code.
43
Examples and Tutorials: Arduino IDE includes a variety of built-in examples and
tutorials that serve as valuable resources for users, especially those new to Arduino
programming. These examples cover different aspects of programming, helping users
understand and implement various functionalities.
Integrated Text Console: The IDE includes an integrated text console that provides
feedback on the compilation and upload process. Users can quickly identify errors and
receive status updates during the development cycle.
Community Support: The Arduino IDE is supported by a vibrant and active community.
Users can access forums, documentation, and online resources to seek help, share
knowledge, and collaborate on projects.
Open Source: Arduino IDE is open-source software, allowing users to view, modify, and
distribute the source code. This openness fosters community contributions,
improvements, and customization of the IDE.
These features collectively make the Arduino IDE a powerful and accessible tool for developers
and hobbyists working on a diverse range of projects using Arduino microcontroller boards.
44
4.2 Simulation
At first give a name of the project and save it. Open Arduino IDE installed software.
45
Figure 0- 1: Arduino IDE Code
6 5v Dc Adapter 1 150
8 Battery Holder(2*18650) 1 50
47
Creating a mini CNC plotter with an Arduino Uno, GPS,GSM module, LCD Display, Buzzer
involves a combination of hardware connections and software programming. Below is a general
guide on how you can set up the circuit and explain its operation.
Arduino Uno: Connect the Arduino Uno to your computer using a USB cable.
GPS Module: Connect VCC (GPS) with 5V (Arduino),GND (GPS) with GND (Arduino), TX
(GPS) with RX (Arduino) (Digital Pin 10 if using SoftwareSerial) & RX (GPS) with TX
(Arduino)
GSM Module: Connect VCC (GSM) with 5V (Arduino), GND (GSM) with GND (Arduino),
TX (GSM) with RX (Arduino) (Digital Pin 9 if using SoftwareSerial), RX (GSM) with TX
(Arduino)
Accelerometer: Connect VCC (MPU6050) with 3.3V (Arduino), GND (MPU6050) with GND
(Arduino), SDA (MPU6050) with A4 (Arduino), SCL (MPU6050) with A5 (Arduino)
Power Supply: Provide an external power supply to the arduino if needed that is 5v 1Ampere.
Ensure it can handle the current requirements of your motors.
LCD Display: Connect VCC (LCD) with 5V (Arduino), GND (LCD) with GND (Arduino),
SDA (LCD) with A4 (Arduino), SCL (LCD) with A5 (Arduino)
Buzzer: Connect one terminal of the button with Digital Pin 2 (Arduino) and another terminal
with GND (through a pull-down resistor)
Push button: Connect one terminal of the button with Digital Pin 3 (Arduino) and another
terminal with GND (Arduino).
Arduino IDE: Install the Arduino IDE on your computer if you haven't already.
GPS, GSM control Code: Download the ‘TinyGPS++’ and ‘AltSerialh’ library by arduino IDE.
Copy the figure-20 program in the Arduino IDE.
48
4.4.3 Operation:
Upload Arduino Code: Upload the Arduino sketch to the Arduino Uno using the Arduino IDE.
Run Processing Code: Run the Processing3 sketch on your computer. This sketch should
establish a serial connection with the Arduino and send commands for drawing or plotting.
Chapter 5
49
RESULT AND PERFORMANCE ANALYSIS
5.1 Output
50
Figure 5.1 3: Output
5.2 Limitations
An automatic Arduino-based Accident Detection and Alert System for vehicles has several
advantages, but it also comes with certain limitations. Here are some of the key limitations:
1. Accuracy of Detection
False Positives: The system might detect accidents where none have occurred due to
sudden braking, potholes, or other sharp vehicle movements.
51
False Negatives: In certain scenarios, the system might fail to detect an accident, such as
low-impact collisions or slow-speed accidents.
2. Dependency on Sensors
Sensor Quality: The accuracy of the system heavily depends on the quality and
calibration of sensors like accelerometers, gyroscopes, and GPS modules. Poor-quality
sensors can lead to inaccurate reading.
Reliance on Network Connectivity: The system typically uses GSM or GPS modules for
communication. If the vehicle is in an area with poor or no network coverage, the alert
message may not be sent.
Dependence on Vehicle Battery: The system relies on the vehicle's battery for power. If
the battery is drained or damaged during an accident, the system may fail.
Standalone Backup: Without a reliable backup power source, the system becomes non-
functional if the primary power supply fails.
Manual Interference: Some systems may require manual acknowledgment for sending
alerts, leading to delays in case the driver/passenger is incapacitated.
Time Lag in Communication: Processing data and sending alerts via GSM or GPS
modules may involve delays, especially in areas with weak network signals.
52
6. Installation and Maintenance Challenges
Complex Installation: The system may require professional installation, which adds to the
overall cost.
Maintenance: Sensors, GSM, and GPS modules may require periodic maintenance or
replacement, increasing operational costs.
Retrofit Challenges: The system might not easily integrate with older vehicles or those
lacking electronic control units (ECUs).
8. Cost Limitations
Affordability: For budget vehicles, the additional cost of sensors, GSM modules, GPS
modules, and installation might make it less appealing.
Data Privacy: GPS tracking and communication systems can raise privacy concerns, as
location data might be exposed to unauthorized parties.
Misuse of Data: The system’s data could potentially be exploited if not secured proper
Single-Purpose System: Many Arduino-based systems are designed for specific tasks and
may lack the flexibility to integrate with more advanced features (e.g., AI-powered
analytics, traffic data integration, or V2X communication).
53
Chapter 6
6.1 Conclusion
The Accident Detection and Alert System for Vehicles is a revolutionary step toward
enhancing road safety and minimizing the consequences of road accidents. This system leverages
advanced technologies, including sensors, GPS, and communication networks, to promptly
detect accidents and send real-time alerts to emergency services, nearby vehicles, and pre-
registered contacts. By automatically analyzing parameters such as sudden deceleration, airbag
deployment, and vehicle impact, it ensures quick detection of crashes, even in remote locations
where immediate assistance may otherwise be unavailable. The inclusion of GPS technology
ensures accurate location tracking, which is crucial for reducing response times and improving
survival rates for accident victims. This system not only helps in providing timely aid to those
affected but also plays a vital role in alerting other drivers to potential hazards, thereby
preventing secondary accidents. Furthermore, its potential integration with smart vehicle
technology and traffic management systems underscores its value in fostering a safer and more
efficient transportation ecosystem. The project demonstrates how innovation in technology can
directly address critical societal issues, paving the way for a future where road safety is
significantly enhanced, and lives are saved through timely interventions. In conclusion, the
Accident Detection and Alert System is a testament to how proactive and automated solutions
can revolutionize road safety standards, making our roads safer for all users.
54
6.2 Future Work
Future upgrades for an Accident Detection and Alert System for Vehicles can greatly enhance its
capabilities, reliability, and adaptability to modern technologies. Here are some potential
upgrades:
Advanced sensor integration, such as LiDAR, radar, and ultrasonic sensors, to provide
highly accurate collision detection and avoidance capabilities.
Inclusion of thermal imaging sensors for improved detection of pedestrians and animals
in low-light or adverse weather conditions.
Connecting the system to the Internet of Things (IoT) to provide real-time updates about
road conditions, traffic patterns, and weather.
Integration with cloud platforms for storing and analyzing accident data for forensic and
insurance purposes.
55
4. Augmented Reality (AR) Warnings
Upgrading the alert system to include automated emergency calls with precise GPS
locations and accident details, even when the driver is unconscious.
Providing live-streaming video or photos from the accident site to emergency responders
for better preparedness.
Collecting and analyzing accident data using big data analytics to understand recurring
patterns and suggest safer driving practices.
Sharing anonymized data with urban planners and transportation authorities to improve
road safety infrastructure.
Enabling seamless integration with self-driving cars, enhancing their accident detection
and response systems.
Using shared data between autonomous and traditional vehicles for real-time hazard
detection.
56
8. Voice-Controlled Alerts
Providing real-time guidance on avoiding risky driving scenarios via virtual assistants.
Using low-power chips and energy-efficient hardware to minimize the system’s power
consumption.
Using blockchain technology to secure data related to accident events, ensuring tamper-
proof records for insurance and legal purposes.
By integrating these upgrades, the Accident Detection and Alert System for Vehicles can become
a holistic safety solution, significantly reducing the risk and impact of road accidents while
adapting to the evolving needs of smart vehicles and transportation ecosystems.
57
REFERENCES
[1] Rajat A., Sunil M., Priyanka S.2023. Smart Accident Detection and Emergency Notification
System with GPS and GSM Integration. International Journal of Recent Technology and
Engineering (IJRTE) ISSN: 2277-3878 (Online)
[2] Sagar Y. Kumbhar, Rushikesh Chavan, Sudesh Kalokhe, Rajvardhan Patil, 2024. Smart
Vehicle Accident Detection System Using GSM and GPS.
[3] Mr. Mane vijay, Mr. Zodage kedar, Ms. Lokare rutuja. 2024, Smart Accident Detection
System
[4] Amala James. Accident Detection And Reporting System Using GPS, GPRS And GSM
Technology
[5] Md. Maminul Islam, Md. Rabiul Hasan, Imran Chowdhury, Md. Towhid Chowdhury, Internet
of Car: Accident Sensing, Indication and Safety with Alert system
[7] Prof. Rameshwari M . Medhane, 2Pawar Rohini Mohan, 3Chaudhari Pankaj Ratan,
4Gaikwad Gaytri Digambar, 5Bhamare Lalit Nilesh,2023, Vehicle Accident Detection and Alert.
International Journal of Recent Technology and Engineering (IJRTE) ISSN: 2320-2882
[8] Muhammad Ahmad Baballe, Aminu Yau, Sirina Farouk Ibrahim, Abdulmuhamin
Muhammad, Najaatu Kabir Mustapha, Accident Detection System with GPS, GSM, and Buzzer
[9] Umakant Dinkar Butkar, Dr. Nisarg Gandhewar, 2022, Accident Detection and Alert System
(Current Location) Using Global Positioning System, Journal of Algebraic Statistics Volume 13,
No. 3, 2022, p. 241- 245
[10] T Kalyani, S Monika, B Naresh, Mahendra Vucha, Accident Detection and Alert System,
International Journal of Innovative Technology and Exploring Engineering (IJITEE) ISSN:
2278-3075, Volume-8 Issue-4S2 March, 2019
[11] K. Krishna Jyothi , G. Kalyani , G. Jhansi lakhsmi, Computer Vision Based Accident
Detection And Alert System, 2023 IJRTI | Volume 8, Issue 6 | ISSN: 2456-3315
58
[12] Saikiran, Akash Biradar, Saikiran Biradar, Suvarna, Dr. Dayanand Jamkhandikar, Automatic
Vehicle Accident Detection & Alerting System, MAY 2023 | IRE Journals | Volume 6 Issue 11 |
ISSN: 2456-8880
[13] Kethu Nikhil Kumar Reddy(1CR16CS071) Mada Nikshith Reddy (1CR16CS078) Mandali
Venkata Vamsidhar (1CR16CS080) Maria Rashmi.S(1CR16CS085), Accident Detection And
Alert System
[14] E. Annapoorna, T. Parthiv Patel, C. Praneeth, P. Jai Sanjay, Myasar Mundher adnan, Vijilius
Helena Raj, H Pal Thethi4 and Ravi Kalra, Sustained Approach for Accident Detection and
Rescue Alerting System, E3S Web of Conferences ICFTEST-2024
[15] Anitt Tony ,Athul Krishna, P Suresh ,Minnu Mariya Joy ,Neethu K.R ,Tony Thomas,
Intelligent Accident Detection System
59
Appendix
Arduino Code
#include<LiquidCrystal_I2C.h>
#include <AltSoftSerial.h>
#include <TinyGPS++.h>
#include <SoftwareSerial.h>
#include <math.h>
#include<Wire.h>
#define rxPin 2
#define txPin 3
SoftwareSerial sim800(rxPin,txPin);
//--------------------------------------------------------------
AltSoftSerial neogps;
60
TinyGPSPlus gps;
//--------------------------------------------------------------
String sms_status,sender_number,received_date,msg;
//--------------------------------------------------------------
#define BUZZER 12
#define BUTTON 11
//--------------------------------------------------------------
#define xPin A1
#define yPin A2
#define zPin A3
//--------------------------------------------------------------
byte updateflag;
int magnitude = 0;
double angle;
61
unsigned long time1;
void setup()
Serial.begin(9600);
sim800.begin(9600);
neogps.begin(9600);
pinMode(BUZZER, OUTPUT);
pinMode(BUTTON, INPUT_PULLUP);
lcd.init();
lcd.clear();
lcd.setCursor(0,0);
lcd.setCursor(0,1);
//--------------------------------------------------------------
sms_status = "";
sender_number="";
received_date="";
msg="";
62
//--------------------------------------------------------------
delay(1000);
sim800.println("ATE1"); //Echo ON
delay(1000);
delay(1000);
delay(1000);
delay(1000);
//--------------------------------------------------------------
time1 = micros();
xaxis = analogRead(xPin);
yaxis = analogRead(yPin);
63
zaxis = analogRead(zPin);
//--------------------------------------------------------------
void loop()
if(updateflag > 0)
updateflag=0;
Serial.println("Impact detected!!");
Serial.print("Magnitude:"); Serial.println(magnitude);
getGps();
digitalWrite(BUZZER, HIGH);
impact_detected = true;
impact_time = millis();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Crash Detected");
lcd.print("Magnitude:"+String(magnitude));
64
//--------------------------------------------------------------
if(impact_detected == true)
digitalWrite(BUZZER, LOW);
makeCall();
delay(1000);
sendAlert();
impact_detected = false;
impact_time = 0;
if(digitalRead(BUTTON) == LOW){
delay(200);
digitalWrite(BUZZER, LOW);
impact_detected = false;
impact_time = 0;
//--------------------------------------------------------------
while(sim800.available()){
parseData(sim800.readString());
65
}
//--------------------------------------------------------------
while(Serial.available()) {
sim800.println(Serial.readString());
void Impact()
//--------------------------------------------------------------
xaxis = analogRead(xPin);
yaxis = analogRead(yPin);
zaxis = analogRead(zPin);
//-------------------------------------------------------------
vibration--;
//--------------------------------------------------------------
66
deltx = xaxis - oldx;
updateflag=1;
vibration = devibrate;
else
magnitude=0;
Serial.println(buff);
index = buff.indexOf("\r");
buff.remove(0, index+2);
67
buff.trim();
if(buff != "OK"){
//--------------------------------------------------------------
index = buff.indexOf(":");
cmd.trim();
buff.remove(0, index+2);
//--------------------------------------------------------------
if(cmd == "+CMTI")
index = buff.indexOf(",");
sim800.println(temp);
//--------------------------------------------------------------
//extractSms(buff);
//Serial.println(buff.indexOf(EMERGENCY_PHONE));
68
buff.toLowerCase();
//Serial.println(buff.indexOf("get gps"));
getGps();
String sms_data;
sms_data += "http://maps.google.com/maps?q=loc:";
sendSms(sms_data);
//--------------------------------------------------------------
else{
void getGps()
69
// Can take up to 60 seconds
while (neogps.available()){
if (gps.encode(neogps.read())){
newData = true;
break;
newData = false;
else {
latitude = "";
longitude = "";
}
70
}
void sendAlert()
String sms_data;
sms_data += "http://maps.google.com/maps?q=loc:";
sendSms(sms_data);
void makeCall()
Serial.println("calling....");
sim800.println("ATD"+EMERGENCY_PHONE+";");
sim800.println("ATH");
//sms sending
//return;
71
sim800.print("AT+CMGF=1\r");
delay(1000);
sim800.print("AT+CSMP=17,167,0,0\r");
delay(100);
sim800.print("AT+CMGS=\"+8801716550035\"\r");
sim800.print(text);
delay(100);
sim800.print((char)26);
uint8_t x=0;
boolean answer=0;
String response;
sim800.println(at_command);
x = 0;
previous = millis();
do{
72
//if there are data in the UART input buffer, reads it and checks for the asnwer
if(sim800.available() != 0){
response += sim800.read();
x++;
answer = 1;
break;
Serial.println(response);
return answer;
73