Beruflich Dokumente
Kultur Dokumente
Research Article
Alcohol Detection of Drunk Drivers with Automatic Car Engine Locking System
Abstract
Background: This study proposed an efficient technique for eradicating the upsurge in the number of cases of roads
accidents caused by excessive intake of alcohol by drivers on the Nigerian roads.
Material and methods: This study developed a prototype alcohol detection and engine locking system by using an
Arduino Uno microcontroller interfaced with an alcohol sensor along with an LCD screen and a DC motor to demonstrate
the concept. The system uses MQ-3 alcohol sensor to continuously monitor the blood alcohol content (BAC) to detect the
existence of liquor in the exhalation of a driver. By placing the sensor on the steering wheel, our system has the capacity
to continuously check alcohol level from the driver’s breath. The ignition will fail to start if the sensors detects content of
alcohol in the driver’s breath. In case the driver got drunk while driving, the sensor will still detect alcohol in his breath
and stop the engine so that the car would not accelerate any further and the driver can park by the roadside.
Results: Results from testing the proposed system adequately matched the requirements for starting a car’s engine once
the level of alcohol detected in the breath of the driver is higher than the prescribed level permissible by law.
Conclusion: Experimental results show that the alcohol sensor was able to respond quickly when alcohol is detected and
also have the ability to operate over a period.
Keywords: MQ-3 Alcohol sensor, Arduino Uno ATmega328 microcontroller, Blood Alcohol Content (BAC), LCD.
Introduction
These days, majority of road accidents are caused by drink-driving. Drunken drivers are in an unstable condition and so,
rash decisions are made on the highway which endangers the lives of road users, the driver inclusive. The enormity of this
menace transcends race or boundary. In Nigeria, the problem is being tackled by issuing laws prohibiting the act of drivers
getting drunk before or while driving as well as delegating law enforcements agents to arrest and persecute culprits.
However, effective monitoring of drunken drivers is a challenge to the policemen and road safety officers. The reason for
this stems from the natural inability of human beings to be omnipresent as well as omniscience within the same space and
time. This limited ability of law enforcement agents undermines every manual effort aimed at curbing drink-driving.
The Nigerian Bureau of Statistics reported 11, 363 road accidents in 2016. Although the report stated speed violation as
the foremost cause of these accidents, it can safely be inferred that most of the cases would have been due to driver’s
unstable condition caused by drivers getting drunk before they drive. The investigation done by the World Health
Organization in 2008 shows that about 50%-60% of traffic accidents are related to drink-driving. More so, WHO data on
road traffic deaths revealed 1.25 million traffic deaths were recorded globally in 2013 with the low- and middle-income
countries having higher fatality rates per 100 000 population (24.1 and 18.4 respectively). Data collected showed that
67.2% of commercial vehicles drivers in Nigeria admitted to drinking alcohol during working days. This shows that most
drivers, especially commercial and heavy duty trucks drivers engage in drink-driving, which can lead to accident. Nigeria
sets a legal limit of 0.5 g/100mL blood alcohol concentration (BAC), any level above that is said to be illegal. In this
paper, the illegal limit is taken as 0.4. The BAC depicts the quantity of alcohol in a certain volume of blood. It is
measured as either grams of ethanol per deciliter of blood (g/fdl, commonly used in the United States), or milliliters of
blood, (mg/ml, used in much of Europe). For BAC level from 0.4 to 0.6, drivers feel dazed/confused or otherwise
disoriented, and it is generally not safe for a driver to drive a vehicle under such condition. Also, BAC level for 0.7 to 0.8
makes a driver’s mental, physical and sensory functions to be severely impaired. At this stage, a driver is inactive and
incapable of driving. BAC level of 0.2 to 0.3 is still not safe but the driver still has a little degree of self-control.
Our prototype system, integrates the following hardware components in the design: An LCD, the MQ-3 alcohol sensor,
DC motor, Buzzer and two LEDs are integrated to ATmega328 microcontroller. The proposed system was designed and
simulated using Proteus VSM simulator. The software code to be burnt into the Arduino board was written in Arduino
IDE sketch.
Many research efforts have been directed to the design of efficient systems that will monitor drink-driving. Altaf et al. [1]
proposed an alcohol detection and motor locking system. They used AT89S51 controller, MQ-3 alcohol sensor, and an
LCD to notify the occupiers of a car. The AT89S51 controller has an on-board flash memory which allows fast
development and reprogramming in a matter of seconds. Kousikan., Sundaraj [2] employed an infra-red (IR) alcohol
detection system to provide continuous monitoring of a driver’s BAC. An IR source LED-894 was used to direct IR
energy through an IR sensor (TSOP 1736) mounted on the steering wheel. The activation of the relay circuit is made
possible by an interface of IC-4538B and transistor-BC 547.
Pratiksha et al. [3] adopted the Arduino ATMEGA328 controller board interfaced with MQ-3 alcohol sensor module,
GPS, GSM, LCD and DC motor. The GPS module captures the location of a vehicle, and forwards it as a distress message
through the GSM module. The LCD acts as the display while the DC motor was employed as a model for specifying the
ability of the mechanism to lock the engine every time ethanol is sensed. Shaik et al. [4] proposed an automatic vehicle
engine locked control system using Virtual Instrumentation. The proposed system used LabVIEW to implement an
alcohol breath analyzer. The method used an Arduino as the control unit interfaced with MQ-3 sensor as a breathalyzer.
Other modules interfaced with the Arduino are buzzer, LED, LCD and DC motor. The LED and LCD served as the output
device. ZigBee, IoT and LabVIEW software are the other tools implemented. IoT enables E-mail to be sent to concerned
persons of arrested drunk suspects. Mandalkar et al. [5] proposed system included the use of a GPS for tracking the
vehicle’s location, heart pulse sensor to notify normal or abnormal condition of driver, and bumper switch to detect
collision of vehicle. Other functional modules interfaced to the ATmega328 controller are GSM, GPS, LCD, MQ-3
alcohol sensor, obstacle sensor, fuel blocker, alarm and relays. Bandi et al. [6] proposed system is based on ARM7
LPC2148 microcontroller which provides the continuous monitoring of a driver’s BAC. PAS 32U alcohol sensor was
utilized to continuously check the existence of liquor, while the Global Positioning System and Global System for Mobile
communication units send the place where the vehicle is situated via SMS.
Our proposed work consists of various units that make up the system: the power supply unit, the alcohol detection unit,
the engine locking unit, ignition system unit, display unit, alarm unit and indicating unit. An LCD display will be fitted
inside the car to act as an indicator to the motorist together with everyone in the vehicle. A DC motor is used as the car
engine to demonstrate the concept of engine locking. The ATmega328 microcontroller under the brand name of Arduino
Uno will be used to keep looking for the output from the alcohol sensor. The Arduino Uno sketch which is the
environment for programming is used to write the code, compile, generate hex file and load it to the microcontroller.
Block Diagram
The block diagram of the proposed system is shown in figure 1. It consists of power supply section, MQ-3 alcohol sensor,
DC motor, LCD, microcontroller, alarm and LEDs. The various units were designed and tested separately.
POWER SUPPLY
INDICATING
UNIT
DC
ATMEGA328 MOTOR (CAR
ENGINE)
IGNITION
SYSTEM
LCD
DISPLAY
Fig. 1: Block diagram of Alcohol detection of drunk drivers with automatic car engine locking system
The proposed system is built around ATmega328 Arduino Uno microcontroller board. The unit consists of 14
pins which allows inflow and outflow of feeding (it is possible to use 6 of those pins as Pulse Width Modulation
signal outputs), 6 continuous signal with time changing quantity, 16 megahertz electronic oscillator, a Universal
Serial Bus port, a power connector, an on-board voltage regulator, ICSP header, and a reset button. The
Atmega328 has 32 KB flash memory, 2 KB SRAM and 1 KB EEPROM.
The sensor is made of Tin Dioxide (SnO2 ) sensitive layer. The sensor is configured with a high sensitivity to
alcohol and small sensitivity to Benzene. It has a simple drive circuit with fast response, stability, and long life.
It has an analog interface type. On the sensor, port pins 1, 2 and 3 represents the output, GND and VCC
respectively. The technical specification of the sensor is portrayed in table 1.
Parameter Sensor type Detection Concentration Voltage Load Heater Sensing Slope Temp
Name gas resistance resistance resistance humidity
(R L ) (R H) (𝐑𝐬)
LCD display is used for displaying the message sent from the remote location. The LCD module (Fig. 5)
displays alphanumeric, kana (Japanese characters) and symbols. It consists of 16 pins (8 data lines, 3 control
lines, 2 power lines, 1 contrast line and 2 pins for back light LED connection). Data line and control line are
connected to the microcontroller. The LCD display power rating is as stated below:
The alarm unit used is a buzzer which indicates when alcohol is detected. The buzzer used belongs to the PS series. The
PS series are high-performance buzzers that employ Uni-morph piezoelectric elements and are designed for easy
incorporation into various circuits. They have very low power consumption in comparison to electromagnetic units. It has
a voltage requirement of 2V and is connected to pin 10 of the microcontroller. The standard resistor value of 220 Ω
DC Motor
The DC motor is an electric DC motor used to demonstrate the concept of engine locking. Here in this work, the DC
motor will be connected to pin 9 on the microcontroller, when alcohol is detected the DC motor stops in other to indicate
that alcohol is detected and continue running when there is no alcohol detected.
The flow chart of the system is shown in figure 6. The system algorithm comprises of three main steps. First is to boot up
the system, next is the measuring state, this stage measure the amount of alcohol level from the drivers. A prescribed set
limit will be given as input to the microcontroller, once the alcohol level exceeds the limit the car will not start.
NO
IS ALCOHOL
LEVEL ABOVE
LIMIT
YES
STOP
System Operation
The detected analog voltage values are read by the microcontroller; the Arduino Uno board contains 8 channels,
10-bit device that changes an analog voltage on a pin to a digital number. The system will link input voltages
from 0-5V with values from 0-1023V to generate 5Vs for every 1024 units. The system will process the analog
signal and convert it to digital value of 0 or 1. Also, the analog values from the alcohol sensor will be scaled to
percentage, and this percentage is equivalent to the analog voltage values in ppm (part per million). The first
condition is the intoxication stage; the second condition is the slightly drunk stage and the last stage is
Nova Journal of Engineering and Applied Sciences Page: 6
drunkenness stage. Each stage will be a condition to perform a task based on the level of alcohol. In the
intoxication stage, the LED indicator will be activated only, the alarm will be OFF and the car engine will be
ON. In stage two, the alarm and the green LED indicator will be ON, as well as the car engine. Finally, the
driver is mentally and physically inactive in stage three, so the engine will be OFF while the alarm and red LED
will be ON. Therefore, once the system detect alcohol in stage three the car will be stopped and the driver can
park by the roadside.
Software Implementation
The software design consists of a free running program which manipulates input from the Alcohol sensor and
programming of the indicating unit, LCD display, DC motor, alarm unit. The program code is written on
Arduino sketch and uploaded to ATMEGA328 microcontroller program memory using Arduino Uno
development board. The hex file is generated using the Arduino sketch IDE environment. Figure 7 shows the
device programming used for this research.
After generating the hex file from the Arduino sketch environment, the hex file was copied from the Arduino
file directory and linked to the Proteus for simulation. Each unit was also tested to ensure continuity and
efficiency in the components before soldering. Figure 14 shows the full simulation design of our proposed
system. Also, the location of hex file is depicted in figure 13.
• Indicating unit
Two LEDs with different colors are used. The green LED indicate when the engine is running and also
notify the driver that his alcohol level is below the limit, and the other red LED indicate when there is
alcohol detected and also when the engine is not running. This unit is depicted in figure 8.
The circuit diagram of our proposed alcohol detection system is in figure 14 below.
Results
The results of our experiments are presented in figures 15, 16, 17 and 18. Tables 2, 3 and 4.
Normal 16 20 24 26 27 30 35 40
Sensor
Readings
Experimental 17 23 26 28 30 34 37 41
Readings
0 0 0
0.5 100 10
1 200 20
1.5 300 30
2 400 40
2.5 500 50
3 600 60
3.5 700 70
4 800 80
4.5 900 90
5 1000 100
LEVEL OF DRUNKNESS
The graph in figure 16 shows the output voltages for alcohol detection in ppm obtained with the help of the
above readings for different alcohol content samples. The response of the different samples is in parts per
million (PPM) vs Alcohol Sensor Operating voltages in Volt.
Fig. 16: Response of ppm (In Percentage) via alcohol sensor output voltages value
Figure 17 shows the graph of the voltage level at which the detection point takes effect. At 2V the car engine
stops running and continues running once the alcohol level falls below 2V.
1.5
(60%-70%)Alcohol
1 (40-50%)Alcohol
(20%-30%) Alcohol
0.5
(0%-10%)alcohol
0
1 2 3 4 5 6 7 8 9 10 11 12
PPM
The detection limit at which the sensor detects Alcohol from the driver is depicted in figure 18.
Discussion
We tested the sensor’s accuracy using a deodorant perfume to simulate its response to alcohol concentration level. To
verify the functionality of our system, we employed breadboard, digital multimeter, LEDs, Arduino sketch IDE, and
Proteus VSM software. The final bread boarding of the entire system is shown in figure 15.
Accuracy is the measurement of an instrument to give equivalent value to the true value or the quantity being
measured. The accuracy can be related to the percentage error as
From the experimental results obtained as shown in table 5, Total percentage error for the whole table =
45%. Therefore, Overall percentage error = Total percentage /total sample reading = 45/20 = 2.25%. The
average accuracy of the alcohol sensor used is obtained as Ave % accuracy = 100 − 2.25% = 97.75 %.
Thus, our calculation above shows that the alcohol sensor is 97.75% accurate.
Table 3 shows the alcohol levels in ppm, voltage and percentage. The values in ppm correspond to the voltage
and percentage. Our system displays the percentage alcohol level to the driver. The ppm values are the
concentration level, that is, BAC level. The voltage values increase or decreases based on the resistance of the
alcohol sensor. Using this table, the locking concept was achieved by programming instruction to the
microcontroller to lock the car engine when the alcohol sensor reading is above 40%. The microcontroller uses
the analog voltage values coming from the sensor to determine whether the sensor reading is above the set limit.
In essence, once the microcontroller receives analog value above 2V, it automatically compares it with the
preset limit, if it is not the same the engine will stop.
Experimental results were obtained based on the three pre-designated conditions for drunk driving. In
intoxication stage, the car engine will be running as the driver can still control himself. Also in the slightly
drunk state, the system will still allow the engine to run. Finally, in the drunken state, the driver will lose
stability and cannot make decisions. In that case, the engine automatically locks off. Table 4 shows the level of
drunkenness.
Conclusions
In this paper, we proposed a method to sense the presence of alcohol from the breath of drivers and curtail the
catastrophic effects it can have on peoples’ lives. The system was designed and implemented successfully via
the use of Arduino Uno ATMEGA328 microcontroller and MQ-3 sensor. Experimental evaluation of the
system showed that the alcohol sensor was able to deliver fast response when alcohol is detected. Also, the
ability of the alcohol sensor to operate over a long time is a feature of the proposed system.
References
1. Altaf SV, Abhinay S, Ansari E, Kaunain Md, Anwer R. Alcohol Detection and Motor Locking System.
International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering.
2017; 6(2): 989-993.
2. Kousikan M, Sundaraj M. Automatic Drunken Drive Prevention System. International Journal of
Students Research in Technology and Management. 2014; 2(2): 75-77.
3. Bhuta P, Desai K, Keni A. Alcohol Detection and Vehicle Controlling. International Journal of
Engineering Trends and Applications. 2015; 2(2): 92-97.
4. Shafi S., Tanmay NTS, Tarunya D, Vinay G, Reena K. Automatic Vehicle Engine Locking Control
System to Prevent Drunken Driving using Virtual Instrumentation. International Journal of Engineering
and Technical Research. 2016; 5(1):76-79.
5. Mandalkar RB, Pandore RN, Shinde MB, Godse VD. Alcohol Detection and Accident Avoidance using
Locking with Tracking. International Journal of Advanced Research in Computer Science and
Management Studies. 2015; 3(9): 142-147.
6. Geeta BS, Marur DR. Smart Drunken Driver Detection and Speed Monitoring System for Vehicles.
International Journal of Advanced Technology in Engineering and Science. 2015; 3(3):67-74.
7. Prashanth KP, Padiyar K, Naveen KPH, Kumar KS. Road Accident Avoiding System using Drunken
Sensing Technique. International Journal of Engineering Research and Technology. 2014; 3(10): 818-
823.
8. Shah S, Nawgaje DD. ARM Based Drunk Driver Identification with Tracking System. International
Journal of Modern Trends in Engineering and Research. 2016; 3(4): 302-307.