I did not think it would take this long to get the water-level monitor installed. I figured out the trigonometry part last year and started building the contraption to put into the spring house. Part of the delay was due to a cold spell in January which left a three inch layer of ice in the spring house, and then I got distracted for a while.
Figure 1. On January 6, 2018 there was a solid layer of ice on top of the water in the spring house. This was not compatible with my idea to measure water depth with a tilting arm floating on the water surface. A week later a warm rain storm eliminated the ice and raised the water level to the two overflow pipes in the wall to the left (see lead image).
Figure 2. The completed contraption ready for installation. The tilt of the arm depends on the height of the white packing material which will float on the water surface.
Figure 3. The blue box houses an accelerometer which senses the angle of the tilting arm. A Mini Pearl Logger is in the peanut butter jar.
Figure 4. The accelerometer is solidly attached inside the blue box, but the box can be easily detached from the tilting arm so the electronics can be removed separately from the mechanical contraption. Both the upper and lower hinges are tubes which rotate around fixed dowels.
Figure 5. The float is an intact piece of packing material from the shipment of some appliance. The black tube is glued where it passes through the wooden arm and rotates freely around the wooden dowel.
Figure 6. The whole thing installed in the spring house.
Figure 7. Phone cables have four wires so are perfect for I2C sensors. Two I2C sensors (the accelerometer and a BME280) send their data back to the Mini Pearl Logger via phone cable. The black cable connects to a DS18B20 temperature sensor in the water.
Figure 8. The lid of the peanut butter jar has two Hull Penetrators made from brass lamp parts which pass all three data cables. Some silicone sealant at the top of the brass tubes seals them, but I did not pot the entire tube because this is not intended for submersion. The Mini Pearl Logger has a Log-a-Long Timer set to turn on the logger every five minutes so it can collect data and save it to the microSD card. Data saved include air and water temperature, humidity, barometric pressure, tilt angle of the arm, and water level (height above the spring house bottom). The Arduino computes water level from constants (arm length, height of the upper hinge above the spring house bottom, height of the lower hinge above the water) and the variable tilt angle of the arm.
Figure 9. The DS18B20 sensor is intended for submersion, but the waterproofing seems to be just one piece of heat shrink tubing (bottom). So I added a second piece of heat shrink tubing and some silicone sealant at the ends of the tubing (top).
Figure 10. A BME280 sensor for temperature, humidity, and barometric pressure is suspended near the roof of the spring house. It is under cover but otherwise completely exposed to the air. Every electrical connection in the water-level monitor is soldered to avoid corrosion issues in the damp environment.
Figure 11. The spring house was not overflowing through the pipes (left) for a short period in early February. The water flow was high and the level was just a few inches below the overflow pipes. Other than this period, water has been flowing through the overflow pipes most of the time since mid January.
There should be a couple of days worth of data on the microSD card by now, but it will be rather boring because the water flow has been high enough that the level is determined by the overflow pipes. That might be the case for a while, but eventually I will report on how everything is working.