We will learn about the MQ3 Alcohol Sensor Module and how to use it with Arduino board. This sensor detects the presence and the concentration of alcohol present in the air. So, if you are planning to make your own breathalyzer to measure the amount of alcohol in the human body, the MQ3 alcohol sensor module is a great option.
Tag: Project 122a MQ3 Alcohol Sensor. Acoptex.lt
In this project, you needed these parts (Dear visitors. You can support our project buy clicking on the links of parts and buying them or donate us to keep this website alive. Thank you):
1. MQ3 Alcohol Sensor 1 pc
2. Jumper cables F-F 4 pcs
3. Arduino Nano and Mini-B USB cable 1 pc
Understanding the MQ3 Alchohol sensor module
MQ3 is one of the most commonly used sensors in the MQ sensor series. MQ-3 module is suitable for detecting Alcohol, Benzine, CH4, Hexane, LPG, CO. It is a Metal Oxide Semiconductor (MOS) type of sensor. Metal oxide sensors are also known as Chemiresistors, because sensing is based on the change of resistance of the sensing material when exposed to alcohol. So by placing it in a simple voltage divider network, alcohol concentrations can be detected.
It can detect Alcohol concentrations anywhere from 25 to 500 ppm.
When measuring gases, the term concentration is used to describe the amount of gas by volume in the air. The two most common units of measurement are parts-per-million, and percent concentration.
Parts-per-million (abbreviated ppm) is the ratio of one gas to another. For example, 500ppm of alcohol means that if you could count a million gas molecules, 500 of them would be of alcohol and 999500 molecules would be some other gases.
MQ3 is a heater-driven sensor. That’s why it is enclosed in two layers of fine stainless steel mesh called an Anti-explosion network. It ensures that heater element inside the sensor will not cause an explosion, as we are sensing flammable gas (alcohol).
It also provides protection for the sensor and filters out suspended particles so that only gaseous elements are able to pass inside the chamber.
This is what the sensor looks like when outer mesh is removed. The star-shaped structure is formed by the sensing element and six connecting legs that extend beyond the Bakelite base. Out of six, two leads (H) are responsible for heating the sensing element and are connected via a Nickel-Chromium coil ( a well known conductive alloy).
The remaining four leads (A & B) responsible for output signals are connected using Platinum Wires. These wires are connected to the body of the sensing element and convey small changes in the current that passes through the sensing element.
The tubular sensing element is made up of Aluminum Oxide (AL2O3) based ceramic and has a coating of Tin Dioxide (SnO2). The Tin Dioxide is the most important material being sensitive towards alcohol. However, the ceramic substrate only increases the heating efficiency and ensures that the sensor area is continuously heated to the working temperature.
- Sensor Type – Semiconductor
- Easy SIP header interface
- Compatible with most of the microcontrollers
- Low-power standby mode
- Requires heater voltage
- Good sensitivity to alcohol gas
- Fast response and High sensitivity
- Long life and low cost
- Requires simple Drive circuit
- Power requirements: 5 VDC @ ~165 mA (heater on) / ~60 mA (heater off)
- Current Consumption: 150mA
- DO output: TTL digital 0 and 1 ( 0.1 and 5V)
- AO output: 0.1- 0.3 V (relative to pollution), the maximum concentration of a voltage of about 4V
- Detecting Concentration: 0.05-10mg/L Alcohol
- Interface: 1 TTL compatible input (HSW), 1 TTL compatible output (ALR)
- Heater consumption: less than 750mW
- Operating temperature: 14 to 122 °F (-10 to 50°C)
- Load resistance: 200kΩ
- Sensitivity S: Rs(in air)/Rs(0.4mg/L Alcohol)≥5
- Sensing Resistance Rs: 2KΩ-20KΩ(in 0.4mg/l alcohol)
- Dimensions: 32 x 22 x 16 mm
You can find the datasheet here.
Applications of MQ-3 Gas Sensor
- Gas level over-limit alarm
- Portable alcohol detector
- Stand-alone/background sensing device
- Environmental monitoring equipment
MQ-3 Equivalent Sensors
MQ-2, MQ214 (detection of Methane), MQ303A
Alternative MQ-3 Gas Sensors
|Sensor Name||Gas to measure|
|MQ-2||Methane, Butane, LPG, Smoke|
|MQ-3||Alcohol, Ethanol, Smoke|
|MQ-4||Methane, CNG Gas|
|MQ-5||Natural gas, LPG|
|MQ-9||Carbon Monoxide, flammable gasses|
|MQ136||Hydrogen Sulphide gas|
|MQ138||Benzene, Toluene, Alcohol, Propane, Formaldehyde gas, Hydrogen|
|MQ214||Methane, Natural Gas|
|MQ216||Natural gas, Coal Gas|
|MQ303A||Alcohol, Ethanol, smoke|
|MQ309A||Carbon Monoxide, flammable gas|
How does it work?
Sensitive material of MQ-3 gas sensor is SnO2, which with lower conductivity in clean air. When the target alcohol gas exist, the sensor’s conductivity is more higher along with the gas concentration rising. MQ-3 gas sensor has high sensitity to Alcohol, and has good resistance to disturb of gasoline, smoke and vapor.
The analog output voltage provided by the sensor (at AO pin) varies in proportion to the alcohol concentration. The higher the alcohol concentration in the air, the higher the output voltage; Whereas lower concentration gives lower output voltage.
The same analog signal is fed to a LM393 High Precision Comparator to digitize it and is made available at the Digital Output (DO) pin.
There is a resistance across an A and B inside the sensor which varies on detection of alcohol. More the alcohol, the lower the resistance. The alcohol is measured by measuring this resistance. The sensor and load resistor form a voltage divider, and the lower the sensor resistance, the higher the voltage reading will be.
The module has a built-in potentiometer for adjusting the sensitivity of the digital output (DO). You can use it to set a threshold; so that when the alcohol concentration exceeds the threshold value, the module will output LOW otherwise HIGH. Rotate the knob clockwise to increase sensitivity and counterclockwise to decrease it.
This setup is very useful when you want to trigger an action when certain threshold is reached. For example, when the alcohol concentration in the breath exceed a threshold, you can tell if someone is drunk.
Structure and configuration of MQ-3 gas sensor is shown in the figure above for Configuration A or B, sensor composed by micro AL2O3 ceramic tube, Tin Dioxide (SnO2) sensitive layer, measuring electrode and heater are fixed into a crust made by plastic and stainless steel net. The heater provides necessary work conditions for work of sensitive components. The enveloped MQ-3 have 6 pin, 4 of them are used to fetch signals, and other 2 are used for providing heating current.
To get accurate readings from your alcohol sensor, it is recommended that you calibrate it first. You need to find out what values equate to specific percentages or even blood alcohol concentration in the case of a breathalyzer.
Use the below sketch to note what values your sensor outputs when you blow your breath on the sensor without consuming alcohol -vs- after consuming alcohol.
If you are not lawfully permitted to consume alcoholic beverages, use isopropyl alcohol bottle or any hand sanitizer bottle for your testing. Do NOT get the sensor wet with alcohol! Simply squeeze to breathe the vapors of the alcohol into the sensor and take your readings.
The module has a built-in potentiometer for calibrating the digital output (DO). By turning the knob of the potentiometer, you can set a threshold limit. So that when the alcohol concentration exceeds the threshold value, the Status LED will light up and the module will output HIGH.
Now to calibrate the sensor, blow your alcohol breath on the sensor or squeeze the isopropyl alcohol bottle to breathe the vapors of the alcohol into the sensor and adjust the pot clockwise so that the Status LED is ON and then adjust the pot back counterclockwise just until the LED goes OFF.
That’s it your MQ3 alcohol sensor is now calibrated and ready for use.
Understanding the Arduino Nano
You can read more about it here.
Signals and connections of the MQ3 gas sensor
- VCC – supply pin. Supplies power for the module. Connect it to 5V pin of your Arduino board.
- GND – ground pin. Connected to GND pin on Arduino board.
- DO – digital output pin. Provides a digital representation (0 or 1) of the presence of alcohol.
- AO – analog output pin. Provides analog output voltage (0-5V) in proportional to the concentration of alcohol.
Apart from this, the module has two LEDs. The Power LED will light up when the module is powered. The Status LED will light up when the digital output goes LOW.
|1||H -Pins||Out of the two H pins, one pin is connected to supply and the other to ground|
|2||A-Pins||The A pins and B pins are interchangeable. These pins will be tied to the Supply voltage.|
|3||B-Pins||The A pins and B pins are interchangeable. One pin will act as output while the other will be pulled to ground.|
Signals and connections of the Arduino Nano
You can read more about it here.
As you know that the MQ3 alcohol sensor module provides both analog and digital output, so first we will measure the alcohol concentration by reading the analog output.
1.Wiring using analog output
2. Wiring using digital output
We’ll use the circuit from the previous example. This time we just need to remove the connection to ADC pin (A0) and connect DO pin on the MQ3 alcohol sensor module to the digital pin D2 on the Arduino board.
Step by Step instruction
- First mount the sensor to a breadboard. Note that MQ3 is a heater-driven sensor. For accurate measurement, the sensor needs to be fully warmed up. The sample code above has a 20s warm-up, but increase the warm-up time to 24–48 hours for maximum accuracy.
- Do wiring.
- Open Arduino IDE.
- Plug your Arduino Nano board into your PC and select the correct board and com port
- Verify and upload sketch for analog output or sketch for digital output to your Arduino Nano.
- Open up Arduino IDE Serial monitor and set your baud to 9600 baud and select Newline.
- When you run the sketch, you’ll see the close to the following readings in the serial monitor: when there is no alcohol in the breath (~120), when there is alcohol in the breath (~500). Once you get a good handle on these readings, you can use them as threshold if you intend to trigger an action.
- If you use analog output of MQ3 sensor module, you should see below output on serial monitor:
9. If you use digital output of MQ3 sensor module,you should see below output on serial monitor:
You can define maximum values that you consider sober and drunk here:
#define Sober 120 #define Drunk 400
We have learnt about the MQ3 alcohol sensor module and how to use it with Arduino Nano.
Check for more DIY projects here.