Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 14

______________________________________________________________________________

FLOODUINO: A SOLAR-POWERED ARDUINO-BASED FLOOD WARNING SYSTEM


Concept Note for the Roborangers Competition
______________________________________________________________________________
Name of School: Narvacan National Central High School
Name of Contestant/s: Antolin, Bernadeth D.
Mendoza, Arianne A.
Calibuso, Frencheska Claire G.
Calpo, Carl Jake S.
Tolentino, Jonash Maverick M.
Name of Coach/es: Taiza, Jireh Hannah D.
Dameg, Rennier T.

I. Rationale
The world’s concern over climate change is rapidly increasing. Natural disasters such as
earthquakes, volcanic eruptions and typhoons have been experienced more frequently, which
causes both minor and major damage to infrastructures, economy, and citizens. Thus, climate
mitigation as well as consolidated efforts among nations is essential to fight the adverse effects
of climate change.
Due to its geographical location, the Philippines is one of the world’s most disaster-prone
nations. World Bank Group (2023) reported that in addition to changing weather patterns,
increasing sea levels are predicted to have a more severe effect on low-lying communities and
coastal villages in the Philippines due to global climate change. In this regard, early warning
system integration within the disaster-prone areas has great potential to reduce disaster risks in
advance of hazardous events. Accordingly, the Philippine Atmospheric Geophysical and
Astronomical Services Administration (PAGASA) cited that the world's concern over climate
change has grown, mostly because of the negative effects that are being observed not only on a
worldwide scale but also on regional, national, and even local ones.
Early Warning Systems (EWSs) have globally been acknowledged as one of the key non-
structural measures for disaster mitigation and preparedness, especially due to their multifaceted
benefits (Sukhwani, 2019). In addition, the United Nations Office for Disaster Risk Reduction
(2023) elaborated that an early warning system is an integrated system of hazard monitoring,
forecasting and prediction, disaster risk assessment, communication and preparedness activities
systems and processes that enable individuals, communities, governments, businesses, and others
to take timely action to reduce disaster risks in advance of hazardous events. Furthermore, early
warning is a major element of disaster risk reduction. It prevents loss of life and reduces the
economic and material impact of disasters.
The Philippine Area of Responsibility (PAR) experiences an average of 20 tropical storm
formations and/or crossings annually, according to an analysis of trends in tropical cyclone
incidence or passage. Over the decades, the pattern has demonstrated a significant degree of
fluctuation, but there is no sign that the frequency is rising. A very minor increase in the number
of tropical cyclones (typhoon category) with maximum sustained winds above 150 kph has been
observed during the El Niño period. Hence, the region is impacted by flooding brought on by
strong rains brought on by the southwest monsoon and low-pressure area, which damages
numerous livelihoods. Based on the Statista Research Department (2024), about 30 billion
Philippine pesos were lost because of natural catastrophes in 2022, mostly because of storms that
struck during the year.
Several studies have explored the use of various technologies in flood warning systems.
Ovando (2020) designed an autonomous flood alerting system, works in real time to alert the
people, so that they can be proactive during floods, which may save many lives and property.
This alerting system provided various alerting mechanisms and LoRa module for
communication. On the other hand, on a study conducted by Seshu (2018), the water flow rate is
detected using IR sensor in rivers and drains and sent over Wi-Fi to the main controller which
checks these received sensor values and if the values vary beyond a particular threshold, the
alarm (buzzer) and an alert Short Message Service is sent to mobile.

Shankar (2021) emphasized that floods are devastating natural disasters, causing
extensive economic damage and loss of life. The author developed a flood detection device using
Arduino UNO and various sensors. This device aids in anticipating and responding to disasters,
potentially saving thousands of lives. The Flood Detector System using Arduino offers a rapid
method for flood monitoring, leveraging Internet of Things (IoT) technology to predict and
detect critical events such as floods, fires, and leaks that endanger human life. In addition, Sabre
(2019).has introduced a real-time flood monitoring system using wireless sensor nodes and IoT
technology. By integrating NodeMCU and Blynk application, it detects water levels and rainfall
intensity in flood-prone areas. Alerts are triggered via buzzer and LED, and data is sent to the
Blynk app for smartphone notifications. Flood level data is also sent via email for system
improvement and forecasting. Testing confirms its effectiveness in early warning and monitoring
of floods.

However, Perera et al. (2010) revealed that even though flood early warning systems are
widely acknowledged as being important for disaster risk reduction (DRR), there is a lack of
knowledge regarding their availability and status globally, as well as the costs, advantages,
difficulties, and development patterns related to them. These are the pressing issues that the
current study wanted to address.

In connection to the issues stated, this study aims to introduce the Flooduino: a Solar-
powered Arduino-based Flood Warning System as an innovative intervention to address the
perennial problems of the flood-prone areas in the province of Ilocos Sur. The robot can provide
early, localized warnings on the rise in water level during a flood. Moreover, it can provide quick
feedback on the occurrence of the flood which is necessary for alerting residents to take early
action such as evacuating quickly to a safer and higher place. Ultimately, with Flooduino, the
researchers believed that severe damage, injuries, and even loss of lives can probably be avoided.

II. Objectives
This study aims to introduce the Flooduino: a Solar-powered Arduino-based Flood
Warning System as an innovative intervention to address the perennial problems of the flood-
prone areas in the province of Ilocos Sur.
Specifically, seeks to achieve the following objectives:
 design a robot that can develop and calibrate sensors for real-time, accurate
measurement of flood water levels;
 design a robot that can integrate a GSM module to send SMS notifications when
flood water levels reach a critical point, ensuring effective and timely
communication;
 recognize the considerations that should be considered to achieve widespread
coverage for alert notifications in diverse regions;
 provide innovative approaches that can be adapted to implement a fast and efficient
data processing system for analyzing flood water levels promptly, considering the
dynamic nature of flood events; and
 determine how can latency in transmitting alerts be minimized to ensure timely
warnings to the community and what technologies or strategies could be employed to
achieve this goal.

III. Description and Mechanics


The robot will keep an eye on natural elements like rainfall and water level to identify
and track floods. To collect data for the previously stated natural factor, the robot will be
composed of multiple sensors that collect information from a variety of parameters.
First, the team created a sketch of their desired prototype. They then selected the
sensors they would be using, which included the ultrasonic sensor, rain sensor, and humidity
sensor. Afterwards, they purchased additional materials not included in the Arduino kit.
Subsequently, they began coding and testing the sensors. Then they utilized the 3d printer to
print out a divider between the battery and BMS. Following this, they started building the
stand for the prototype, utilizing a repurposed alcohol stand. They modified some of its parts
to ensure compatibility with the prototype. Meanwhile, other team members focused on
working with the GSM module and gathered phone numbers to test SMS functionality while
some of the members assembled the connection of the battery and solar panel that will
provide external source of power for the system. They started the circuit system, connected
all the sensors, and addressed any malfunctions through troubleshooting. Finally, the
members attached the system and power source together and tested the actual prototype if it
is working.

Figure 1. Schematic Diagram of the Prototype


Figure 2. Design of the Prototype

How the Prototype Works


The ultrasonic sensor along with the rain sensor will detect the water level and the
amount of rain respectively. Then, the data from the sensors will be examined/analyzed by
the board and will respond through LEDs, indicating each flood advisory level. Each level is
conditioned on its respective measurement, and the time it will send an SMS. The Municipal
Disaster Risk Reduction and Management Council (MDRRMC) and all barangay authorities
will receive the SMS, and it is up to them to notify the community's residents of the
notification. Then, once it reaches its highest critical level (red advisory level), the buzzer
will set an alarm to alert the authorities. An additional function of the robot is that when the
humidity sensor measures the air moisture and temperature, it will send an SMS stating that
rain is expected or that the weather is too hot or cold, informing the authorities what to do
during those scenarios. Once the sensors dry out from the rain, the LEDs and the LCD will
turn off.

GREEN LED = YELLOW ADVISORY


100 - 200 inches rain value

Water level distance is greater than or equal to 43 inches but less than 48 inches

YELLOW LED = ORANGE ADVISORY

201- 400 inches rain value

Water level distance is greater than or equal to 38 inches but less than 42.9 inches

RED LED = RED ADVISORY

401 and above rain value

Water level distance is greater than or equal to 33 inches but less than 38 inches

CODES

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

#include <DHT.h>

#include <SoftwareSerial.h>

#include <RTClib.h>

#define DHTPIN 8

#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);

LiquidCrystal_I2C lcd(0x27, 16, 2);

SoftwareSerial sim(10, 11);

String numbers[] = {"+639657251305", "+639175042780", "+639623827262",


"+639164964316", "+639926578389", "+639754926861", "+639619910681", "+639916731874",
"+639279740704"};

int numRecipients = 10;

const int redLED = 2;

const int yellowLED = 3;

const int greenLED = 4;

const int buzzerPin = 5;


const int trigPin = 6;

const int echoPin = 7;

const int rainSensorPin = A3;

double maxDeepInches = 26;

bool smsSentGreen = false;

bool smsSentYellow = false;

bool smsSentRed = false;

double deep;

int rain;

RTC_DS3231 rtc;

void sendAdvisorySMS(String message) {

for (int i = 0; i < numRecipients; ++i) {

sendSMS(numbers[i], message);

void setup() {

Serial.begin(9600);

sim.begin(9600);

delay(1000);

Serial.println("System Started...");

lcd.begin(16, 2);

dht.begin();

rtc.begin();

pinMode(redLED, OUTPUT);

pinMode(yellowLED, OUTPUT);

pinMode(greenLED, OUTPUT);

pinMode(buzzerPin, OUTPUT);

pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);

pinMode(rainSensorPin, INPUT);

digitalWrite(buzzerPin, LOW);

digitalWrite(greenLED, LOW);

digitalWrite(yellowLED, LOW);

digitalWrite(redLED, LOW);

delay(2000);

void loop() {

long duration;

// Ultrasonic sensor

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

deep = duration * 0.034 / 2;

deep = deep / 2.54;

Serial.print("Deep: ");

Serial.println(deep);

delay(100);

// Rain sensor

unsigned long startTime = millis();

unsigned long elapsedTime = 0;

unsigned long measurementDuration = 5000;

int accumulatedrain = 0;

int numberOfReadings = 0;
while (elapsedTime < measurementDuration) {

rain = analogRead(rainSensorPin);

accumulatedrain += rain;

numberOfReadings++;

delay(100);

elapsedTime = millis() - startTime;

rain = accumulatedrain / numberOfReadings;

Serial.print("Rain: ");

Serial.println(rain);

// DHT sensor

float humidity = dht.readHumidity();

float temperature = dht.readTemperature();

// Update messages

String greenMessage = "Water Level: " + String(deep) + " inches\nRain: " + String(rain) + "
value\n\nYellow Advisory\nIMONITOR ti paniempo\nKontaken ti MDRRMO Sta. Maria 09177995866
no agpatulong.";

String yellowMessage = "Water Level: " + String(deep) + " inches\nRain: " + String(rain) + "
value\n\nOrange Advisory\nNapeggad iti layus kadagiti komunidad.\nAGRIDAM para iti posible a
panagbakwit.\nKontaken ti MDRRMO Sta. Maria 09177995866 no agpatulong.";

String redMessage = "Water Level: " + String(deep) + " inches\nRain: " + String(rain) + "
value\n\nRed Advisory\nAGBAKWIT\nKontaken ti MDRRMO Sta. Maria 09177995866 no
agpatulong.";

// LCD

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("Deep: ");

lcd.print(deep);

lcd.print(" inch");

lcd.setCursor(0, 1);

lcd.print("Humid: ");
lcd.print(humidity);

lcd.print("%");

lcd.setCursor(0, 2);

lcd.print("Temp: ");

lcd.print(temperature);

lcd.print("C");

lcd.setCursor(0, 3);

lcd.print("Rain: ");

lcd.print(rain);

lcd.print(" mm");

// text run run

delay (1000);

for (int i = 0; i < 16; ++i) {

lcd.scrollDisplayLeft();

delay(400);

// led, buzzer, conditions sa sms

if (deep >= 21 && rain >= 100 && rain <= 200 && !smsSentGreen) {

digitalWrite(greenLED, HIGH);

sendAdvisorySMS(greenMessage);

smsSentGreen = true;

} else if (deep >= 16.5 && deep < 21 && rain > 200 && rain <= 400 && !smsSentYellow) {

digitalWrite(yellowLED, HIGH);

sendAdvisorySMS(yellowMessage);

smsSentYellow = true;

} else if (deep >= 14 && deep < 16.5 && rain > 400 && !smsSentRed) {

digitalWrite(redLED, HIGH);

digitalWrite(buzzerPin, HIGH);

sendAdvisorySMS(redMessage);

smsSentRed = true;

} else {
digitalWrite(greenLED, LOW);

digitalWrite(yellowLED, LOW);

digitalWrite(redLED, LOW);

digitalWrite(buzzerPin, LOW);

if (temperature >= 35) {

sendSMS(numbers[0], "Temperature Alert - Temperature is " + String(temperature) + "°C.


Uminom ti ado nga danom, mabalin agibilag ti irik ken agkalap.");

if (temperature < 20) {

sendSMS(numbers[0], "Temperature Alert - Temperature is " + String(temperature) + "°C.


Agkawes ti nabara nga bado tapno masalakniban ti lamiis.");

if (humidity <= 60) {

sendSMS(numbers[0], "Weather Alert - Humidity is " + String(humidity) + "%. Adda ti


posibilidad ti panagtudo.");

delay(500);

void sendSMS(String phoneNumber, String message) {

Serial.println("Sending SMS...");

sim.println("AT");

while (sim.available()) {

Serial.write(sim.read());

sim.println("AT+CMGF=1");

sim.print("AT+CMGS=\"" + phoneNumber + "\"\r");

while (!sim.find(">")) {

while (sim.available()) {

Serial.write(sim.read());

sim.print(message);

delay(1000);
sim.print((char)26);

while (!sim.find("OK")) {

while (sim.available()) {

Serial.write(sim.read());

Serial.println("SMS sent to " + phoneNumber);

IV. Financial Aspect

Particulars Quantity Unit Unit Cost Total

Arduino R3 1 1 400 400

SIM800L GSM Module 1 1 355 355

Rainwater Sensor 1 1 56 56

Ultrasonic Sensor 1 1 89 89

DHT11 Sensor 1 1 62 62

16x2 LCD Module 1 1 150 150

Jumper Wires 1 1 100 100

Soldering Lead 1 1 40 40

Circuit Board 1 1 60 60

Solar Panel 1 1 865 865

22ah Battery 4 4 480 1,920

4S BMS 1 1 250 250

10a SSC Loincong 1 1 650 650

Terminal Black 1 1 15 15

4mm PV wire 3m 3m 95 285

TOTAL 5.499.5
References

Early warning system. (2007, August 30). UNDRR. https://www.undrr.org/terminology/early-

warning-system
Ovando, J. (2020). Autonomous Flood alerting system.

https://www.semanticscholar.org/paper/Autonomous-Flood-Alerting-System-Ovando-

Acosta/e853db3a8ed218aa6ce5b17ce54d14986e859d7f

PAGASA. (2020). Climate Change in the

Philippines.https://www.pagasa.dost.gov.ph/information/climate-change-in-thephilippines?

fbclid=IwAR01VNLWKZKK_wpg7j1mxe2s3hjXF5C1_K9Rpp132s0hQ aSjKTP a7k4p2XQ

Parker, D. J. (2017). Flood warning systems and their performance. Oxford Research

Encyclopedia of Natural Hazard Science.

https://doi.org/10.1093/acrefore/9780199389407.013.84

Perera, D., Seidou, O., Agnihotri, J., Mehmood, H., & Rasmy, M. (2020). Challenges and

technical advances in Flood Early Warning Systems (FEWSS). In IntechOpen eBooks.

https://doi.org/10.5772/intechopen.93069

Sabre, M. S. M. (2019). Flood warning and monitoring system utilizing internet of things

technology. https://www.semanticscholar.org/paper/Flood-Warning-and-Monitoring-

System-Utilizing-of-Sabre-Abdullah/ca9c8ec3c943253638c684b74ae7ff9689f740a4

Sampang, L., & Sampang, L. (2022, October 3). The relationship between Super Typhoon

occurrence and Climate Change - SCIENCE - University of the Philippines Diliman.

SCIENCE - University of the Philippines Diliman -. https://science.upd.edu.ph/the-

relationship-between-super-typhoon-occurrence-and-climate-change/

Shankar, B. (2021). Internet of Things based Smart Flood forecasting and Early Warning

System. https://www.semanticscholar.org/paper/Internet-of-Things-based-Smart-Flood-

forecasting-Shankar-John/6ceebd0ea81cb67d47db65eddea8628a92adef35

Sheshu, E. D. (2018). Implementation of Flood Warning System using IoT.

https://www.semanticscholar.org/paper/Implementation-of-Flood-Warning-System-using-

IoT-Sheshu-Manjunath/d1e1dbfd6cd582eea7d45af693e51a997e511592

Sukhwani, V., Gyamfi, B. A., Zhang, R., AlHinai, A. M., & Shaw, R. (2019). Understanding the

barriers restraining effective operation of flood early warning systems. International

Journal of Disaster Risk Management, 1(2), 1–17. https://doi.org/10.18485/ijdrm.2019.1.2.1


Topic: Natural disasters in the Philippines. (2024b, January 9). Statista.

https://www.statista.com/topics/5845/natural-disasters-in-the-philippines-at-a-glance/

#topicOverview

World Bank Group. (2023). Towards a comprehensive disaster risk management system for the

Philippines. In World Bank.

https://www.worldbank.org/en/country/philippines/brief/towards-a-comprehensive-disaster-

risk-management-system-for-the-philippines

You might also like