GithubHelp home page GithubHelp logo

ostaquet / arduino-mq131-driver Goto Github PK

View Code? Open in Web Editor NEW
64.0 9.0 19.0 2.46 MB

Arduino driver for gas sensor MQ131 (Ozone / O3)

License: MIT License

C++ 89.60% Python 10.40%
arduino arduino-library sensor arduino-driver driver ozone gas-sensor

arduino-mq131-driver's People

Contributors

kesavaram avatar nitram147 avatar ostaquet avatar per1234 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arduino-mq131-driver's Issues

Derivation of R0

Can you please elaborate on the calculation of R0 - Resistance in fresh air? Is it derived through an iterative process? It appears that the R0 comes from a "lastRSvalue" in the program. Literature on MQ sensors say that the R0 value is calculated from the RS and I'm not quite following it.

MQ131.h shows a default value of 235 ohms, which if I understand correctly, applies to your sensor and would be different for others. When I calibrate for my sensor, can I use the R0 value and set it as my default in the sketch with "MQ131.setR0()" in the setup?

Given that I have a high-concentration sensor, can I adjust the R0 values so that the PPM readings are closer to -0- ?

To display debugging, what value do I place after the RL value in MQ131.begin(2,A0, HIGH_CONCENTRATION, 1000000, ??)

Thank you.

Deviation by factor 100 upwards

Hi!
I have been testing your driver with my MQ131 and arduino uno.
I got a deviation by a factor of 100 upwards to a validate measuring.
Does anybody has a clue for me where it comes from?
Greetz Niklas

PPB values

I am new to the mq family and It seems I am not getting the basics. I have my sensor running an operating but I have some issues related to ppb. In the datasheet of the MQ-131 It says that the output is range between 10-100 ppm. These range of values seems odd due to the fact that 0,018 ppm is the limit intake for humans. Is the graphic badly design and the real values are to be taken in ppb? I need some help with these.

Thank you so much

How to calculate the Rs?

Hi Oliver!!! Thank you so much for this library, it's helping me a lot!

  1. I noticed that you've changed the sketch and insted of BC337 it's now MOSFET IFR840. But I have the first one, so I want to use it! But in this old scheme, you use a 5,1kOhm resistor on the base to ensure saturation. But, by my calculations, we have to use 2,5kOhm or less, since Ic is 150 mA, than Rb is Hfe(Vbb-Vbe)/Ic = 100(5-1.2)/0.15 = 2500 Ohm. Right? Than I would use a 2,2kOhm resistor to guarantee a higher Ib.

MQ131_bb

  1. The rS was calculeted at readRs function. About this one, could you explain to me the math? I just undestand that the analogue pin gives a number between 0 to 1023 and thats why you divide by 1024. But the rest?
    // Compute the voltage on load resistance (for 5V Arduino)
    float vRL = ((float)valueSensor) / 1024.0 * 5.0;
    // Compute the resistance of the sensor (for 5V Arduino)
    float rS = (5.0 / vRL - 1.0) * valueRL;

  2. I saw that R0 can change a bit with use, so is good to keep thack on it. You recomend to calibrate every time before sampling?

  3. Do you have any article published?

I'm doing this as my final work to graduate in environmental engineering, so I don't understand much of eletronics/programing. Sorry for the english too, I'm brasilian.

Thanks a lot already!

XOXO, Marina.

Concentration in ppb and ppm and functions to calculate the values

In the last version, some changes was did.
I didn't get it why the code return convert(9.4783 * pow(ratio, 2.3348), PPB, unit); was modified to return convert((10.66435681 * pow(ratio, 2.25889394) - 10.66435681), PPB, unit);. If you compare the table below, you can see that the values in ppb below 200 differs a lot and above 200 the second function it's better.

ppb Rs/R0 O3 y = 9,4783x2,3348 y = 10,66435681x2,25889394 - 10,66435681
10 1,12 12,34936679 3,111320483
50 1,9 42,41938405 34,79355558
100 2,5 80,50832346 73,83218626
200 3,8 213,9977425 206,9083026
500 5,6 529,175655 511,746348
1000 7,5 1046,703047 999,9960501

The function in return convert((10.66435681 * pow(ratio, 2.25889394) - 10.66435681), PPB, unit); is really better than the other?

PS.: I get it that the a and b coeficients changed, but the dubt is in the function with the subtraction of coeficient a.

If also @nitram147 may help me in my doubt I appreciate it

Measuring low concentration (fresh air) with high concentration sensor

Thank you for the new commit from 7/7.

Since I have a high-concentration sensor, in the "calibrate.ino", I changed the module time to "HIGH_CONCENTRATION" in the MQ131.begin() statement. Is that correct?

Within the same statement, I also changed the RL setting to the value of my resistor as measured by my Ohm meter -- 10,000 ohms.

The calibration resulted in an R0 of 470 ohms, time to heat of 75 seconds, and Ozone level values of 2-3 ppm at 7:30 in the morning at 23 C with the sensor just outside my window. How does one calibrate the sensor to zero? Do I vary the RL value? Right now, I'm running a 10K resistor....should I use a 1M ohm resistor or something in between? Thanks again for your prompt responses.

calibration time

One Question. How long does the calibration usually take? My Sensors heat up proberly and seem fine, but the calibration has been running for half the day now and nothing happened. Is it calibrating for the whole 48h?

measuring volume

Hello, my name is Carlos Fonseca, I am from Colombia, I am sorry for my writing in English.

My question is to find out if anyone knows the volume of measurement that the MQ sensors have, specifically the MQ131, and also use two simultaneously to average them within a cavity with a volume of 2.7m^3.

Thanks to Ostaget for this efficient library.

How to obtain the value of R0?

How to obtain the value of R0.

@ostaquet, could you provide or elaborate a process to obtain R0 (the resistance in fresh air)?

The procedure we are doing is as follow:

  1. Putting the MQ131 in a closed container with synthetic air (20% oxygen and nitrogen 80%) to simulate clean air.
  2. Meanwhile the sensor is in clean air the calibrate() function is working to see how the resistence is changing during the calibration and heating time.
  3. After the 48h the sensor is heated and then we can get the value of R0.

Do you think this procedure is correct or similar to what you are doing?

We are learning how the sensor work, if anyone have a procedure to provide, we appreciate it.

Originally posted by @ferreiradiego in #29 (comment)

Control the heater or let it powered 24x7 ?

Hi!
First of all: Thanks for doing this!
My readings were primary temperature.
I will test your library later on today, but it seems to be the best one you can find on the net.

But I have on question: Do I really need to control the heater or can I power it 24/7?

Best regards
Niklas

Ozone PPB sensor output goes down when ozone PPB goes up in real life

Firstly, Thanks Ostaquet for your work on this library, it's the only one out there! But I have an issue.

Just put my winsen mq131 low concentration sensor in front of an ozone generator, was sitting at 12ppb, quickly dropped to 4ppb. Right now I have 2 such sensors facing directly into a powerful ozone generator blowing fairly high concentrations over the both of them. Other than sensor drift and noise (which understandably is not your fault!) I get on average lower readings for ozone.

Wiring is based it off the example provided, with the exception of 1M ohm load resistance trimpots which are set at 1M and 968k ohms respectively. I notice that the high concentration and low concentration sensors react oppositely to each other, i.e. low concentration resistance increases as ozone increases, whereas the high concentration resistance decreases as ozone increases. I will do some checks myself but perhaps there is something backwards?

Additional processing during the heating/reading process

Dear Olivier,

For my project I try to use 2 MQ131 sensors one for low and second for high ozone concentration but unfortunatelly I face a problem with timing.
I would like to make additional action during sample() function but it block a program like you described.
I saw your advice: "If you want to do additional processing during the heating/reading process, you should extend the class. The methods are protected and the driver can be extended easily".
Can you described detailed how change the class?

Change parameters and override those defined in MQ131.h

Can I modify the default values in the #define statements? Default RL to the resistor value I have chosen? I have a MQ131 module and there's a 110 ohm resistor on the board for RL.

I plan on having a temp/humidity sensor in a vessel. Can I take those readings and place them in the default values of the #define statements?

Where did you get the default Base Resistance R0 for the high concentration sensor of 235.0?

Thanks,

about calibrate function

I'm using the driver but I'm apparently having problems with the "calibrate" function, it's taking too long to get out of the function, can you explain me why.
I'm using an ozone generator to test the driver.
Thank you in advance

some question...

Hi,
first of all , really good work!

I need to know some things and I write all points during the test of library and sensor, so I can write all-in-one!
It's not a really issue, you can mark as a question..:)

  1. about calibration, you and datasheet talk about 48 hours of preheating , but in calibration function you have MQ131_DEFAULT_STABLE_CYCLE = 20, so after 20 same value read, calibration stop. So, how can I preheat sensor for 48h if I have this set? Have you tested that it's impossible that sensor return 20 stable value before 48h of cal? Or I need to unconnect analog pin to let heating go on for 48 hour?

  2. heater inside sensor need 5V and too much current for Arduino pin and you use a transistor to solve this, but why you have choose that value on the base of 337? How much Volt have you on heat pin? Should I feel hot touching the sensor?

  3. now I have a low concentration sensor in calibration from about 10 min and I have a sequence of about 10-12 same value, other 10-12 value different than before, and so on. That value is the RS, right? Is that value influenced by the heating resistor? If I don't have 5V on heating resistor, what happen?

  4. now the calibration done, I have a R0 value and TimeToHeat, but calibration time ended only after 20 minutes and time to heat is 1399 s, too much to have a sample! So I return to my question n1: there's a way to have a 'first time calibration' ? Have you think about it? Maybe a function like 'firstTimeCalibration()' or 'firstTimePreHeatCal()' where you don't consider DEFAULT_STABLE_CYCLE until 48 hours passed and you can use millis() to wait that time.

  5. now I have a sample , but with the parameters described before, so I can't consider correct result, also if it seems correct, I have 0.02 ppm and it is right if I consider about 0.04 ppm a normal value of concentration in atmosphere. I ask you(again), 48h of calibration give me less time to heat? Did you have 5V on heating pin? I'm powering Arduino with 9V but I have only 2.5V on heating pins. I have choose a 4k7 base resistor because I don't have 5k1 , but I think you want only to take transistor in saturation, right?
    All of this question is only to understand better, thanks!

Adjusting time to heat and frequency of sensor reads

I was able to merge sketches for the DHT11 Temperature/Humidity sensor with your sketch for the MQ131 and display the results on an I2C OLED display. I have a question about calibration and sampling.

The sensors will be used in a closet-sized enclosure appox 2m x 3m x 5m used to sterilize work clothes. The sealed room will be filled with high concentrations of ozone for 20-30 minutes. I can control the temperature to around 25 Celcius, but have lesser control over the humidity levels.

Do I need to run the calibrate first so that the settings transfer over the ‘high.concentration’ sketch?

Also, the README.md showed a 80 second time to heat interval. I would like to have Ozone and Temp/Humidity read-outs renewed every 10-15 seconds. Can I leave the sensor heated during the entire 20-30 minute treatment time or is it necessary to turn off the heater circuit periodically?

Would timing changes be made in the ‘read_high_concentration’ sketch by adjusting the delay time in the loop? I'm not sure exactly where to adjust the heating time and sampling times. I'm almost there....thanks!

Sensitivity curves

Hello, thanks for the project, it's very interesting.
I would like to ask you: where did you get the calibration values presented in "Sensitivity curves" spreadsheet?

Heater connection in the circuit

hi, i am reading this projects it's look awesome, thanks for the research, but i have a doubt about the circuit, in the fritzing model you conect te mq131 module heater to 5V and GND or you connect to 5V and drain of the mosfet?

Can I change the "Delay(60000);" on the Loop?

Hello,
Congratulations for your library, veru good job! I wanted to ask you if it is possible to change (reduce) the delay(6000) on the loop? A lot of time goes by between the delay and the measure time (72 seconds) and I need it shorter.
Thanks in advance,
Francisco

No readable output from Sensor

Hello,
I was trying to implement the Ozone Sensor in a project I'm working on.
I imported the library and used the exact example code.
Also I recreated the circuit with the bakelite low concentration version.
So With all of that it should work...but it doesnt't.
The Output is as follows:

Callibration in Progress...
?F?

and after that it just doesn't proceed with anything.
I don't really know, what I am doing wrong.
Any help would be greatly appreciated.

Greetings from Germany.
Chris

doesn't print correctly

I'm trying to calibrate one MQ131 (black bakelite version) the program upload correctly, the sensor gets "heated" and everything seems correct but it's printing just nonsense characters:

�⸮S⸮W⸮ude⸮⸮Wd,$5uu$$u⸮⸮⸮u⸮dWu%wdW5d⸮udW⸮u⸮u⸮5$⸮`5(dd5⸮⸮5$($d

I changed the pins connectors, the cables, the protoboard, even some words:

Serial.println("CALIBRANDO...");

but it doesn't seem to solve the problem.

I'm at programming & writing on english

Can I keep the heater always on?

Hello,

You are using the functions startHeater() and stopHeater() to control the sensor heating.
Can I keep the heating all the time? Because your code only starts to heat up when you measure the resistance and then stops heating and so it does a cycle.

Wiring of all pins of the sensor

Hey ostaquet,

firstly thanks for the information you give about the sensor and the cool library. I have a question in regards of the wiring. Online it's often recommended to wire all pins, while the datasheet implies not to do that, if I understood it correctly.

Fir instance here: https://playground.arduino.cc/Main/MQGasSensors/

Also the traces on this PCB from a manufacturer implies it's okay to wire everything: https://eckstein-shop.de/Pololu-Carrier-for-MQ-Gas-Sensors-Bare-PCB-Only

On the first glance, it looks like both ways are okay. What's your opinion on the issue?

Kind regards

the time required to heat up the resistance

Hi, I have a question, what happens if I want to take measures quickly, can I turn on the resistor permanently? If I can do that what are the issue with turn on the resistor heater permanently?

About declaration and the type of variable of RL.

Hello,

@ostaquet I have a little question.

Why you declare in the header of the library, the var valueRL as uint16_t (uint16_t valueRL = -1;) and in the method begin(uint8_t _pinPower, uint8_t _pinSensor, MQ131Model _model, uint32_t _RL, Stream* _debugStream = NULL); the _RL as uint32_t?

I am asking this question because when I print the uint32_t _RL when I'm using RL = 1MOhm the value printed is 1M, but when I print uint16_t valueRL the value printed is 16960. Is this right?

One more thing, if I use RL = 10kOhm, the value of RL both declared as uint16_t and uint32_t is 10k.

I hope you understand me. Thanks!!!

Best Regards,
Diego Ferreira

confusing wiring diagram

The changing colors of the wires in the wiring diagram in READ Me make it very confusing. I am legitimately unable to tell which wires go where.

Use this library for others MQ-Sensors, it's possible?

I'm participating in an Air Quality project, we are using many low cost sensors and among them there are: MQ131, MQ136, MQ2 and others. This library is really good for MQ131. I'm developing a library more generical to use MQ Sensors (of Winsen) and the whole my code is based on your and Davide Gironi article.
Do you think it's posible to develop a library (based on this) for others MQ Sensors as for example MQ136?

Heater minimum current

Hello, I have a question related to the minimum consumed current of atleast 150mA. I checked the datasheet and it does not mention the value for the current, but if we assume the sensor is supplied 5V and consumes the maximum heater consumption of 900mW, using P = V*I, the minimum current should have been 180mA, right?

Change heating time

Hi!, Thank u very much for your library. I had done with it good but I have a problem: Time to read of the sensor is take a long time, it spent 72s for time to read sensor. Can you help me fix it, i want get less time to read sensor. Thanks

live data

Hi, noob question:
If I call "MQ131.startHeater();"
then can i check the values every x millis without stopping the heater, and in this way get live data?

Example: (I overrided the library to give me access to the private methods)

void setup() {
  lcd.begin(16, 2);
  Serial.begin(115200);

  MQ131.begin(2,A0, LOW_CONCENTRATION, 1000000);  
  lcd.setCursor(0,0);
  lcd.print("Calibrationing");
 
  MQ131.calibrate();
  
  lcd.setCursor(0,0);
  lcd.print("Heating...                     ");
  MQ131.startHeater();
}

void loop() {
  if (MQ131.isTimeToRead()) {
     MQ131.lastValueRs = MQ131.readRs();
     lcd.setCursor(0,0);
     lcd.print(String(MQ131.getO3(PPM),4) + " PPM                    ");
     lcd.setCursor(0,1);
     lcd.print(String(MQ131.getO3(MG_M3),4) + " mg/m3                    ");
  }
  delay(100);
  

 
}

Unusual Sensor Reading

Hello. I hope you can help me out again.

I have preheated the MQ-131 high concentration for 36 hours.
My wiring connections are almost same as yours, except that I have an external power supply.

Picture1

The value from the sensor is unusually high, and was wondering if I did something wrong in calibration. Can you please help out?

Following is the result on serial monitor:

  • Executing task in folder MQ131test: platformio device monitor --environment uno

--- Terminal on /dev/cu.usbserial-1130 | 9600 8-N-1
--- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
--- More details at https://bit.ly/pio-monitor-filters
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H
Calibration in progress...
Calibration parameters
R0 = 977.52 Ohms
Time to heat = 17 s
Sampling...
Concentration O3 : 12.34 ppm
Concentration O3 : 12343.99 ppb
Concentration O3 : 26.09 mg/m3
Concentration O3 : 26089.09 ug/m3
Sampling...
Concentration O3 : 12.34 ppm
Concentration O3 : 12343.99 ppb
Concentration O3 : 26.09 mg/m3
Concentration O3 : 26089.09 ug/m3
Sampling...

My code is as follows:
`#include <Arduino.h>
#include <MQ131.h>

int temperature=26; //degrees celcius
int humidity=50; // percent

void setup() {
//Serial.begin(74880);
Serial.begin(9600);

// Init the sensor
// - Heater control on pin 2 (D4 if MiniD1)
// - Sensor analog read on pin A0
// - Model HIGH_CONCENTRATION
// - Load resistance RL of 1MOhms (1000000 Ohms)
MQ131.begin(2,A0, HIGH_CONCENTRATION, 1000000);

Serial.println("Calibration in progress...");
MQ131.calibrate();

Serial.println("Calibration parameters");
Serial.print("R0 = ");
Serial.print(MQ131.getR0());
Serial.println(" Ohms");
Serial.print("Time to heat = ");
Serial.print(MQ131.getTimeToRead());
Serial.println(" s");

MQ131.setR0(MQ131.getR0());
MQ131.setTimeToRead(MQ131.getTimeToRead());
}

void loop() {
delay(60000);

MQ131.setEnv(temperature, humidity);

Serial.println("Sampling...");
MQ131.sample();

Serial.print("Concentration O3 : ");
Serial.print(MQ131.getO3(PPM));
Serial.println(" ppm");
Serial.print("Concentration O3 : ");
Serial.print(MQ131.getO3(PPB));
Serial.println(" ppb");
Serial.print("Concentration O3 : ");
Serial.print(MQ131.getO3(MG_M3));
Serial.println(" mg/m3");
Serial.print("Concentration O3 : ");
Serial.print(MQ131.getO3(UG_M3));
Serial.println(" ug/m3");

}
/*******************************************************************************


  • MIT License
  • Copyright (c) 2018 Olivier Staquet
  • Permission is hereby granted, free of charge, to any person obtaining a copy
  • of this software and associated documentation files (the "Software"), to deal
  • in the Software without restriction, including without limitation the rights
  • to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  • copies of the Software, and to permit persons to whom the Software is
  • furnished to do so, subject to the following conditions:
  • The above copyright notice and this permission notice shall be included in all
  • copies or substantial portions of the Software.
  • THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  • IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  • FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  • AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  • LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  • OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  • SOFTWARE.
    *******************************************************************************/`

Problem reading ozone with library...

Hi, I greatly appreciate your library and the work you did with the MQ131, because I have serious problems making it works.

I tried the default diagram given by the manufacturer, but the ADC readings shift too much during time and I can't have a stable reading, so I'm looking forward your library.

I tested your library and used your wiring diagram, but I'm having 1 issue. I can pass the calibration process and get 0.01ppm in clean air, but when I blow ozone to the sensor the reading doesn't change. I exposed the sensor to a lot of ozone for hours, but no results. Am I missing something? The sensor doesn't get hot like it does with the manufacturer diagram, but it stays almost cold. Is it normal behaviour?

Your support would be a life-save for me.

Kind regards,
Martin

MQ131 analog out less than 1V

Hi,

I wonder if you have experienced a situation when the voltage output from the sensor is less than 1V.

In my case, I used MQ131 low concentration (black case) with PCB breakout that provides 4 connecting pins (Vcc, Gnd, Do, and Ao). I pre-heated the device for 3 days, then read the Ao using a basic AnalogRead function. The reading is 0.27V, which is unexpected.

I checked the sensor and the PCB breakout for any visual damage. I traced the circuit too. But, I could not find any issue.

I hope you be pleased to share your opinion or to suggest any possible solution. I look forward to hearing from you. Thank you.

Regards

Ground connection in schematics

Hello. Thanks for offering this helpful library. If I connect external (not from Arduino board) 5V to MQ-131 sensor and heater pins, and also connect MQ-131 ground pin to external Ground, will I still need to connect external Ground to Arduino board Ground?

Originally posted by @NXTkoji in #49 (comment)

Time between readings (Heater on, Heater off)

Hello ostaquet,

I would like to ask you about your experience. In this thread you said, it's advised to let the MQ131 cool down inbetween readings:

#34 (comment)

At the moment, I'm measuring other variables every 10 seconds.

In your experience, what is the highest measurement frequency I can get with the MQ131? How long should the Heater be off, before I can turn the Heater on again to take a measurement? How long has the Heating period to be, before I can take a measurement? How long are your cooling periods and heating periods? Do you take a single measurement after the heater is on for a certain amount of time? Thank you for any help!

Kind Regards,

SciWax

About the influence of temperature and humidity in the values.

In your study, do you realized that the temperature and humidity influence a lot in the concentration values of O3?

I did that question, because I am studying this sensor MQ131 (Low Concentration) and seems to me that the temperature and humidity do not influence a lot in the values.

Congratulations for your code, it's excellent

Changing 5V to 3.3V on the mq131.cpp readRS()function

I'm using the mq131 Ozone sensor on an ESP32 (rather than Arduino) which internal operating voltage (and max ADC input) is 3.3V
Hence I'm feeding the sensor with 3.3V instead of 5V.

Would it work if I change the library mq131.cpp and just change 5.0 (for 5V Arduino) to 3.3 (for 3.3V ESP32)?

I mean at the readRS() function
float MQ131Class::readRs() {
// Read the value
uint16_t valueSensor = analogRead(pinSensor);
// Compute the voltage on load resistance (for 5V Arduino)
float vRL = ((float)valueSensor) / 1024.0 * 5.0; // would it work if I place 3.3 instead of 5.0?
// Compute the resistance of the sensor (for 5V Arduino)
if(!vRL) return 0.0f; //division by zero prevention
float rS = (5.0 / vRL - 1.0) * valueRL; //same here; 3.3 instead of 5.0?
return rS;
}

By the way, I'm using the 1.4.4 version since 1.5 version does not compile for me (some undefined variables)

Sensor showing Rs of inf Ohms and not heating up

Hello,

After my last Problem I was again working on the Ozone Sensor.

I am not sure what's going on, but if I start the program the calibration is finished under a minute and either shows 0 Ohms, or inf Ohms as the R0 value.

Also the Sensor does not feel like it is warming up.

I measured the Voltages: the heater circuit gets 5V and the Sensor circuit about 2.6V

I am really sure that my wiring is correct. I use the same setup as you and have bought the same Moduls(Transistor is a bcc33725, since I saw a few different versions there)

Do you have any clue for me as to what might be wrong? Even without the "burn in" it should heat up and give me some results at least shouldn't it?

Usage of DHT11 and MQ131

I got the "HI.CONCENTRATION" ino to work and have good readings. I'm trying to get this sensor and a MHT11 temp/humidity sensor to operate on the same sketch and output T / H / O3 on the same display. Baud rate on MQ131 sketch is 115200, on DHT11, the baud rate is 9600. Can I either change the MQ131 sketch to 9600 or operate two baud rates on separate serial ports? If I do that, I don't think I can monitor both. Thanks!

Originally posted by @chazbevo in #17 (comment)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.