Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

Alcohol Detection and Automatic Ignition Lock System to Check

Driving Under Influence (DUI)

Kshitij Kumar Singh Chauhan Pratyush Parashar Sanjam Kaur Bedi Aryaman
1st
Btech year, CSE 1st
Btech year, DSAI Btech 1st year, DSAI Btech 1st year, ECE
IIIT-NR, Chhattisgarh IIIT-NR, Chhattisgarh IIIT-NR, Chhattisgarh IIIT-NR, Chhattisgarh
imkshitijchauhan@gmail.com pratyush@gmail.com Sanjam@gmail.com aryaman@gmail.com

1. Abstract
Transportation being the backbone of Indian economy deserves security. Security not in
terms of resources only but also in terms of management and monitoring. Traditionally, for
any accident or crash, the major causes could be ‘driver/human’, ‘road infrastructure’ or
‘vehicle-related’ factors. Sometimes, there might be combinations of these factors which
might lead to accidents. Among these major factors, ‘driver/human’-related factors or
errors dominate, noteworthy among whom is DUI (Driving Under Influence). This paper
aims to check DUI using MQ3 Sensor and develop a subsequent methodology to prevent
accidents.

2. Introduction
The World Health Organisation (WHO) identifies drink driving as one of the leading
causes of accidents and deaths and one of the five key “risk factors” for deaths on the
world’s roads. Driving under the influence of alcohol, or drink-driving, is a key risk factor
for 27% of all road injuries. In 2015, according to the Ministry of Road Transport and
Highways, some 6,777 individuals in India lost their lives as a direct consequence of drink
driving [1]. An interpretation of facts indicates the need for real time monitoring of Blood
Alcohol Concentration (BAC) levels of drivers. The risk of being involved in a crash
increases significantly above a blood alcohol concentration (BAC) of 0.04 g/dl[2]. This
paper presents a prototype to check BAC levels of drivers in real time using MQ3 sensor
and turn the ignition off, if level is not found within permissible limits. An alert is also
triggered for the passengers using a buzzer.

1
3. Review of literature
Studies reveal that alcohol consumption, even at low doses, significantly affected driving-
related skills such as vision, braking behaviour, and vigilance. At the same time, drivers’
information process and attention were heavily affected by alcohol.
Drunk driving accidents have a higher fatality rate than other accidents, the NCRB data show.
Thus, as many as 42% of victims of drunk driving accidents ended up dead — a much higher
rate than the percentage of deaths in accidents caused by “over-speeding” (30%), “reckless
driving” (33%), and weather conditions (36%) [3]. There have been some researches about the
alcohol impairment and detailed characteristics of the impairment and driving performance at
different BAC levels. The result indicated that the accident rate was obviously of positive
correlation with drivers’ BAC levels.
An analysis of researches for requisite resolution allowed us to formulate a methodology that
may effectively deal with the limitations present in existing solutions. Following flaws were
rectified and an ameliorated design for prototype was reached.
Addressing the issue, mentioned paper [4] suggests the use of MQ2 sensor. Unreliability and
instability of MQ2 sensors may potentially trigger false alarms. We have used a more authentic
MQ3 sensor to serve the purpose.
Mentioned paper [5] suggested the use of smart helmets which limits its possible application to
two wheelers. We propose a more flexible and economical prototype.
Mentioned paper [6] uses expensive and obsolete PIC16F877A microcontroller. We have used
more advanced and economical Arduino UNO.

2
4. Research Methodology
This prototype that may conduct checks for BAC levels of drivers in real time. Recorded levels
are then compared with the permitted levels. An out-of-range BAC level indicates DUI and
turns the ignition off. Simultaneously, an alert is triggered through buzzer to seek vigilance
from people in close proximity.

4.1 Components and utilities


4.1.1 Implementation
I. Arduino UNO [Refer Appendix A for pin particulars]
Arduino Uno is a microcontroller board based on the ATmega328P. It has 14 digital
input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz quartz
crystal, a USB connection, a power jack, an ICSP header and a reset button.

Microcontroller ATmega328P
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limit) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
PWM Digital I/O Pins 6
Analog Input Pins 6
DC Current per I/O Pin 20 mA
DC Current for 3.3V Pin 50 mA
32 KB (Atmega328P)
Flash Memory
of which 0.5 KB used by bootloader
SRAM 2 KB (Atmega328P)
EEPROM 1 KB (Atmega328P)
Clock Speed 16 MHz
LED_BUILTIN 13
Length 68.6 mm
Width 53.4 mm
Weight 25 g
TABLE 1: Technical specs, Arduino UNO

3
II. MQ3 Sensor
MQ-3 module is suitable for detecting Alcohol, Benzine, CH4, Hexane, LPG, CO. Sensitive
material of MQ-3 gas sensor is SnO2, which with lower conductivity in clean air. When the
target alcohol gas exists, the sensor’s conductivity is higher along with the gas concentration
rising. MQ-3 gas sensor has high sensitivity to alcohol, and has good resistance to disturb of
gasoline, smoke and vapor.

Pin Name Description

VCC This pin powers the module, typically the operating voltage is +5V

GND Used to connect the module to system ground

Digital Out (DO) You can also use this sensor to get digital output from this pin, by setting a threshold value using

the potentiometer

Analog Out (AO) This pin outputs 0-5V analog voltage based on the intensity of the gas

TABLE 2: Specifications, MQ3 sensor

III. DC Motor
DC motor has been used as an indication of ignition system in the software simulation

IV. 16 *2 Alphanumeric LCD


LCD unit displays the status-at-moment during simulation of the prototype.

V. Buzzer
A DC operated buzzer has been used to alert people in proximity to the prototype. During
simulation, buzzer outputs via sound card.

VI. LED
LEDs have been used as indicators. Red LED serves as secondary alert signal, and turns on if
recorded BAC levels are found to be out of legitimate range. Green LED signifies in-limit
BAC level of driver.

4.1.2 Simulation
I. Language: C
II. Compiled using: Arduino IDE [Refer Appendix B for source code]
III. Simulation platform: Proteus Design Suite professional 8.11

4
4.2 Design
4.2.1 Block diagram

This diagram provides an indication of the flow of data among various units of the proposed
design. Microcontroller establishes the coordination among individual entities of the system
and drives the functionalities of prototype.

4.2.2 Algorithm

5
4.2.3 Schematic circuit design:

In this design;
A toggle switch has been used to simulate MQ3 sensor in accordance with following
postulations:
a. ‘0’ indicates that recorded BAC level is within pre-stated limits
b. ‘1’ indicates that recorded BAC level is not within pre-stated limits

Status of simulation is presented using LCD in accordance with following postulations:


a. ‘No Alcohol’ indicates that recorded BAC level is within pre-stated limits
b. ‘Alcohol detected’ indicates that recorded BAC level is not within pre-stated
limits

Buzzer has been connected via Low-frequency Low-power bipolar silicon NPN Transistor and
a 1000-ohm resistor (R4). This serves as primary alert indicator in accordance with following
postulations:
a. ‘No beep’ indicates that recorded BAC level is within pre-stated limits
b. ‘Beep alert’ indicates that recorded BAC level is not within pre-stated limits

6
LEDs have been connected via 220-ohm resistors (R2, R3), and serve as secondary alert
indicators in accordance with following considerations:
a. Green LED indicates that recorded BAC level is within pre-stated limits
b. Red LED indicates that recorded BAC level is not within pre-stated limits

A DC Motor has been used to simulate the ignition system. Simulation works in accordance
with following considerations:
a. Rotating motor indicates that ignition system is switched on
b. Still motor indicates that ignition system is switched off

4.3 Implementation
4.3.1. Case 1: Recorded BAC level is within pre-stated limits
I. Simulation result:

II. Inferences:
a. Status of simulation (as observed from LCD) : No Alcohol
b. Primary indicators (Buzzer): No beep alert
c. Secondary indicators (LEDs): Green LED glows in consistency with status of
simulation and primary indicators
d. Status of ignition system: Motor is rotating, thereby indicating ‘turned-on’ state of
ignition system
7
4.3.2. Case 2: Recorded BAC level is not within pre-stated limits
I. Simulation result:

II. Inferences:
a. Status of simulation (as observed from LCD): Alcohol detected
b. Primary indicators (Buzzer): Beep alert triggered
c. Secondary indicators (LEDs): Red LED glows in consistency with status of simulation
and primary indicators
d. Status of ignition system: Motor stops rotating, thereby indicating ‘turned-off’ state of
ignition system

Inferences from both the cases are in line with the objective of design and thereby
signify successful simulation of the prototype.

8
5. Financial overview
Unit production cost for the prototype is estimated to be Rs 1015. This cost will approximately
foreshorten to Rs. 700 in mass production. This prototype, thereby promises to provide an
economically viable resolution to the ever-concerning issue of road safety.

TABLE 3: Cost estimate of prototype design

6. Scope for applications:


Primary application of proposed prototype is in automobile sector to reinforce better measures
for Road safety at a considerable level of practical potential. However, flexibility of proposed
design enables it to be deployed in varying sectors with slight modifications
Some of the possible applications are:
• Monitoring workers in factories
• Random checks in institutes
• Surveying alcohol consumption

9
7. Conclusion and roadmap ahead

This prototype may be efficiently deployed to edge off accidents taking place due to DUI.
Simplicity of design allows for effective implementation of the proposed methodology.
Financial overview of the prototype confirms its economic viability.

Simulation of the design was promising and results obtained therein effectuate following
objectives:

• Real time check for BAC level of drivers


• Auto ignition-off system in case of DUI
• Buzzer alert to seek proximal vigilance

Fulfilment of these objectives will bring about an important resolution in Road safety.

In the roadmap ahead for this methodology, we propose to integrate this prototype with GSM
and GPS modules to enable the geo-tracking of vehicle in real time. This development in the
prototype will also allow for communication of alerts to people par proximity under
consideration in this paper.

8. Acknowledgment
We acknowledge the support and guidance provided by Dr Bipin Chandra Mandi, Assistant
Professor, Department of Electronics and Communication, International Institute Of
Information and Technology Naya Raipur.

10
9. References
[1] Drink-driving (who.int)
[2] PIB.gov.in (Press release)
[3] Road Traffic Accidents | National Health Portal Of India (nhp.gov.in)
[4] Babor, AUDIT: The alcohol use disorders identification Test: Guidelines for use in primary
health care. 1992, Geneva, Switzerland: World Health Organization.
[5] Cahalan,D., I. Cisin, and Crossley, American Drinking Practices: A National Study of Driving
Behaviour and Attitudes. 1969, Rutgers University Press: New Brunswick, NJ.
[6] Dhivya M and Kathiravan S, Dept. of ECE, Kalaignar Karunanidhi Institute of Technology-
Driver Authentication and Accident Avoidance System for Vehicles[Smart Computing Review,
vol. 5, no. 1, February 2015].

Appendix

A. Pin Mapping, ATmega168/328P-Arduino


Each of the 14 digital pins on the Uno can be used as an input or output,
using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 5 volts. Each pin
can provide or receive 20 mA as recommended operating condition and has an internal pull-up
resistor (disconnected by default) of 20-50k ohm. A maximum of 40mA is the value that must
not be exceeded on any I/O pin to avoid permanent damage to the microcontroller.

FIGURE 2: Pin Mapping Arduino UNO


11
B. Source code, microcontroller (Arduino UNO)

#include <LiquidCrystal.h>
#define gas_Pin 7
const int rs = 13, en = 12, d4 = 11, d5 = 10, d6 = 9, d7 = 8;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
int gas_value;
void setup(){
lcd.begin(16, 2);
pinMode(6, OUTPUT);
pinMode(1, OUTPUT);
}
void loop()
{
gas_value = digitalRead(gas_Pin);
if(gas_value == 1)
{
digitalWrite(6, LOW);
digitalWrite(0, HIGH);
digitalWrite(1, HIGH);
digitalWrite(2, LOW);
lcd.setCursor(0,1);
lcd.print("Alcohol Detected");
lcd.display();
}
else
{
digitalWrite(6, HIGH);
digitalWrite(0, LOW);

12
digitalWrite(1, LOW);
digitalWrite(2, HIGH);
lcd.setCursor(0,1);
lcd.print("No ALcohol");
lcd.display();
}
delay(1000);
lcd.clear();
}

13

You might also like