-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDISTANCE_CALCULATION.ino
More file actions
62 lines (51 loc) · 1.33 KB
/
Copy pathDISTANCE_CALCULATION.ino
File metadata and controls
62 lines (51 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#define TRIGGER 5
#define ECHO 4
#define BUZZER 14
#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>
// Set these to run example.
#define FIREBASE_HOST "watermonitoring-cbfad.firebaseio.com"
#define FIREBASE_AUTH ""
#define WIFI_SSID "MMUST"
#define WIFI_PASSWORD ""
long duration;
int distance;
const unsigned int MAX_DIST=23;
const unsigned int MIN_DIST=6;
void setup() {
Serial.begin(9600);
// connect to wifi.
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("connecting");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("connected: ");
Serial.println(WiFi.localIP());
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
pinMode(TRIGGER, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(BUZZER, OUTPUT);
}
void loop() {
digitalWrite(TRIGGER, LOW);
delayMicroseconds(2);
digitalWrite(TRIGGER, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER, LOW);
duration = pulseIn(ECHO, HIGH);
distance = (duration/2) / 29.1;
if ( distance > MAX_DIST) {
Serial.println("low level water ");
}else if(distance < MIN_DIST ){
Serial.println("water in the tank full");
digitalWrite(BUZZER,HIGH);
} else {
Serial.print(distance);
Serial.println("Centimeter:");
Firebase.setInt("Distance",distance);
}
delay(1000);
}