GithubHelp home page GithubHelp logo

stephaniekyyip / electronicraingauge Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 2.76 MB

Electronic rain gauge using an ESP8266 microcontroller for my senior design project.

C++ 100.00%
esp8266 rain-gauge

electronicraingauge's Introduction

Electronic Rain Gauge

rain gauge

Overview

For my senior design project, my team was tasked with with creating an environmental sensor curriculum for middle school students. We decided to create an electronic rain gauge with a corresponding curriculum.

My role in the project included constructing the rain gauge hardware and writing C/ C++ code using the Arduino IDE for the microcontroller in order to control the various electronic components.

How the Rain Gauge Works

The rain gauge design involves a funnel attached to a PVC pipe that allowed water to be collected in the PVC. At the bottom of the PVC pipe is a PVC container that holds the waterproofed pressure sensor, which measures the pressure of the rainwater. Wires from the pressure sensor are threaded through a waterproof box to connect the sensor to the rest of the electronic components. The second pressure sensor on the breadboard is used to find the atmospheric pressure.

Using the two pressure sensors, the differential pressure can be calculated. The depth of the rainwater collected in the PVC tube can be found using the differential pressure after calibration is done. The differential pressure, along with the current time measured by the Real Time Clock (RTC), is logged onto a micro SD card every 15 minutes. The idea is that the rain gauge can be set outside to automatically collect rain data with minimal maintenance apart from retrieving the SD card to collect the data and changing the batteries.

Structure of the Rain Gauge Code

Code located in rain_gauge_datalogging.ino

  • In a continous loop:
    • Retrieve data from the pressure sensors
    • Get the time from the real time clock
    • Create new text file or open existing text file on the SD card
    • Save the pressure data and current time onto the text file
    • Put the microcontroller to sleep to conserve power
    • Wake up the microcontroller after 15 minutes

Software Libraries Used

Hardware Components

rain gauge electronics

  • Microcontroller (Wemos D1 Mini ESP8266)
  • Pressure Sensors x2 (BMP280)
  • Real Time Clock (DS1307)
  • SD Card Reader (Catalex)
  • microSD card
  • 4-AA Battery Pack
  • Switch (for turning the microcontroller on/off)
  • 10k resistor for switch
  • LCD Screen (LCD1602)

For a more details on this project, please visit my website here.

electronicraingauge's People

Contributors

stephaniekyyip avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.