This simple Arduino project, which I'm calling ArDewpoint, uses two sensors to compare the moisture content inside and outside of a structure. It triggers a relay to drive a fan if there is less moisture in the outside air, bringing down the water content of the inside air.
It consists of two remote sensors, and a central control box. Inside the control box there is a display that provides various parameters including the current status of the sensors along with statistics
Unlike many other humidity and temperature projects out there for Arduino, I do not use the popular DHT style sensors. This is because I found they demonstrated poor precision: I purchased three different sensors and had three humidity values which differed between 5-10%. Instead of attempting a complex calibration procedure, I ordered some BME280 sensors, which are based on a Bosch chip and are meant for smartphones. This paid off, as these sensors are very precise and stable. It's worth spending an extra $10-$20 for a project that actually will work!
This build should be suitable for Arduino beginners. The project mostly uses the I2C serial bus which makes the wiring very simple. Also, the libraries used by the code make the programming very straightforward. The only hiccups you might encounter will be related to driving the I2C bus over the long wires used for the sensors.
When storing materials in un-airconditioned spaces, the biggest enemy is not actually temperature, but moisture content. If you are storing items like corrodible metals or mold-prone documents in a basement or attic, your ultimate goal is not to decrease temperature, but to decrease the absolute moisture content of the air (A/C provides this along with cooling the air).
When choosing to ventilate an environment like this, the two commonly available options are a thermostat or humidistat. The thermostat will ventilate once a set temperature is passed, the humidistat a humidity reading. These systems have the obvious flaw of not knowing if the outside conditions might actually be worse!
The next step is two use two humidity sensors and compare the inside values. However this falls short. Relative Humidity only measures the moisture content of the air relative to the temperature it is at. Colder air at the same RH will contain less moisture overall.
Thus, the best solution is to use two sensors that measure the total moisture content of the air. Dew point provides this value, and is calculated based on temperature and relative humidity readings.
Because finding the dew point requires taking in multiple sensor values and performing arithmetic on them, a programmable micro controller like the Arduino is ideal for this project.
When ordering parts, take into account the quality and reliability of the parts you are buying. This is indented to be anpermanent instillation in a non-climate controlled environment, and also handles 120V AC power if you use AC fans. Is the Arduino you are buying up to the task of running 24/7 in a hot and humid environment?
-Arduino Uno or equivalent
-9V DC Power supply for the Arduino
-2X BME_280 Pressure, Humidity and Temperature Sensors
-This is a little tricky because of I2C addresses. I ordered one DIYMALL sensor and one from Adafruit. This is because the DIYMALL sensor is cheaper, but its address is very difficult to change. You can also just order two from Adafruit
-2 1K Resistors
-Solderable of Solderless Breadboard with jumpers and thing gauge wire
Hardware store stuff:
-2 Telephone cables of desired length (keep in mind I have only tested up to 12ft)
-4 Cat3/RJ11/RJ12 Jacks, the type with the quick connect pinouts
-Some 1" PVC pipe with 4 endcaps
-Drill and assorted bits
-Soldering Iron, Solder (fine)
-Hacksaw or PVC Cutter