└── README.md /README.md: -------------------------------------------------------------------------------- 1 | #define BLYNK_TEMPLATE_ID "TMPL3vL3T0oIC" 2 | #define BLYNK_TEMPLATE_NAME "Water Bottle" 3 | #define BLYNK_AUTH_TOKEN "GpC0SXIdjlnkfDHD0pm-1YRxPz6cuIUN" 4 | 5 | // Your WiFi Credentials. 6 | // Set password to "" for open networks. 7 | char ssid[] = "phoenixiot1234"; // type your wifi name 8 | char pass[] = "phoenixiot1234"; // type your wifi password 9 | 10 | // define the GPIO connected with Sensors & LEDs 11 | 12 | #define RAIN1_SENSOR D6 //D1 13 | #define RAIN2_SENSOR D5 14 | #define RAIN3_SENSOR D4 15 | 16 | #define WIFI_LED 16 //D0 17 | 18 | //#define BLYNK_PRINT Serial 19 | #include 20 | #include 21 | #include 22 | LiquidCrystal_I2C lcd(0x27,16,2); 23 | 24 | int RAIN1_SENSOR_Value = 0; 25 | int RAIN2_SENSOR_Value = 0; 26 | int RAIN3_SENSOR_Value = 0; 27 | bool isconnected = false; 28 | char auth[] ="GpC0SXIdjlnkfDHD0pm-1YRxPz6cuIUN"; 29 | 30 | 31 | #define VPIN_BUTTON_1 V1 32 | #define VPIN_BUTTON_2 V2 33 | #define VPIN_BUTTON_3 V3 34 | 35 | BlynkTimer timer; 36 | 37 | void checkBlynkStatus() { // called every 2 seconds by SimpleTimer 38 | getSensorData(); 39 | isconnected = Blynk.connected(); 40 | if (isconnected == true) { 41 | digitalWrite(WIFI_LED, LOW); 42 | sendSensorData(); 43 | //Serial.println("Blynk Connected"); 44 | } 45 | else{ 46 | digitalWrite(WIFI_LED, HIGH); 47 | Serial.println("Blynk Not Connected"); 48 | } 49 | } 50 | 51 | void getSensorData() 52 | { 53 | 54 | } 55 | 56 | void sendSensorData() 57 | { 58 | 59 | } 60 | 61 | void setup() 62 | { 63 | Serial.begin(9600); 64 | 65 | pinMode(RAIN1_SENSOR, INPUT); 66 | pinMode(RAIN2_SENSOR, INPUT); 67 | pinMode(RAIN3_SENSOR, INPUT); 68 | 69 | pinMode(WIFI_LED, OUTPUT); 70 | 71 | digitalWrite(WIFI_LED, HIGH); 72 | 73 | WiFi.begin(ssid, pass); 74 | timer.setInterval(2000L, checkBlynkStatus); // check if Blynk server is connected every 2 seconds 75 | Blynk.config(auth); 76 | delay(1000); 77 | } 78 | 79 | void loop() 80 | { 81 | RAIN1_SENSOR_Value = digitalRead(RAIN1_SENSOR); 82 | RAIN2_SENSOR_Value = digitalRead(RAIN2_SENSOR); 83 | RAIN3_SENSOR_Value = digitalRead(RAIN3_SENSOR); 84 | if (RAIN1_SENSOR_Value == 0 ){ 85 | Blynk.logEvent("Alert", "PLS Drinking Water"); 86 | Blynk.virtualWrite(VPIN_BUTTON_1, "FULL"); 87 | delay(4000); 88 | 89 | } 90 | if (RAIN2_SENSOR_Value == 0 ){ 91 | Blynk.virtualWrite(VPIN_BUTTON_2, "MIDDLE"); 92 | delay(4000); 93 | 94 | } 95 | if (RAIN3_SENSOR_Value == 0 ){ 96 | Blynk.virtualWrite(VPIN_BUTTON_3, "LOW"); 97 | delay(4000); 98 | 99 | } 100 | else 101 | { 102 | Blynk.virtualWrite(VPIN_BUTTON_1, "LEVEL DOWN"); 103 | Blynk.virtualWrite(VPIN_BUTTON_2, "LEVEL DOWN"); 104 | Blynk.virtualWrite(VPIN_BUTTON_3, "LEVEL DOWN"); 105 | } 106 | 107 | { 108 | Blynk.run(); 109 | timer.run(); 110 | } 111 | }# Project-coding 112 | --------------------------------------------------------------------------------