Skip to content

An Arduino-based water level monitoring system with control via web and mobile apps. Uses ultrasonic and TDS sensors for monitoring.

Notifications You must be signed in to change notification settings

Thisal-D/Smart-Water-Tank-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smart Water Tank System

An Arduino-based water level and quality monitoring system with control via web and mobile apps. Uses ultrasonic and TDS sensors to measure water level and quality.

Screenshots

Overview

This project features an Arduino-based smart water tank system that monitors water levels and quality using an ultrasonic sensor and a TDS sensor. The system provides data and control via a web app and a mobile app built with React Native.

Features

  • Automated Control: Automatically turns the water pump on/off based on sensor data.
  • Web Interface: Monitor and control the system via a web browser.
  • Mobile App: Access monitoring and control features on the go.
  • Alerts & Notifications: Uses a buzzer and LEDs for system status indications.

Components

  • ESP32: Microcontroller handling sensor data and pump control.
  • Ultrasonic Sensor: Measures water level.
  • TDS Sensor: Monitors water quality.
  • Buzzer: Provides alerts for critical water conditions.
  • LED Indicators:
    • Red: System status indication.
    • Green: Water pump status indication.
  • Internet Connectivity: Enables remote monitoring and control via web and mobile apps.

Project Structure

Smart-Water-Tank-System
    │
    ├── Arduino/
    │        └── sketch_oct6a
    │                   ├── sketch_oct6a.ino
    │                   └── Functions.ino
    │
    ├── HttpServer/
    │         └──HttpServer.py/
    │
    ├── MobileApp/
    │
    └── WebApp/


Setup Guide

  1. Connect the sensors and actuators to the Arduino.
  2. Install the required libraries from libraries.txt.
  3. Upload the sketch_oct6a.ino sketch to the Arduino.
  1. Ensure Python is installed (Download Python).

  2. Install dependencies from requirement.txt:

    pip install -r requirements.txt
  1. Open the index.html file in a web browser.
  2. Use the interface to monitor and control the water levels remotely.
  1. Clone the MobileApp directory.

  2. Install Node.js and npm (Download Node.js).

  3. Install React Native CLI globally:

    npm install -g react-native-cli
  4. Navigate to the mobile app directory:

    cd MobileApp/ArduinoApp
  5. Running the App:

    • Android:
      • Connect your Android device via USB.
      • Enable USB debugging (Settings > Developer options > USB debugging).
    • iOS: (Not tested)
      • Open the project in Xcode (MobileApp/ios > .xcworkspace).
      • Select your connected device and click Run.
  6. Start the app:

    npx expo start

Contributors

Main Contributors:


License

This project is open-source and available under the MIT License.


Feedback & Support

For any issues or improvements, feel free to open an issue or submit a pull request on GitHub!