Due to their small size, bees are greatly affected by rainfall. If a bee is hit by a raindrop, it can be killed from the impact, or seriously injured. Even light rain can cause a bee to be knocked to the ground, and if a bee has wet wings, it’s possible it won’t be able to fly. Due to these reasons it’s much better for the bee to not venture outside when it’s raining.

Rain will also affect the amount of pollen in a given area. Long periods of wet weather, or even a short burst of heavy downpour, will wash away pollen. Furthermore, plants tend to prefer to release pollen in warm, dry weather, rather than during a downpour.

A positive aspect to rain in regards to honey yields however is that heavy rainfall in Autumn or early Winter can result in a larger pollen count in the coming Spring. And more pollen means more honey!

In this instructable, we're gonna show you how to build a rainfall measurement system using

• A few resistors
• A potentiometer
• 2 358 op amps
• An arduino
• A 2000ml graduated cylinder fitted with a 24PC pressure sensor connected at its base, which contains a wheatstone bridge arrangement.
• A voltmeter
• DC power supplies
• A breadboard
• Snips and wire cutters
• Single strand wire

We'll start by finding out what the minimum and maximum outputs of the pressure sensor are. From here, we will connect it to an instrumentation amplifier so that our maximum output becomes 5V. Then we're gonna connect to the arduino. Lastly, we're gonna make a code that will translate the voltage outputs into millimeters.

Step 1: Getting Your Range

The rainfall catcher is a modified graduated cylinder used to turn a volume of water into a voltage output. The one used in this experiment came pre assembled. It has a built in Wheatstone bridge that we will supply with 10V DC. A pressure sensor at the bottom of the graduated cylinder detects how much water has been collected, and can then give a corresponding voltage output based on this information.

To get your range, take a voltage measurement when there is no water in the graduated cylinder and again when the graduated cylinder is full. This will give you your voltage range. Once the relationship between the amount of water and the voltage output has been found, we can use arduino code to change the voltage output into millimeters, but first we need to amplify this Vout into a larger, more usable value.

Step 2: Building an Amplifier

For this build, an instrumentation amplifier was used. The circuit was built using 6 22k ohm resistors, and a 200 ohm potentiometer. The above image shows the wiring of the circuit, as well as the positioning of the potentiometer. The red and blue wires are for the amplifier excitation positive and negative inputs. The green and yellow wires are the inputs from the pressure sensor. Finally, the white wire and the black give the output voltage from the amplifier.

Next, 6 22k ohm resistors need to be added. You can follow the picture of the complete circuit, or make it from the circuit diagram.

The potentiometer is the only restive component that adjusts the amplification of the circuit. Its value can be adjusted with a screwdriver. To get the correct collaboration, simulate a test using the maximum output voltage of the rainfall measurung apparatus. Add +15V and -15V to the amplifier, and finally, use a voltmeter to measure the output the amplifier is giving. Adjust the potentiometer until the voltage out of the amplifier is 5V.

Now that we have our amplifier built, just the code is left to be done!

Step 3: Coding the Arduino

The code for the Arduino aims to convert the voltage obtained from the amplifier output to a value of "rainfall" corresponding to the quantity of rain measured by the graduated cylinder.

The amount of water collected is measured in millimeters.

The output of the amplifier must be connected to an Arduino input pin, so as to obtain measurements of the amplified voltage as a variable in the equation that relates the signal obtained to the amount of precipitation.

The following code translates the voltage amplified into a unit that measures the rainfall in a given area:

Rain Sensor
#define sensorPin 0
float Rain; 
float SensorValue;
void setup() 
Serial.begin(9600); Serial.println("Processing data... .... ... ...");
void loop() 
GetTemp(); Serial.print("Amount of rain: "); Serial.print(Rain); Serial.print("mm"); Serial.print(" DU = "); Serial.println(SensorValue);
delay (2000);
void GetTemp() 
SensorValue = analogRead(sensorPin);        //Read sensor            
Rain = ((float SensorValue)/0.0025);        
Rain = Rain*0.00847;                          //Convert signal to mm
<p>I had no idea rain drops could kill a bee!</p>

About This Instructable




More by AnnieDobbyn:Rainfall Measurement System for a Beehive 
Add instructable to: