i'm looking for components to build a home weather station but i hit the first problem which the humidity sensor, the one i tried to use was a htu21d (breakout out board by SparkFun) but the sensor quickly started to give bad RH% readings, turn out this one wont work for me cause my city has a humidity around the 80%+ mark.
so my question is what sensor i can use that will not have saturation problems on this high humidity environment?
BME280
I would go for the old DHT22.
When measuring humidity (and temperature as well) inside residential rooms, keep in mind that there is a variation among different areas of the room, so one can never get one single value, but rather a set of 2-3-4-5 or more values.
That being said, I will favor a pair or even three DHT22 placed in key areas of the room instead of one very accurate sensor.
That DHT 22 is influenced by wind, so it is advisable to shield it properly.
++++
I work with BMP280 and it is very nice, reliable, accurate, but I found difficult to work with related libraries. But that was my case (clone of arduino uno, cone of BMP280).
I did not use a BME280, though.
I don't think there exist BMP280 clones as such - there are lots of breakout boards, but the sensor itself appears far too complex to me to simply clone.
The DHT22 works OK but the constant high humidity is a problem, I experience that in my climate (we regularly have days of 99-100% humidity, and the sensors tend to get stuck at 99.9% and stay there).
Could be a genuino BMP280, I dont know. The shop from where I brought usually indicates a brand when it is one and it did not in this case. But indeed, who knows, it might me just an omission.
Is this one:
+++
I have very bad experience with the libraries for this sensor. It took me days to match one. The Adafruit one didnt work, despite all advises on the internet about what and how to modify. Another one I found on the git didnt even compile.
In my case about this sensor, I had to figure out whether it is about wiring, code or other mistakes. That was very laborious and took a lot of time. Even today I am not quite sure what the problem was. The library that eventually work was a rather unknown one.
+++
From my history, home thermostats are more tricky than expected.
For instance, in an apartment room I saw the temperature sensor on the kitchen wall, to regulate the dormitory. Of course, it was terrible cold in the dorm, but the owner refused to open the heating because the thermometer showed high temperature in the place where the senor was placed. This is an extreme case and somehow easy to spot. But in another case, the owner was very committed to do whatever needed to heat the room. He ended up however by disconnecting the whole automatic system and go for manual. Neither the seller of the automatic heating system was able to tell what went wrong.
++++
For real life situation, what I found as reliable is to put 2 thermometers in 2 opposite sides of the room and take care about thermal insulation. Thermal insulation is not only about having the reccomennded thickness of the insulation layer (which I dare to say in some cases is not observed anyway because it looks to much for the constructor to put on :-)) but also about identification of thermal bridges.
I suspect that some "industrial" thermostat solutions are nothing more than hobby well-marketed.
In my opinion, my experience described above may help to decide about design of humidity control, beyond pure technical issues - for which I am not the right person to advise. I pointed to DH22 is an option because it is very simple to handle and code and cheap enough.
falexandru:
Could be a genuino BMP280, I dont know. The shop from where I brought usually indicates a brand when it is one and it did not in this case. But indeed, who knows, it might me just an omission.
I don't know if Bosch makes breakout boards - anyway you'd see the brand of the maker of the breakout board, not of the maker of the sensor that's on the board. So that part makes sense to me.
Back to your connection problems: be aware that this is a 3.3V sensor. So you need a 3.3V Arduino (or NodeMCU or so), or you need level shifters, or you need a breakout board that has level shifters and regulator on board (some such breakout boards have this, others don't).
On my NodeMCU I've had no problems with this sensor. Plug & play with the Adafruit library. Do check whether you see the sensor at all, and which address it's at, using an I2C scanner.
I eventually used a level shifter 3.3V to connect to my Arduino nano and that unknown library. Now it works fine. The list of obstacles to obtain full functionality was however to long to my taste :-).
On long run, I also plan to go for 3.3 C Arduino boards. NodeMCU looks great (I didnt touch one ever, but from the specifications and taking into account the microcontroller that seems to be very respected). With my precarious knowledge, I wont dare to use the wi-fi connection, thus that part may remain un-used. Taking into account its reasonable price, its un-used (but paid) wi-fi part may not be a problem, in my case.
Now I am on 5V Arduino nano, manily because my start on Uno - great piece to learn, BTW! I have a genuine Arduino UNO one.
Indeed, tinkering lots of connections generated by a level shifter, a 3.3 Board is a more workable alternative. The only point which I wonder about a 3.3 V board is how to power it externally. One solution appears to be 1 x 18650 Li-Ion battery connected straight to the board. If alkaline piles are used, then I guess it will take 3 of 1.5 V + a regulator to 3.3. V. Not sure, just my first impressions, I have no idea how most people power the 3.3V boards.
The whole reason of using NodeMCU is the WiFi connectivity and web server capabilities. That's what makes the processor so great.
The processor as such is indeed very capable (80 MHz, 32-bit, 4 MB flash, 56 kB or so RAM) but it has limited pins (only one analog in), PWM and I2C are bit banged (so prone to glitches - rather than AVR which does all that in hardware), and it has some other limitations compared to the AVR microcontrollers.
Do read this guide on the ESP8266 to learn more about its capabilities (and limitations compared to the AVR chips). You may also be interested in the ESP32, a major upgrade of the ESP8266 (faster, more memory, more pins, more peripherals built in, etc).
I like the low consumption and fast operation of ESP32, as described in:
https://www.espressif.com/en/products/hardware/esp32/overview
I am mainly into sensors and man-controlled robotics, so the wi-fi side looks a bit frightening to me. I do not know much about networking either. although I am aware IoT is the future.
Comparing with Arduino MKR, the boards based pn ES32 I can find here are cheaper.
The advantage of running 3.3 sensors without level shifter is in my case very relevant while still, limitation in I2C are also relevant.