DIY Road Flooding Indicator

What is the Problem ?

During heavy rains, several roads in Bangalore get flooded. This leads to heavy traffic on roads.

The problem is caused by poor design of roads, insufficient or blocked drains.

Things to Ponder!!! have you been or do you know somebody who has been affected by this problem?

How does this problem impact people ?

Did you Know? Techstrickers from NPS Y conducted a survey of 30 houses in their apartments to find out how many people have been affected by this problem and how.

What is the Solution?

A device that measures the amount of flooding on a road.

The two probes of a soil moisture sensor is fixed at a certain height. The height is the threshold level above which causes problems to road users.

The device periodically measure the water level height every T minutes,

If the water level reaches the threshold level then an SMS is sent to any authority/agency. The device checks for the water level after 10 minutes.

If the water level is less than the threshold level then no SMS is sent and the device remains in the passive state. The device checks for the water level after 10 minutes.

Stop and Think ! who do you report this issue to ?

Process flow of solution

Sensors Used

GSM 800C : sends an SMS

How is it used : Sends an SMS to the desired phone number

Soil Moisture Sensor : measures the moisture content

How is it used : When the probe touches water it activates the GSM 800C

Where to Install?

Locations where the roads get flooded continuously during the rains.

Did you know? that Noyah Khan & Nehal from grade 8, NPSY identified 175 locations in Bangalore where this problem exists through internet research and primary surveys.

Installation Needs

  • 24 Hour power supply

  • water proof packaging

    {Action Point} design on paper and prototype the installation of the device keeping in mind the above to parameters.

    Caution!! the packaging should be in a way that the probes will only detect water when the water level rises to the height.

    The device should not get damaged due to pedestrian crossing or vehicle traffic.

How to setup the SNT Kit ?

  • Take the Solution Box with PCB and acrylic cover
  • Connect the 4 pin connector to the PCB in the port named Moisture Sensor.
  • Connect the moisture sensor to the 4 pin connector
  • Connect the moisture sensor to the two electrodes using 2 pin wire connector.
GSM 800 Arduino Board PIR Sensor
GND PIR Sensor
Vcc PIR Sensor
TXD1 03 PIR Sensor
RXD1 07 Digital IN
  • Insert the SIM to the SIM Holder
  • Power up the GSM with a 9 V adapter
  • Plug one end of the power adapter to the DC jack to the SNT Kit.
  • Switch on the solution box
  • Open Arduino ide software on the computer/laptop
  • Download,copy,paste the code from here to Arduino IDE
  • Then check here for port connection
  • compile and upload the code
  • disconnect USB cable
  • switch off solution box
  • switch on solution box

CODE

  • Download the code below and upload to the SNT Kit.
Click here for the code
#include <Wire.h>
#include <LiquidCrystal_PCF8574.h>

LiquidCrystal_PCF8574 lcd(0x3F); // change the address based on the LCD
#include<FastLED.h>
#define DATA_PIN 9 // Digital pin number for LED (Multicolor)
#define NUM_LEDS 3
int soil_pin = 0 ;
CRGB leds[NUM_LEDS];
#include <Adafruit_FONA.h>
#include <SoftwareSerial.h>

#define FONA_RX 3
#define FONA_TX 7
#define FONA_RST 2
SoftwareSerial fona (FONA_TX, FONA_RX);
Adafruit_FONA fona1 = Adafruit_FONA(FONA_RST);
char replybuffer[255];

void setup() {
  
  Serial.begin(9600);
  fona.begin(9600);  
  FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
  leds[0] = CRGB::Black;
  FastLED.show();
  lcd.begin(16, 2);
  lcd.setBacklight(255);
  lcd.setCursor(0,0);
  lcd.print("DRAIN CLOG INDICATOR");
  delay (3000);
}

void loop() {

 int sensorValue = analogRead(soil_pin);
 Serial.println (sensorValue);
   fona.print("AT+CMGF=1\r");
  delay(1000);
  fona.print("AT+CMGS=\"+91xxxxxxxxxx\"\r");// enter your phone number
  delay(1000);

if  (sensorValue > 1020 && sesorValue < 1024) {
  Serial.println ( " Water Level HIGH " );
  fona.print(" Water Level HIGH");
  fona.print("\r");
  delay(1000);
  fona.println((char)26);
  fona.println();
  delay(10000);
    
}
else {
  Serial.println ( " Water Level LOW " )

}
}


  
  • Make sure you install the below libraries before compiling.
    • LiquidCrystal_PCF8574
    • Adafruit FONA