You are on page 1of 3

START

Initialize PUMP, Ultrasonic


Sonar, and LED’s

Set PUMP == OFF

Led’s == LOW

Empty the Tank

Read tanks HEIGHT


Set low, mid and high-water level:
Low = 30% Height READ TANKS
Mid = 50% Height HEIGHT

High = 90% Height

IS IS mid <= IS low <


IS
DISTANCE NO DISTANCE NO DISTANCE NO DISTANCE <
>= high && < high&& mid &&
<= low &&
PUMP == PUMP == PUMP ==
PUMP ==
OFF ON OFF OFF

YES YES YES YES


S

ON RED_LED ON GREEN_LED
BLINK GREEN_LED BLINK RED_LED

ON PUMP OFF PUMP

END
BLINK GREEN_LED BLINK RED_LED

OFF Green Led - OFF RED Led -


digitalWrite(GREEN_PI digitalWrite(GREEN_PI
N, LOW) N, LOW)

Delay for 0.5 Delay for 0.5


seconds - delay (500) seconds - delay (500)

ON Green Led - ON RED Led -


digitalWrite(GREEN_PI digitalWrite(GREEN_PI
N, HIGH) N, HIGH)

Delay for 0.5 Delay for 0.5


seconds - delay (500) seconds - delay (500)

RETURN RETURN
READ TANKS HEIGHT READ DISTANCE ON PUMP

ON Red Led -
Off trigger - Off trigger - digitalWrite(RED_PIN, HIGH)
digitalWrite(trigger_PI digitalWrite(trigger_PI
N, LOW) N, LOW)
ON Blue Led -
digitalWrite(BLUE_PIN,
HIGH)
delayMicroseconds delayMicroseconds
(5) (5)
+V on Motor positive side -
digitalWrite(Mpositive_PIN,H
On trigger - On trigger - IGH)
digitalWrite(trigger_PI digitalWrite(trigger_PI
N, HIGH) N, HIGH) -V on Motor negative side -
digitalWrite(Mnegative_PIN,
LOW)
delayMicroseconds delayMicroseconds
(10) (10)
RETURN

Off trigger - Off trigger -


digitalWrite(trigger_PI digitalWrite(trigger_PI OFF PUMP
N, LOW) N, LOW)

ON Red Led -
Record time in from Record time in from digitalWrite(RED_PIN, LOW)
echo - TIME = echo - TIME =
pulseIn(echo_PIN,HIGH pulseIn(echo_PIN,HIGH ON Blue Led -
) ) digitalWrite(BLUE_PIN, LOW)

Speed of Speed of
Sound = 344 Sound = 344
-V on Motor positive side -
m/s = 0.0344 m/s = 0.0344
digitalWrite(Mpositive_PIN,L
cm/us cm/us
OW)
HEIGHT = HEIGHT =
TIME * TIME * -V on Motor negative side -
0.0344 / 2 0.0344 / 2 digitalWrite(Mnegative_PIN,
LOW)

RETURN
READ
DISTANCE RETURN

You might also like