0% found this document useful (0 votes)
17 views15 pages

Antisleepalarm 230417034941 79209def

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views15 pages

Antisleepalarm 230417034941 79209def

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

RAJKIYA

ENGINNERING
COLLEGE
SONBHADRA UN

ANTI SLEEP
ALARM
guidance
PK VERMA
PRESENTED BY:ADARSH SHUKLA

2
Content:

01 Introduction

02 Components Used

03 Circuit Diagram

04 Code
Introduction
╸ In modern-times, owing to hectic schedules it becomes very difficult to remain
active all the time. Imagine a situation where a person is driving home from work,
dead tired after facing all the challenges of the day. His hands are on the wheel
and foot on the pedal but suddenly he starts feeling drowsy, his eyes start
shutting and his vision blurs and before he knows it, he’s asleep. Falling asleep on
the wheel can lead to serious consequences, there may be accidents and people
may even lose their lives. This situation is much more common then we notice
and hence, it is very important to counter this problem. So to address this issue,
we have come up with a Driver Anti-sleep Alarm ⏰.

╸ This system Stops the user's car if he/she falls asleep at the wheel thereby, avoiding accidents
and saving lives. This system is useful, especially for people who travel long distances and people
who are driving late at night �.

4
COMPONENTS USED:
╸ Eye blink sensor
╸ Eye glass �
╸ Relay module
╸ Arduino nano
╸ 9V battery �
╸ Toy car remote
╸ Capacitor
╸ Wires

5
COMPONENTS USED:
╸ Ply board
╸ Gear motor with two tires
╸ Lock and key �
╸ Remote control car
╸ 5V relay
╸ 18650 battery �

6
CIRCUIT DIAGRAM:
Transmitter:

7
CIRCUIT DIAGRAM:
Receiver:

8
CODE:
#define Relay 13
#define buzzer A0
static const int sensorPin = 10;
// sensor input pin
int SensorStatePrevious = LOW;
// previousstate of the sensor

unsigned long minSensorDuration = 3000; // Time we


wait before the sensor active as long
unsigned long minSensorDuration2 = 4000;
unsigned long SensorLongMillis; //
Time in ms when the sensor was active
bool SensorStateLongTime = false; //
True if it is a long active

const int intervalSensor = 50;


// Time between two readings sensor state
unsigned long previousSensorMillis;
// Timestamp of the latest reading 9
unsigned long SensorOutDuration; //
Time the sensor is active in ms

//// GENERAL ////

unsigned long currentMillis; // Variabele to


store the number of milleseconds since the Arduino has
started

void setup() {
Serial.begin(9600); // Initialise
the serial monitor

pinMode(sensorPin, INPUT); // set sensorPin


as input
Serial.println("Press button");
pinMode(Relay,OUTPUT);
pinMode(buzzer,OUTPUT);
}

// Function for reading the sensor state


void readSensorState() {
10
// If the difference in time between the previous reading
is larger than intervalsensor
if(currentMillis - previousSensorMillis >
intervalSensor) {

// Read the digital value of the sensor (LOW/HIGH)


int SensorState = digitalRead(sensorPin);

// If the button has been active AND


// If the sensor wasn't activated before AND
// IF there was not already a measurement running to
determine how long the sensor has been activated
if (SensorState == LOW && SensorStatePrevious == HIGH
&& !SensorStateLongTime) {
SensorLongMillis = currentMillis;
SensorStatePrevious = LOW;

Serial.println("Button pressed");
}

// Calculate how long the sensor has been activated

11
SensorOutDuration = currentMillis -
SensorLongMillis;

// If the button is active AND


// If there is no measurement running to
determine how long the sensor is active AND
// If the time the sensor has been activated is
larger or equal to the time needed for a long active
if (SensorState == HIGH && !SensorStateLongTime
&& SensorOutDuration >= minSensorDuration) {
SensorStateLongTime = true;
digitalWrite(Relay,HIGH);
Serial.println("Button long pressed");
}
if (SensorState == HIGH && SensorStateLongTime
&& SensorOutDuration >= minSensorDuration2) {
SensorStateLongTime = true;
digitalWrite(buzzer,HIGH);
delay(1000);
Serial.println("Button long pressed");
}

12
// If the sensor is released AND
// If the sensor was activated before
if (SensorState == HIGH && SensorStatePrevious ==
LOW) {
SensorStatePrevious = HIGH;
SensorStateLongTime = false;
digitalWrite(Relay,LOW);
digitalWrite(buzzer,LOW);
Serial.println("Button released");

if(digitalRead(sensor)==0)
{
digitalWrite(13,LOW);
digitalWrite(motor,HIGH);
}
else
{
delay(3000);
digitalWrite(a0
,HIGH);
digitalWrite(motor,LOW);
13
}

// store the current timestamp in


previousSensorMillis
previousSensorMillis = currentMillis;

void loop() {

currentMillis = millis(); // store the current


time
readSensorState(); // read the sensor state

14
15

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy