MQ-3 Gas Sensor

From Waveshare Wiki
Jump to: navigation, search
MQ-3 Gas Sensor
MQ-3-Gas-Sensor

MQ-3 Gas Sensor
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

{{{name6}}}

Overview

The gas sensing material used in the MQ-3 gas sensor is tin dioxide (SnO2), which has a low conductivity in clean air. When there is alcohol vapor in the environment where the sensor is located, the conductivity of the sensor increases with the increase in the concentration of alcohol vapor in the air.

Features

  • Sensitive for alcohol, ethanol
  • Output voltage boosts along with the concentration of the measured gases increases
  • Fast response and recovery
  • Adjustable sensitivity
  • Signal output indicator

Specification

  • Power: 2.5V ~ 5.0V
  • Dimension: 40.0mm * 21.0mm
  • Mounting holes size: 2.0mm

Pinouts

PIN Description
DOUT Digital data output
AOUT Analog data output
GND Ground
VCC Power input (2.5V~5.0V)

Configure Pico

MicroPython and C examples are provided for this sensor, to use it with Pico, you need to first flash firmware to the Pico according to the example.
Please refer to the guides of Raspberry Pi about how to flash the firmware. We recommend you use the firmware from the Demo codes archive.

Hardware connection

Hardware Connection-Pico
MQ-3 Pico Description
VCC 3.3V Power input
GND GND Ground
AOUT GP26 Analog data output
DOUT GP22 Digital data output

Examples

Download the example

Open the terminal of Raspberry Pi and run the following command to download the example:

sudo apt-get install p7zip-full
cd ~
sudo wget  https://files.waveshare.com/upload/1/13/MQ-3-Gas-Sensor-code.7z
7z x MQ-3-Gas-Sensor-code.7z -o./MQ-3-Gas-Sensor-code
cd ~/MQ-3-Gas-Sensor-code
cd Pico/c/build/

C

Here we use the Raspberry Pi board to flashing the Pico.

  • Compile the c examples
    • Go into the directory of C examples
cd ~/MQ-3-Gas-Sensor-code/Pico/c/
  • Go into the build folder and add the sdk; ../../pico-sdk is the path of the SDK, if may be different if you have saved the SDK in other path.
cd build
export PICO_SDK_PATH=../../pico-sdk
  • Generate Makefile by cmake command
cmake ..
  • Compile the codes by command make
make -j9
Note: If you use Pi zero, please run make only.
  • After compiling, a uf2 file is generated.
    • Hold the button of Pico board, connect the Pico board to Raspberry Pi by USB cable
    • After connecting, release the button and a portable disk (RPI_RP2) is recognized.
    • Copy the main.uf2 file generated which locates in build folder to the portable disk (RPI-RP2)
cp main.uf2 /media/pi/RPI-RP2/

Python examples

In windows PC
  • Hold the BOOTSET button of the PICO board, connect the Pico board to Raspberry Pi by USB cable
    • After connecting, release the button and a portable disk (RPI-RP2) is recognized.
  • Copy the rp2-pico-20210418-v1.15.uf2 file to the portable disk (RPI-RP2).
  • Open the Thonny IDE (Please install the newest version which supports Pico board or update).
  • Choose Tools -> Options ->Interpreter, choose the Pico and the port
Pico-lcd-0.96-img-config.png
  • Download the demo codes, unzip and find the MicroPython example
  • Choose File -> Open -> MQ3 Gas Sensor.py and run it.
Pico-lcd-0.96-img-run.png
In Raspberry Pi
  • Flash the uf2 file to the Pico board just like in the Windows PC
  • Open the Thonny IDE of Pi, make sure that it is the newest version, or update it.
  • Choose Tools -> Options... -> Interpreter
    • Choose Pico and the Port
Pico-lcd-0.96-img-config2.png
  • If your Thonny IDE cannot support the Pico board, you can update it and try again.
sudo apt upgrade thonny
  • Choose File -> Open... -> python/MQ3 Gas Sensor.py and run it.

Expected result

  • The sensor needs to preheat for about a minute to heat the internal sensitive materials of the sensor.
  • Put the sensor inside the device containing sensitive gas, and the indicator on the module lights up. The indicator goes off when the sensor is removed from the device.

The examples provided are based on the STM32F103RBT6 and the STM32H743, the connection provided is based on the STM32F103RB.
If you want to use other STM32 boards, please change the connection and you may need to port the codes yourself.

STM32

Hardware connection

Hardware connection-STM32
Connect to STM32F103RBT6
MQ3 STM32 Description
VCC 3.3V Power input
GND GND Ground
AOUT PA6 Analog data output
DOUT PA4 Digital data output

Examples

The examples are based on the HAL library. Please download the demo codes, unzip them and find the STM32 examples.

  • Open the project from MQ-3-Gas-Sensor-code\STM32\STM32F103RB\MDK-ARM by Keil.
  • Build the project and program it to the STM32 board.
  • connect the UART1 of the STM32 board to the PC and check the serial data by SCCOM software.
MQ5 STM32 3.jpg

Expected result

  • The sensor needs to preheat for about a minute to heat the internal sensitive materials of the sensor.
  • Put the sensor inside the device containing sensitive gas, and the indicator on the module lights up. The indicator goes off when the sensor is removed from the device.

The examples provided are based on the Arduino UNO, if you need to use other Arduino boards, please check if the board is compatible with the UNO.

Arduino

Hardware connection

Hardware connection-Arduino
Connect to Arduino UNO
MQ2 Arduino Description
VCC 5V Power input
GND GND Ground
AOUT A0 Analog data output
DOUT D2 Digital data output

Examples

  • Please download and install Arduino IDE to your PC.
  • Download the demo codes, unzip and find the Arduino examples.
  • Open the Gas_Sensor.ino file by the Arduino IDE.
MQ5 Arduino 1.jpg
  • Build and upload the codes to the UNO board.
  • After downloading, you can run SSCOM to connect the MQ3 module so as to check the sensor.

MQ-5 Gas Sensor.00.jpg

Expected result

  • The sensor needs to preheat for about a minute to heat the internal sensitive materials of the sensor.
  • Put the sensor inside the device containing sensitive gas, and the indicator on the module lights up. The indicator goes off when the sensor is removed from the device.

Resources

FAQ

 Answer:
Don’t worry, it is normal. Because the sensitivity material in the sensor should be heated for operating.
{{{3}}}
{{{4}}}

{{{5}}}


Support



Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)