Introduction
In this video I have made a wireless water level controller using Arduino. With this circuit we can automate our water storage system wirelessly. I hope you will enjoy this video.
A water level indicator is a system that relays information back to a control panel to indicate whether a body of water has a high or low water level. Some water level indicators use a combination of probe sensors or float switches to sense water levels.
The operation of water level controller is based on the fact that water conducts electricity. As the water level rises or fall the sensing probes and circuits of the controller detect the same. These signals are used to switch ON or switch OFF the pump motor as per requirements.
The water level indicator circuits are used in factories, chemical plants, and electrical substations and in other liquid storage systems. There are many possible uses for this simple system, examples include monitoring a sump pit (to control pump activation), rainfall detection, and leakage detection.
A water level is easy and inexpensive to make, making it perfect for leveling a deck or shed foundation, and more accurate than a carpenter’s level over long distances. A water level can also be used around corners that are out of line of sight, something a laser or builder’s level can’t do.
Circuit Diagram
of Wireless Water Level Controller
Circuit Diagram of TRANSMITTER
Circuit Diagram of RECEIVER
More Circuit Layouts
Programming Code
used in Wireless Water Level Controller
Transmitter Code
#include <VirtualWire.h> char msg1; void setup () { // Initialise the IO and ISR vw_setup (2000); // Bits per sec vw_set_tx_pin (12); // Transmitter Data Pin to Digital Pin 3 pinMode(2, INPUT_PULLUP); pinMode(3, INPUT_PULLUP); pinMode(4, INPUT_PULLUP); pinMode(5, INPUT_PULLUP); pinMode(6, INPUT_PULLUP); } void loop () { if(!digitalRead(6)){ char *msg2 = "5"; vw_send ((uint8_t *) msg2, strlen (msg2)); vw_wait_tx (); } else if(!digitalRead(5)){ char *msg2 = "4"; vw_send ((uint8_t *) msg2, strlen (msg2)); vw_wait_tx (); } else if(!digitalRead(4)){ char *msg2 = "3"; vw_send ((uint8_t *) msg2, strlen (msg2)); vw_wait_tx (); } else if(!digitalRead(3)){ char *msg2 = "2"; vw_send ((uint8_t *) msg2, strlen (msg2)); vw_wait_tx (); } else if(!digitalRead(2)){ char *msg2 = "1"; vw_send ((uint8_t *) msg2, strlen (msg2)); vw_wait_tx (); } else{ char *msg2 = "0"; vw_send ((uint8_t *) msg2, strlen (msg2)); vw_wait_tx (); } }
Receiver Code
#include <VirtualWire.h> bool state; void setup () { Serial.begin (9600); // Debugging only // Initialise the IO and ISR vw_setup (2000); // Bits per sec vw_set_rx_pin (11); // Rx Data pin to Digital Pin 2 vw_rx_start (); // Start the receiver PLL running pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, INPUT_PULLUP); } void loop () { uint8_t buf [VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN; if (vw_get_message (buf, &buflen)) { int i; // Message with a good checksum received, dump it //Serial.println(buf [0]); switch(buf [0]){ case '0': digitalWrite(3,0); digitalWrite(4,0); digitalWrite(5,0); digitalWrite(6,0); digitalWrite(7,0); break; case '1': digitalWrite(3,1); digitalWrite(4,0); digitalWrite(5,0); digitalWrite(6,0); digitalWrite(7,0); break; case '2': digitalWrite(3,1); digitalWrite(4,1); digitalWrite(5,0); digitalWrite(6,0); digitalWrite(7,0); break; case '3': digitalWrite(3,1); digitalWrite(4,1); digitalWrite(5,1); digitalWrite(6,0); digitalWrite(7,0); break; case '4': digitalWrite(3,1); digitalWrite(4,1); digitalWrite(5,1); digitalWrite(6,1); digitalWrite(7,0); break; case '5': digitalWrite(3,1); digitalWrite(4,1); digitalWrite(5,1); digitalWrite(6,1); digitalWrite(7,1); break; } if(buf [0]<50) digitalWrite(2,1); if(buf [0]>52) digitalWrite(2,0); else if(!digitalRead(8)&!state){state=1;digitalWrite(2,!digitalRead(2)); } if(digitalRead(8))state=0; } }
Components List
used in Wireless Water Level Controller
- 1x Arduino Nano
- 1 X 433Mhz RF Modules
- 1X BC547 Transistor
- 1X 1N4148 Diode
- 1x Push Button Nano
- 1x 1k Resistor https://s.click.aliexpress.com/e/_dW4…
- 1x 5V Relay
- 2x 2 Pin Terminal Blocks
- JUMPER WIRES
Download Gerber File