User manual - modified on 2021-05-28 Here we are using an automatic water level controller with arduino nano. Mainly it is checking one level from lower tank and two levels from the upper tank 1) L1 - lower tank sense line 2) U1 - upper tank top level sense line (tank full) 3) U2 - upper tank minimum leve sense line (water will not go below this limit, provided water and electricity available)* *some additional protections may delay the pumping a little bit All these sense lines are pulled up to VCC with 220K resistors. Two bi colour leds are provided for indication and one output is provided for powering the motor. Motor is powered using a relay. That relay is excited using a transistor which is driven by the Arduino. Bi colour LED 1 usage If not glowing, some problem exists in the system (most probably power won't be on) If red alone is glowing, top tank doesn't have minimum level of water If green alone is glowing, water level is in between minimum level and maximum level. If amber, tank is full.(Please note after pumping stops, it may go to amber, due to ripples). Bi colour LED 2 usage In normal condition, it will be off (no colour). If red glows, that means lower tank has no water (in order for pumping) most probably it will retry after 2 hours If green glows, it means motor is working. If amber, some problem exists for the board. Please remove power supply and wait for 1 minute. Then try powering on again. amber means, lower tank has no water and motor is on for pumping (it is not expected). These are the basic things. Some advance features are included in the system. It helps water level controller to work even if it is having some problems. You can see a small SMD LED in the board. It shows the health status of the system. Normally it blinks 3 times with 2 seconds intervel. Each blink indicates each exception status. In case of an error, it blinks two times instead of one. If you see more than 2 continous blinks (300ms ON,OFF time), then there is some issue. Actually these are three slots. Each slot will give single LED blink in case of OK and two LED blink in case of error. First slot - Exception 1 - Motor tried to turn ON/OFF fastly (less than min_motor_toggle_time) Second slot - Exception 2 - Overhead tank lower sensor faulty Third slot - Exception 3 - Overhead tank top sensor faulty/heavy water usage/motor not working Buzzer will give alert while overhead tank is LOW or FULL which helps for manual operation of motor. Two countinous beeps with 2 seconds intervel three times means water level is full - you may turn OFF motor in manual operation One beep with 2 seconds intervel for three times means water level is low - you may turn ON motor in manual operation Requirements 1) All inputs (sense lines) should be pulled up to VCC 2) If low level tank has no water, it should not pump and a seperate indication should be there 3) If high level tank has no water, pump the water (while top level of upper tank is full) 4) Terminologies are L1 - Lower tank high L2 - Lower tank common U1 - Upper tank high U2 - Upper tank lower U3 - Upper tank common 5) If L1 is high(no water), don't pump(if tries to pump again and fails , give 2hr gap) 6) If U1 & U2 is high(no water), pump upto U1 is zero 7) Error should be detected in case sensor is not working(if found) Basic requirements are 5&6