Reza Amoudeh, Frank Cruz, Anh Thu Doan, Vanessa Fernandez
California State Polytechnic University, Pomona Electrical Engineering ECE 323L Instrumentation
Abstract—This document provides information on construction of a simple breathalyzer and how to use it. the

Keywords-breathalyzer; gas sensor; arduino; analog to digital conversion; BAC

B. Arduino Uno The voltage output is sent to a microprocessor for interpretation. This project used the Arduino Uno board shown in figure 2.

I. INTRODUCTION A breathalyzer is used to measure the amount of alcohol on one’s breath in order to determine what his or her blood alcohol content, or BAC, level is. This project uses a simple gas sensor and microprocessor to simulate a similar device. This paper will explore how each component works, the calibration process, and how BAC varies by the individual. It will also discuss probable errors and how to improve upon them. II. MATERIALS

Figure 2. Arduino Uno board

A. MQ-3 Gas Sensor The gas sensor used in this project is the MQ-3 gas sensor manufactured by Hanwei Electronics. The core of the sensor contains a ceramic tube that wraps around a heater coil. A semi-conductive layer of tin dioxide (SnO2) coats the tube. There is also a platinum electrode line that connects either side of the heater to the external pins, A and B. When the sensor is heated (i.e. a voltage is applied across the ceramic tube), the semi-conductor allows a current to flow through the electrode line. When the alcohol on one’s breath comes into contact with the core, the ethanol is burned into acetic acid resulting in a higher current, or voltage. This voltage from the sensor is the value of interest. Figure 1 shows a picture of the sensor as well as the pin diagram and connection configuration.

This board can be powered from a USB port on a laptop or from a wall outlet and has a built in analog to digital convertor. As the sensor runs on 5V, the board will read a value of 0 to 1023. The analog input value may be displayed however the user chooses to (e.g. LED, seven segment display, LCD). III. CALIBRATION In order for the sensor to operate correctly, it needs to be calibrated with a series resistor. Figure 3 shows the relationship between the amount of alcohol on the breath and the ratio between the sensor resistances at 0.04 mg/L and various concentrations of gases, respectively.

Figure 1. MQ-3 gas sensor

Although there are six pins, only four need to be used. The sensor requires a source voltage of 5V across the heater; the pins marked ‘H’. One of the pins adjacent to the positive voltage side should also be connected to 5V. The pin adjacent to the ground is connected to an analog input of a microprocessor as well as a resistance of some value determined during calibration.

Figure 3. Sensitivity characteristics of the MQ-3

9 45. The Arduino Uno board was programmed to read one digital value every second.17 0.20 4.53 0.12 0. The relationship between the amount of alcohol on the breath and BAC is shown in the following table. the digital value reached about 890.28 4.65 3. the sensor resistance is about 90kΩ.68 1.08 0.00 6. A.21 0.99 3.48 volts and the calculated Rs values from € Vsignal is determined by the voltage divider (1). The normalized values of the sensor resistance Rs is determined by the following equation. (Rs/R0) Rs (kΩ ) SENSOR CALIBRATION Vsignal (V) Digital value 0. According to [1].40 0. However. the signal voltage.10 1.34 4.00 1. A. (1) Using the source voltage of 4.0 35. a known value of breath alcohol content at 0.30 0.22 0.31 4.40 3. equation.3 7.86 0.54 1. B.00% BAC.0 4. the ratio Rs/Ro is 1 when the breath alcohol content is 0. Blood Alcohol Content (BAC) Breathalyzers determine the amount of alcohol on the breath.70 1. where (Rs/R0)max is 2: Rs = (Rs / R0 )* 90000 (Rs / R0 )max IV.36 0. TABLE I. Using all-purpose 70% alcohol.10 2. which was used as the maximum reading. which translates to a voltage of 1. TABLE II.00 8.08 893 889 884 877 859 841 818 748 697 632 Figure 5. Internal sensor resistance in series with 199kO With the sensor settled at a base digital value of 550. This was chosen to represent the base level of the sensor. and the corresponding digital values. The blue line reflects the calculations. € The tabulated results at various voltages are shown in table 1.00 0. 1 shot: 44mL).00 5.04 mg/L was not readily available to calibrate the sensor. the graph was reconstructed to determine the blood alcohol content. EXPERIMENTATION After connecting everything and preheating the sensor for over 24 hours for calibration.26 0. Results For each person’s results. at 0. Breath (mg/L) BREATH ALCOHOL CONTENT Blood (mg/L) BAC (%) to AN0 10. Each participant breathed on the alcohol sensor after each drink (1 beer: 355mL.2 13. the ratio of breath alcohol to blood alcohol is 1:2100. 4.79. Using MATLAB and tables I and II. Instead. a graph was constructed to show the relationship between the digital values and BAC levels as seen in figure 5. and the green line represents the best-fit line.0 90.14 0. the expected BAC level according to his or her weight and amount of drinks was identified with the corresponding digital value. These two values determined the range of the sensor readings.36 4.5 18. Each reading was carefully recorded for about 90 seconds at multiple times after each drink.05 0.0 63.02 Figure 4.50 1. Trendline of BAC levels and corresponding digital values . Vsignal = Vmax *199000 (199000 + Rs ) (2) The digital value is calculated with an analog to digital conversion. the breathalyzer was ready.According to the graph.40 2. Sensor Resistance The sensor outputs a voltage to the analog input port of the Arduino Uno board by means similar to a voltage divider as seen in fig.00 4.11 3.10 21000 16800 12600 8610 5250 3570 2100 840 462 210 2.7 9.40 0.21 0. while the blood alcohol content is a measure of alcohol in the blood.4 6.04 mg/L.

this breathalyzer works adequately.090 0. The ambient temperature also played a part in error contribution. Park. the participant’s alcohol level was expected to be higher.” Wikipedia.wikipedia."Sensor Workshop. Interpreting the results The graph easily shows that the higher the alcohol level on one’s breath.054 0. the LEDs were used to show the continuous readings of alcohol levels as well as the peak level. <http://sensorworkshop. Drinks Anh Thu (107 lbs) Digital BAC value Female Minh (99lbs) Digital BAC value VI. CONCLUSION The sensor may have been accurate in its reading of alcohol levels. 26 Nov. the expected value was read at a time closer to 10 seconds.132 0.d. Web. At room temperature.087>.040 0. V. ACKNOWLEDGMENT Thank you to all participants in testing the breathalyzer: Minh. "Sensor Workshop: Sensor Report . or the experimenter may not have interpreted the result correctly. digital value trend line was not linear. Also. Displaying the results In an attempt to display the results on 10 LEDs. We do not know how accurate this is.4mg/L level alcohol.017 0. Also.pdf>. we need a working indicator of BAC levels. N.MQ3 Gas sensor. it took much less time. That itself would also produce an error in calculations. However. about 5 seconds on average.sparkfun. The sensor read a value for each second. Most of the expected values were read within a 10 second timeframe.p. During experimentation.128 0. even in real breathalyzers.178 624 678 714 0. N."Sparkfun.d.058 657 702 757 780 0.030 0. 2011. 26 Nov. ERRORS One’s weight and amount of drinks do not affect the officer’s decision to arrest anyone whose alcohol level is over 0.14 695 751 785 807 0. so even opening a can of beer near it would set the sensor off..047 0. Instead. as we had assumed. If we know what we are looking for. Web. n. there were The sensor is highly sensitive to ethanol. TABLE III. Hong An. More importantly.160 0.268 696 759 791 0. we discovered that the BAC vs.html>.blogspot.p. a higher digital value will be read.120 C.049 0.217 0.088 0. We did not have this readily available. [3] . The results are shown in table III.. Web. so we used the graph provided by the data sheet to interpret the results. In converting the blood alcohol level to breath alcohol level. We observed that at cooler temperatures.08%. and Brian. as in this experiment. the sensor took a longer time to read the expected BAC level.n. each participant may have contributed some error by not blowing consistently. N. First. if one breathed on the sensor right after finishing a drink. Throughout the course of this experiment. while the true reading of the alcohol level may have been much more precise in much less than one second. 26 Nov. the pins on the sensor were not labeled.049 0. the digital value does not increase by much as the BAC levels increase. REFERENCES [1] [2] “Blood Alcohol Content. Firstly. Eun Jung.d. 2011. in the real world. <www. In those same readings. "Technical Data MQ-3 Gas Sensor. <http://en. however. there were many errors that we ran into. n. To improve this project. the gas sensor’s data sheet suggested we calibrate the sensor by heating it for at least 24 hours at a constant exposure to 0.p. 2011. we researched that it had a “generally accepted” 1:2100 ratio. there needs to be a way that a person’s alcohol level is read repeatedly so that his or her BAC can be accurately determined. TEST RSEULTS Male Hong An (115lbs) Digital BAC value Frank (192 lbs) Digital BAC value Brian (124lbs) Digital BAC value 1 2 3 4 5 6 692 756 787 800 820 729 0. but we cannot conclude that it was precise.

Sign up to vote on this title
UsefulNot useful