Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Hardware
  3. Air Quality Sensor

Air Quality Sensor

Scheduled Pinned Locked Moved Hardware
calibrationaqigas sensorhchoair quality
270 Posts 46 Posters 308.8k Views 35 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • walk_portoW walk_porto

    Hello everybody,

    I am working with an Arduino Uno and a MQ135 module arduino : http://www.sainsmart.com/sainsmart-mq135-sensor-air-quality-sensor-hazardous-gas-detection-module-arduino.html

    I can get back data from this sensor, I got 100 ppm when I launched serial terminal after compiling and uploading this code below.

    int sensorValue;
    
    void setup()
    {
      Serial.begin(9600);      // sets the serial port to 9600
    }
    
    void loop()
    {
      sensorValue = analogRead(0);       // read analog input pin 0
      Serial.println(sensorValue, DEC);  // prints the value read
      delay(100);                        // wait 100ms for next reading
    }
    

    But, I would like to get back data from gases like NH3, NOx, alcohol, benzene, smoke and CO2 . I read a lot of topics and the datasheets of the sensor but I don't see how to do.

    If someone could help me, it will be great.

    Thanks.

    AtmosChemeA Offline
    AtmosChemeA Offline
    AtmosCheme
    wrote on last edited by
    #242

    @walk_porto

    I think that the only way you are going to be able to distinguish between different gases is to have a known concentration of that gas and adjust load resistance. This sensor will detect all of these gase because of cross sensitivity to the gases mentioned in the filament. You can not use just one MQ135 sensor and get readings for all of the gases.

    1 Reply Last reply
    0
    • Thanh-VietT Offline
      Thanh-VietT Offline
      Thanh-Viet
      wrote on last edited by
      #243

      Hi Guys,

      Nice work. I'm based in Hong Kong, and what matters to us is PM2.5, NO2 and Ozone (and indoor CO2/VOC).

      Have you guys checked the laser based particle sensors like the Plantower G1-G3-G5, Innovafitness SDS011/021 ?
      http://aqicn.org/sensor

      alexsh1A 1 Reply Last reply
      0
      • Thanh-VietT Thanh-Viet

        Hi Guys,

        Nice work. I'm based in Hong Kong, and what matters to us is PM2.5, NO2 and Ozone (and indoor CO2/VOC).

        Have you guys checked the laser based particle sensors like the Plantower G1-G3-G5, Innovafitness SDS011/021 ?
        http://aqicn.org/sensor

        alexsh1A Offline
        alexsh1A Offline
        alexsh1
        wrote on last edited by
        #244

        @Thanh-Viet Hello. Yes, I have Plantower G3 on order from Aliexpress and won't be able to test it before September. I think adopting it for MySensors is going to be easy

        1 Reply Last reply
        1
        • paqorP Offline
          paqorP Offline
          paqor
          wrote on last edited by
          #245

          Hello, there are statements if the values increase the MQ135 when a room ventilated, without people and is furnished? I I have several rooms here an increase over time. Perhaps this is also by the increase in temperature, sunlight or gases from the furniture. I have not found any literature on this. Is this behavior with other users as well?

          1 Reply Last reply
          0
          • paqorP Offline
            paqorP Offline
            paqor
            wrote on last edited by
            #246

            Has the type of installation (horizontal or vertical) have an impact on the values of MQ135? I have found no photos of built-in sensors already exist in the data sheet a statement.

            alexsh1A 1 Reply Last reply
            0
            • paqorP paqor

              Has the type of installation (horizontal or vertical) have an impact on the values of MQ135? I have found no photos of built-in sensors already exist in the data sheet a statement.

              alexsh1A Offline
              alexsh1A Offline
              alexsh1
              wrote on last edited by
              #247

              @paqor yes, in fact my MQ-135 was so unreliable that I had to move on to a different sensor

              1 Reply Last reply
              1
              • paqorP Offline
                paqorP Offline
                paqor
                wrote on last edited by paqor
                #248

                Those interested in a 4 sensors Sketch FHEM (CO2, Temp, Hum, Motion) has ...

                ? 1 Reply Last reply
                1
                • paqorP paqor

                  Those interested in a 4 sensors Sketch FHEM (CO2, Temp, Hum, Motion) has ...

                  ? Offline
                  ? Offline
                  A Former User
                  wrote on last edited by
                  #249

                  @paqor
                  I'm interested, but i'm using mysensors 2.0. Can you update your sketch?

                  paqorP 1 Reply Last reply
                  0
                  • ? A Former User

                    @paqor
                    I'm interested, but i'm using mysensors 2.0. Can you update your sketch?

                    paqorP Offline
                    paqorP Offline
                    paqor
                    wrote on last edited by
                    #250

                    @gieljnssns said:

                    @paqor
                    I'm interested, but i'm using mysensors 2.0. Can you update your sketch?

                    Yes, sure but I need time. I'm not a good programmer and need a lot of testing. My Englich is not particularly good. As some patience please, because I have to house, garden, woman and taking care of animals. :two_men_holding_hands:

                    paqorP 1 Reply Last reply
                    0
                    • paqorP paqor

                      @gieljnssns said:

                      @paqor
                      I'm interested, but i'm using mysensors 2.0. Can you update your sketch?

                      Yes, sure but I need time. I'm not a good programmer and need a lot of testing. My Englich is not particularly good. As some patience please, because I have to house, garden, woman and taking care of animals. :two_men_holding_hands:

                      paqorP Offline
                      paqorP Offline
                      paqor
                      wrote on last edited by paqor
                      #251

                      @gieljnssns said in Air Quality Sensor:

                      @paqor
                      I'm interested, but i'm using mysensors 2.0. Can you update your sketch?

                      @paqor
                      https://gleisnetze.de/2016/08/07/sensoren4sketch/

                      • v0.8 korrigierte Lib von RSTOICA
                      • EEPROM set R0Cor
                      • amended mq135.h required!
                      • Temp, Hum --> CO2Cor
                      • Api 2.0
                      • Motion is not yet tested
                      • Auto base value set r0corr if Co2cor <390
                      • R0Cor set by TextField runs (incoming message)
                      • Redesign
                      paqorP 1 Reply Last reply
                      0
                      • paqorP paqor

                        @gieljnssns said in Air Quality Sensor:

                        @paqor
                        I'm interested, but i'm using mysensors 2.0. Can you update your sketch?

                        @paqor
                        https://gleisnetze.de/2016/08/07/sensoren4sketch/

                        • v0.8 korrigierte Lib von RSTOICA
                        • EEPROM set R0Cor
                        • amended mq135.h required!
                        • Temp, Hum --> CO2Cor
                        • Api 2.0
                        • Motion is not yet tested
                        • Auto base value set r0corr if Co2cor <390
                        • R0Cor set by TextField runs (incoming message)
                        • Redesign
                        paqorP Offline
                        paqorP Offline
                        paqor
                        wrote on last edited by paqor
                        #252

                        @paqor
                        Probably one should not speak of a sensor CO2 value as well as responding to many other particles at the MQ135. The most accurate CO2 measurement we certainly be possible only with a MH-Z14. I now have to buy me a part and will then calibrate the MQ135 so. With the MQ135 can z. B. only say something about the air quality in relation to the outside air. It is rather a relative value.

                        Here the comparison of MH-14T (yellow) and MQ135 (red). One sees the calibration and as yet are both curves to each other.
                        [https://smarthome.gleisnetze.de/38-mhz-14-erste-erfahrungen-mit-dem-co2-sensor-fuer-mysensors-arduino-fhem]

                        Wahrscheinlich sollte man beim MQ135 nicht von einem CO2 Wert sprechen da der Sensor auch auf viele andere Partikel reagiert. Die genaueste CO2 Messung wir sicher nur mit einem MH-Z14 möglich sein. Ich habe mir jetzt so ein Teil bestellt und werde dann den MQ135 damit kalibrieren. Mit dem MQ135 lässt sich z. B. nur etwas zur Luftgüte im Verhältnis zur Außenluft sagen. Es ist also eher ein relativer Wert.

                        1 Reply Last reply
                        0
                        • tuimansoT tuimanso

                          Your previous message

                          Hello,

                          I have a question about the MQ-8 sensor module . The potentiometer that is soldered onto the board, is it to control the sensitivity of the LED light or for the sensor itself? According to the datasheet for the sensor, the RL (load resistance) for the sensor should be at minimum 10k Ohm, yet I only see an SMD 102 resistor on the board, which is a 1K Ohm resistor. I have used a multimeter to connect the 5V pin and the AOUT pin, and I get precisely a measurement of about 1K Ohm... Does that mean that I should connect a load resistor to this?

                          This value seems very important since it is referenced in the code, the RL is part of the calculations, yet it is already pre-written 10K ohms...

                          Please Clarify
                          Thanks

                          ysinhY Offline
                          ysinhY Offline
                          ysinh
                          wrote on last edited by
                          #253

                          @tuimanso
                          There seems a general misunderstanding about how those gas sensors really work: the "heater" must be switched on (5v) and "off"(1.4v) for the air sample going in and out of the sensor, when heating the air sample expands and goes out of the sensor, then in the cool down period the remaining air contracts and sucks in a new sample.
                          Those boards with mq... sensors only provide fixed 5v heating, so this can never work reliable
                          the 1.4v is needed to keep the sensor on a minimum temperature,example 40'c for the catalyst to react, the 5v will heat it up to example 80'c, to clean the catalyst and air flows out of the sensor
                          http://i49.tinypic.com/2rzdqgn.png something like this will work
                          Soon I will report my results together with a modified sketch for mysensors 2.0

                          1 Reply Last reply
                          1
                          • epierreE epierre

                            @alexsh1 said:

                            @epierre I started looking at the formula you have used in ppmv calculation. Why do you need ppmv? All values in EPA or Europe are in μg/m3.

                            because domoticz only knows ppm... and many AIQ like use only that except for particles.

                            1. temp = °C + 273.15
                              int temp=273.15 + 22;
                              22C - is a typical temp inside though the intention is to use a sensor

                            not for me ;-)

                            1. The amended ppmv equation is going to be:
                              ppmv=(((concentrationPM250.0283168)/100) * ((0.08205temp)/28.97))/1000;
                            I have not changed 0.0283168 /100 - not sure that this is. And the whole thing is divided by 1000? why?
                            

                            was a volume conversion

                            The molecular weight is 28.97 for dry air

                            2.08 mg/m3 is equivalent to 1.74ppm for a gas with molecular weight=28.97 Pressure=1013.25, Temperature=22C 
                            

                            Success!

                            success for the mysensors value ?

                            MySensors: Unknown/Invalid sensor type (43)
                            

                            Domoticz doesn't recognize this command... I use 1.5.x but I have my own gateway to domoticz

                            bezeeflyB Offline
                            bezeeflyB Offline
                            bezeefly
                            wrote on last edited by
                            #254

                            @epierre I am working on a dust sensor project using Samyoung DSM501A. I am confused with the identical calculation formula used in the Samyoung DSM501A and Shinyei PPD42NS dust sketch.

                            concentration = 1.1pow(ratio,3)-3.8pow(ratio,2)+520*ratio+0.62;

                            My understanding is that the formula is based on the specific product's data sheet curve. Is the formula for DSM501A, PPD42NS, or both?

                            1 Reply Last reply
                            0
                            • epierreE Offline
                              epierreE Offline
                              epierre
                              Hero Member
                              wrote on last edited by epierre
                              #255

                              @bezeefly said:

                              Samyoung DSM501A and Shinyei PPD42NS

                              This is formula for Shinyei, you're right, I'searched back but don't know if a formula was made out : https://groups.google.com/forum/#!topic/airqualityegg/A1F9padoW10

                              strangely here it is used too : http://learn.linksprite.com/arduino/shields/use-dust-sensor-dsm501-with-arduino/

                              a formula by Chris Nafis here: https://github.com/OSBSS/Samyoung_Dust_Sensor/blob/master/Samyoung_Dust_Sensor.ino

                              z-wave - Vera -&gt; Domoticz
                              rfx - Domoticz &lt;- MyDomoAtHome &lt;- Imperihome
                              mysensors -&gt; mysensors-gw -&gt; Domoticz

                              bezeeflyB 1 Reply Last reply
                              0
                              • epierreE epierre

                                @bezeefly said:

                                Samyoung DSM501A and Shinyei PPD42NS

                                This is formula for Shinyei, you're right, I'searched back but don't know if a formula was made out : https://groups.google.com/forum/#!topic/airqualityegg/A1F9padoW10

                                strangely here it is used too : http://learn.linksprite.com/arduino/shields/use-dust-sensor-dsm501-with-arduino/

                                a formula by Chris Nafis here: https://github.com/OSBSS/Samyoung_Dust_Sensor/blob/master/Samyoung_Dust_Sensor.ino

                                bezeeflyB Offline
                                bezeeflyB Offline
                                bezeefly
                                wrote on last edited by
                                #256

                                @epierre I obtained the following equation by polynomial fit the low ratio vs particle (pcs/283ml) graph in the DSM501 datasheet.

                                concentration = (0.1 * pow(ratio, 2)) + (619 * ratio) + 50;

                                Please help to check whether the equation is correct.

                                epierreE 1 Reply Last reply
                                0
                                • bezeeflyB bezeefly

                                  @epierre I obtained the following equation by polynomial fit the low ratio vs particle (pcs/283ml) graph in the DSM501 datasheet.

                                  concentration = (0.1 * pow(ratio, 2)) + (619 * ratio) + 50;

                                  Please help to check whether the equation is correct.

                                  epierreE Offline
                                  epierreE Offline
                                  epierre
                                  Hero Member
                                  wrote on last edited by epierre
                                  #257

                                  @bezeefly said:

                                  @epierre I obtained the following equation by polynomial fit the low ratio vs particle (pcs/283ml) graph in the DSM501 datasheet.

                                  concentration = (0.1 * pow(ratio, 2)) + (619 * ratio) + 50;

                                  Please help to check whether the equation is correct.

                                  looks correct for the red curve

                                  using http://www.xuru.org/rt/PR.asp with:
                                  4 2500
                                  8 5000
                                  12 7500
                                  16 10000
                                  20 12500
                                  22 15000
                                  gives =7,613212955POWER(B3;2) + 467,3617082B3 + 631,9862425

                                  a bit better ;-)

                                  and on the previous one datasheet http://www.mouser.com/ds/2/744/Seeed_101020012-838657.pdf:
                                  2 1000
                                  3.9 2000
                                  5.8 3000
                                  7.2 4000
                                  9 5000
                                  10 6000
                                  11.3 7000
                                  12.6 8000
                                  y = 19.09464953 x2 + 383.1041412 x + 174.9189116

                                  z-wave - Vera -&gt; Domoticz
                                  rfx - Domoticz &lt;- MyDomoAtHome &lt;- Imperihome
                                  mysensors -&gt; mysensors-gw -&gt; Domoticz

                                  1 Reply Last reply
                                  0
                                  • jumpingJ Offline
                                    jumpingJ Offline
                                    jumping
                                    wrote on last edited by
                                    #258

                                    Hello,
                                    I bought the classic MQ sensors (MQ2, MQ4 and MQ135) and I'm building a multisensor node with arduino nano v3:
                                    @epierre can I use sketch https://github.com/empierre/arduino/blob/master/AirQuality-Multiple_Gas_Sensor1_4.ino, is it suitable?
                                    thanks

                                    Raspberrry PI3 - Domoticz
                                    ESP8266 GW - MySensors 2.1.1

                                    epierreE 1 Reply Last reply
                                    0
                                    • jumpingJ jumping

                                      Hello,
                                      I bought the classic MQ sensors (MQ2, MQ4 and MQ135) and I'm building a multisensor node with arduino nano v3:
                                      @epierre can I use sketch https://github.com/empierre/arduino/blob/master/AirQuality-Multiple_Gas_Sensor1_4.ino, is it suitable?
                                      thanks

                                      epierreE Offline
                                      epierreE Offline
                                      epierre
                                      Hero Member
                                      wrote on last edited by
                                      #259

                                      @jumping you will need to scale down the script obviously, in term of power it will be too short to have more than one.

                                      z-wave - Vera -&gt; Domoticz
                                      rfx - Domoticz &lt;- MyDomoAtHome &lt;- Imperihome
                                      mysensors -&gt; mysensors-gw -&gt; Domoticz

                                      jumpingJ 1 Reply Last reply
                                      0
                                      • epierreE epierre

                                        @jumping you will need to scale down the script obviously, in term of power it will be too short to have more than one.

                                        jumpingJ Offline
                                        jumpingJ Offline
                                        jumping
                                        wrote on last edited by
                                        #260

                                        @epierre said:

                                        @jumping you will need to scale down the script obviously, in term of power it will be too short to have more than one.

                                        thanks for your answer! please, can you explain how the following code in your sketch is related to datasheet?

                                        • float CO_secCurve[2] = {726.7809737, -4.040111669}; //MQ135

                                        I understand the sketch in the "Gas Detection - Example", but not the previous.
                                        sorry for my poor english :-)

                                        Raspberrry PI3 - Domoticz
                                        ESP8266 GW - MySensors 2.1.1

                                        1 Reply Last reply
                                        0
                                        • epierreE Offline
                                          epierreE Offline
                                          epierre
                                          Hero Member
                                          wrote on last edited by
                                          #261

                                          @jumping see just above on power regressin curves, this is the result from a power regression based on the data sheet provided by one maker. Sometime I leave the data points in the sketch, sometime not (based on history ;-)

                                          z-wave - Vera -&gt; Domoticz
                                          rfx - Domoticz &lt;- MyDomoAtHome &lt;- Imperihome
                                          mysensors -&gt; mysensors-gw -&gt; Domoticz

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          8

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.0k

                                          Posts


                                          Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular