upm  1.7.1
Sensor/Actuator repository for libmraa (v2.0.0)
Public Member Functions

API for the MQ5 Gas Sensor. More...

Detailed Description

The MQ5 Gas Sensor module is useful for gas leakage detection (in home and industry). It can detect LPG, natural gas, town gas, and so on. It is highly sensitive and has a detection range of 300-10,000 ppm.

main(int argc, char** argv)
upm::MQ5 sensor(0);
signal(SIGINT, sig_handler);
ctx.averageReading = 0;
ctx.runningAverage = 0;
ctx.averagedOver = 2;
while (!is_running) {
int len = sensor.getSampledWindow(2, 128, buffer);
if (len) {
int thresh = sensor.findThreshold(&ctx, 30, buffer, len);
sensor.printGraph(&ctx, 7);
if (thresh) {
// do something ....
std::cout << "exiting application" << std::endl;
return 0;

Public Member Functions

 MQ5 (int gasPin)
 ~MQ5 ()
std::string name ()
- Public Member Functions inherited from Gas
 Gas (int gasPin)
virtual ~Gas ()
virtual int getSampledWindow (unsigned int freqMS, int numberOfSamples, uint16_t *buffer)
virtual int findThreshold (thresholdContext *ctx, unsigned int threshold, uint16_t *buffer, int len)
virtual int getSampledData (thresholdContext *ctx)
virtual int getSample ()
virtual void printGraph (thresholdContext *ctx, uint8_t resolution)

Additional Inherited Members

- Protected Attributes inherited from Gas
mraa::Aio m_aio

Constructor & Destructor Documentation

MQ5 ( int  gasPin)

MQ5 constructor

gasPinAnalog pin where the sensor is connected
~MQ5 ( )

MQ9 destructor

Member Function Documentation

std::string name ( )

Returns the name of the sensor

Inheritance diagram for MQ5:
Inheritance graph
Collaboration diagram for MQ5:
Collaboration graph

The documentation for this class was generated from the following files: