Every observatory need a meteostation thus here is the induino version!
- High precision barometer.
- Relative Humidity (HR) reading.
- Dewpoint calculation.
- Far sky temperature using Infrared Thermometer for determining cloud cover.
- Photocell to read sun radiance levels.
- One internal thermometer.
- Two external thermometer.
- Clouldy, dewing, freezing and daylight digital flag.
- Sensor malfunction flags.
- Web Interface with historical data.
We use this breakboard with a BMP085 sensor and Adafruit library and examples. It is a very precise barometer normally include in gadgets to determine altitude from sea level. Also include a thermometer inside that we use to read the internal case temperature. Is a I2C component calibrate at factory. The breadboard include the pull-up resistor for the I2C. Cost about 9$
Relative humidity sensor:
We chose DHT22 sensor that is the cheaper one (humidity sensors are expensive). It use a non standard one wire protocol but it is easy to read the values with this arduino DHT library . Also include a temperature sensor need for its HR calculations but available for direct ambient measurement. I buy this one. Cost about 11$.
The Melexis MLX90614 chip. Really it is not a cloud sensor. It is a Infra-red thermometer that can be uses for such propose. Measuring the sky temperature and comparing with ambient temperature is a good indicator of how cloudy is the sky. It is connected also to the arduino I2C bus and is read using the code and the information of this great blog. Cost about 11$. You can buy from a general component store such digikey or mouse.
This is a photocell canibalized from a chiness litle toy. I put 10k Ohm resistor between the terminals and connect it to the arduino GND and analog input A0. Voltage readings are proportional to the incident light.
Follow below schematic to connect all together:
COMPILING THE DRIVER
Follow the general instructions.
BURNING THE FIRMWARE
This project uses several non-standard library. To make the things easy all this libraries are bundle with the indiduino firmware. Just mention them to said thanks and recognize intellectual property of the authors:
Burn “indi-code/3partie/indi-duino/device/firmware/meteoINDIDUINO” on your arduino board. Test.
If cloud are not detect properly possible you need to make some adjustments. Edit indiduinoMETE.ino and change correction formula or cloud temperature parameters empirically.//Cloudy sky is warmer that clear sky. Thus sky temperature meassure by IR sensor
//is a good indicator to estimate cloud cover. However IR really meassure the
//temperatura of all the air column above increassing with ambient temperature.
//So it is important include some correction factor:
//From AAG Cloudwatcher formula. Need to improve futher.
//Sky temp correction factor. Tsky=Tsky_meassure – Tcorrection
//Formula Tcorrection = (K1 / 100) * (Thr – K2 / 10) + (K3 / 100) * pow((exp (K4 / 1000* Thr)) , (K5 / 100));
#define K1 33 #define K2 0 #define K3 4 #define K4 100 #define K5 100 //Clear sky corrected temperature (temp below means 0% clouds) #define CLOUD_TEMP_CLEAR -8 //Totally cover sky corrected temperature (temp above means 100% clouds) #define CLOUD_TEMP_OVERCAST 0 //Activation treshold for cloudFlag (%) #define CLOUD_FLAG_PERCENT 30