Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

Arduino and ESP8266 Controlled Water Quality Monitoring System with Automated Pumps

View and Edit Project In Cirkit DesignerImage of Arduino and ESP8266 Controlled Water Quality Monitoring System with Automated Pumps

Circuit Documentation

Summary

The circuit in question is designed to monitor and control an aquatic environment, utilizing various sensors to measure pH levels, dissolved oxygen, and electrical conductivity. It also includes a WiFi module for potential remote communication and two water pumps controlled via a relay module. An Arduino UNO serves as the central microcontroller, interfacing with the sensors and controlling the relay module based on the sensor inputs.

Component List

pH Degree Sensor Module

DFRobot Dissolved Oxygen Sensor

Modulo Sensor Conductividad Electrica / Electrical Conductivity

ESP8266 ESP-01 WiFi Module

Water Pump

Arduino UNO

Relay Module 2 Channel

Wiring Details

pH Degree Sensor Module

DFRobot Dissolved Oxygen Sensor

Modulo Sensor Conductividad Electrica / Electrical Conductivity

ESP8266 ESP-01 WiFi Module

Water Pump

Arduino UNO

Relay Module 2 Channel

Documented Code

Arduino UNO Code

void setup() {
  // Initialize serial communication for debugging
  Serial.begin(9600);
  pinMode(9, OUTPUT);
  pinMode(A0, INPUT);
  pinMode(A1, INPUT);
  pinMode(A2, INPUT);
}

void loop() {
  // Read sensor values
  int pHValue = analogRead(A0);
  int oxygenValue = analogRead(A1);
  int conductivityValue = analogRead(A2);

  // Print sensor values to the serial monitor
  Serial.print("pH Value: ");
  Serial.println(pHValue);
  Serial.print("Oxygen Value: ");
  Serial.println(oxygenValue);
  Serial.print("Conductivity Value: ");
  Serial.println(conductivityValue);

  // Control the water pumps
  digitalWrite(9, HIGH); // Turn the water pumps on
  delay(1000); // Keep the pumps on for 1 second
  digitalWrite(9, LOW); // Turn the water pumps off
  delay(1000); // Keep the pumps off for 1 second
}

Note: The code for the other microcontrollers is not provided with specific functionality, hence not included in the documentation.