“Let’s discover a set of low-cost gas and pollution detectors that may be easily accessed from the Arduino World.
Detecting and measuring pollution and the main gases (the ones we may come across in our daily life) is always relevant; such operations are carried out by means of specific sensors, that are often very expensive. Luckily, for a while it is possible to find low-cost, reliable sensors for sale: that’s the ones from the MQ series. They are among the most appreciated ones, since they enable – in the different applications – the detection of various kinds of gases, aerosols and particulates (such as smoke and ashes). Moreover, they are very cheap and may be easily acquired, even on the various online stores (which makes them the ones favored by those who like to experiment). Although very popular, they are however not very well documented, and it is therefore not easy to find an online library for Arduino, one that is ready and capable of correlating the signals provided with the concentrations detected in the air. For this reason, we thought to bridge this gap by proposing – in this article – an overview on the subject, and an ad hoc library for Arduino.
Let’s start by saying that MQ sensors are made of a heating element, named heater, and of an electrochemical sensor; the heater is needed in order to bring the sensor to the proper operational conditions, since only at certain temperatures the sensor’s sensitive surface (typically, a metal oxide) will react, and will let the gases and the particles (the ones we wish to detect) penetrate it.
The component reacting to the gas’ variation has been chemically treated, so to modify its electrical resistance depending on the presence of specific gases. In practice, it is a variable resistor, whose fluctuations depend on the quantity of gas found in the air in which the sensor is located.
We will later see how to correlate the variations in the sensor’s resistance to the concentration of gas, that is expressed in ppm (parts-per-million).”