Giter Site home page Giter Site logo

arkium / water_mon_sys_esp32 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from iqbalfauzana/water_mon_sys_esp32

0.0 0.0 0.0 149 KB

Sensor Nodes (ESP32-based) part of Wastewater Quality Monitoring System. This project was made as my final project at Electrical Engineering Bachelor Program at Institut Teknologi Bandung.

C++ 100.00%

water_mon_sys_esp32's Introduction

WASTEWATER QUALITY MONITORING SYSTEM - SENSOR NODES

This wastewater monitoring system consists of two main types of subsystems: Sensor Nodes and Sink Node. The Sensor Nodes, with ESP32 as processor, obtain the sensor data from the wastewater, display it, and send it to the Sink Node. This page will focus on explaining the Sensor Nodes. To see the explanation of Sink Node, please click this link.

This system has two Sensor Nodes. Sensor Node 1 has four sensor slots: pH/NH3-N (these two sensors can use the same slot alternately), electrical conductivity or EC (converted to Total Suspended Solids or TSS), turbidity (converted to TSS), and temperature (as a corrector). Sensor Node 1 uses Zigbee XBee S2C module (set to transparent mode for UART communication) to communicate wirelessly with Sink Node. Sensor Node 2 has two sensor slots: pH/NH3-N and temperature. Sensor Node 2 uses cables to communicate with Sink Node.

The Sensor Nodes have a feature that lets users calibrate sensors while the system is still running.

Hardware

Schematics

The pictures below are the schematic and board for Sensor Node 1. Sensor Node 1 Sensor Node 1 Board

The pictures below are the schematic and board for Sensor Node 2. Sensor Node 2 Sensor Node 2 Board

Please note that both schematics need to be rotated 180 degrees to make the OLED display readable.

Product Links of Components

Firmware Preparation

  1. Download this repository and put all the files into a folder named "TA_ESP32_Sensors_Integrated_with_Raspi".
  2. Open the file "TA_ESP32_Sensors_Integrated_with_Raspi.ino" using Arduino IDE.
  3. Install these libraries through the library manager.
Library Name Author Library Usage
DallasTemperature.h Miles Burton Temperature sensor
OneWire.h Paul Stoffregen Temperature sensor
Adafruit_GFX.h Adafruit OLED Display
Adafruit_SH110X.h Adafruit OLED Display
  1. Upload to ESP32.

Calibrating Sensors

  1. Insert the temperature sensor probe and the one you want to calibrate into the container of one of the calibration solutions.
  2. From sleep mode, to wake up the Sensor Node, press the CAL button until the sensor selection menu appears on the OLED display.
  3. Press the MODE button to switch sensors. After the words "[sensor name] Calibration" correspond to the sensor you want to calibrate, press the CAL button to enter the calibration solution selection menu.
  4. Press the MODE button to switch the calibration solution. After the writing on the OLED display matches the solution being calibrated, press the CAL button to enter calibration mode.
  5. Wait for the reading to stabilize. Press the CAL button to temporarily store the calibration value. Press the MODE button to exit calibration mode and return to the calibration solution selection menu.
  6. Transfer the sensor probe to another calibration solution. Repeat steps 4 and 5 for this calibration solution. Do this for all available calibration solutions for the sensor.
  7. After the calibration is complete for all solutions, on the solution selection menu, press the MODE button until the display shows "Save & Exit". Press the CAL button to return to the main menu and store the calibration values ​​in the EEPROM memory so that the calibration values ​​can still be accessed even after the system is turned off and on again. You can also select "Cancel & Exit" to cancel values ​​that have not been stored in the EEPROM memory.
  8. From the main menu, other sensors can be selected for calibration. To put the system into deep sleep mode, select “Exit” on the main menu.
  9. To check the calibration value, restart the calibration mode and pay attention to the value shown on the display.
    After calibration, keep the Sensor Node powered and put all the sensors into the liquid which will be observed. The Sensor Node will perform data reading after receiving a signal from the Sink Node.

Continuation

This page is the first part of the project explanation. Click this link to see the second part.

water_mon_sys_esp32's People

Contributors

iqbalfauzana 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.