Capstone For Defense
Capstone For Defense
Capstone For Defense
________________________________________
A Capstone Project
Magalang, Pampanga
________________________________________
________________________________________
Arjay G. Villavicencio
June 2025
0
Republic of the Philippines
College of Engineering and Computer Studies
Pampanga State Agricultural University
Magalang, Pampanga
This certification is issued on the 29th day of November 2024, to Mr. Calano, Mr.
Olpindo and Mr. Villavicencio upon their request relative to the requirements of their
degree course.
Statistician
Republic of the Philippines
College of Engineering and Computer Studies
Pampanga State Agricultural University
Magalang, Pampanga
Local
Date Signed
CERTIFICATE FROM YOUR ENGLISH CRITIC
ACKNOWLEDGEMENT PAGE
ABSTRACT
The project titled "Automated Aquaponics for Catfish Growing in Pampanga State
traditional farming methods struggle with land scarcity, climate change, and high
input costs, this capstone project proposes an innovative automated system that
management and water quality monitoring, thereby improving fish health and growth
rates. The integration of automation not only minimizes manual labor but also
automated system, with a focus on real-time data collection and analysis. This study
broader ecological goals. The anticipated outcomes highlight the potential for
agricultural challenges.
TABLE OF CONTENTS
Title Page.............................................................................................................. i
Approval Page.......................................................................................................ii
Certifications.........................................................................................................iii
Acknowledgment Page........................................................................................iv
Dedication (Optional)...........................................................................................v
Abstract................................................................................................................vi
Table of Contents.................................................................................................vii
List of Table.........................................................................................................viii
List of Figure........................................................................................................ix
Chapter Page
Introduction 1
Project Context 2
Definition of terms 10
Main heading 1 13
Main heading 2 14
Main heading 3 15
Discuss the implications of the literature review for the current study 19
Design Specification 22
Network Design 26
System Architectural Design 27
Project Management 30
Research Design 31
Implementation Plan 42
Summary 56
Recommendations 57
BIBLIOGRAPHY 59
APPENDICES 61
CURRICULUM VITAE 78
LIST OF TABLES
1. Conceptual Framework 4
2. Network Design 27
4. Gantt Chart 30
9. Methodological Diagram 43
Chapter 1
Introduction
faced several challenges, including land scarcity, climate change, and high input
owners, especially when away for extended periods. Advanced models offer
due to their hardiness, growth rate, and market value. Research specific to
temperature and pH levels for catfish growth can inform RL model parameters.
2
help in designing RL-based feeding algorithms that adjust to the fish's growth
efficiency, scalability, and the integration of smart technology for monitoring and
control.
nutrients such as nitrogen, phosphorus, and potassium into the water. This
nutrient-rich environment not only supports the health of aquatic life but also
provides a natural fertilizer for plants. By recycling organic matter, this method
maximizes resource efficiency, reducing the need for synthetic fertilizers and
farming that can help address some of the challenges facing Aquaculture in the
Philippines. Given appropriate guidance and support, farmers have the potential
Project Context
3
production.
change, and high input costs. These factors limit traditional farming methods and
to fertilize plants, thus reducing the need for chemical fertilizers and conserving
This is particularly relevant for catfish farming, which is gaining popularity due to
Figure 1 in the other page visually depicts the input data utilized by the
insight into the steps taken to analyze and manipulate the input data. Finally, it
4
also presents the output of the study, showcasing the results, findings, or
considerable obstacles. Tasks like feeding and waste disposal that need manual
operational efficiency but also causes water quality variations that endanger fish
cycle makes nutrient imbalances worse, which further reduces the aquaponics
inefficiency?
By addressing the existing gaps in automation and waste handling, this study
catfish farming.
Aquaponics System.
6
system for catfish farming. This system is expected to provide the following
benefits:
To the farmers. The system will enhance the efficiency of catfish farming
by automating key processes like feeding and water management. This will
reduce the manual labor required, improve farm productivity, and ensure better
practices.
fish farming. This helps conserve natural resources and promotes a balance
automating key processes such as fish feeding and water quality monitoring to
monitor critical water temperature. This data will be fed into a monitoring
system.
3. Data Collection and Analysis: The system will collect data from the
sensors and automated feeder, which will be logged for real-time and
management.
where feedback from fisheries staff, aquaculture experts, and students will
future improvement.
acknowledged:
for catfish farming, and its components and algorithms are tailored to the
aquaponics applications.
areas with poor or unstable internet service, the system’s ability to provide
sensors, controllers, and software, which may lead to higher initial setup
financial support.
Staff members will need basic training in system maintenance and data
for sensors, feeders, and data monitoring may pose a limitation in areas
This limits the accessibility of the system to Android users only, excluding
10
iOS and other non-Android users from utilizing the mobile app. This could
limit usability for some stakeholders and may require future development
restrict the long-term observation of results. While the project will collect
data over several months, a longer period would be needed to fully assess
sustainability.
Definition of terms
(the raising of fish) and hydroponics (the growing of plants without soil) in
nutrients for the plants, and in return, the plants help filter and purify the
the need for manual feeding, ensuring that fish receive consistent nutrition.
using automated tools and sensors that provide instant feedback. This
5. Data Logging: The process of collecting and storing data over time for
growth metrics.
components.
11. User Interface (UI): The means by which a user interacts with a software
aquaponics system.
13
Chapter 2
enough evidence to validate its findings. A capstone project, such as this one,
outlined in the research. This capstone project will present a chapter dedicated to
a review of related literature and studies to justify and support the development
and credible support for the technological solutions proposed in the study.
consideration the examination of the growth of Nile Tilapia fish and Romaine
14
Lettuce vegetable using aquaponics with deep water culture (DWC) method or
raft method or floating on a small-scale system. This study only uses Romaine
Lettuce Seedling with initial height of 4 to 5cm and Nile Tilapia Fingerlings with
initial length 5.5 to 5.7 cm for the experimentation. Moreover, testing has been
done only in a span of four weeks. This study is only focused on maintaining
certain parameter of the system that includes pH level and temperature of the
system and using supported technology such as Internet of Things (IoT) to do so.
This study also does not observe the matter on nitrification and supervision of the
SMS Notification for Tilapia Industry provide real-time monitoring of the condition
of the water parameters necessary for both plants and fish. The water parameter
water flow, and room temperature and humidity were monitored and controlled.
In recent years, aquaponics systems have gained popularity for their ability to
operational challenges. The current aquaponics setup for catfish farming heavily
15
relies on manual processes for key tasks such as fish feeding, system
maintaining optimal conditions for both fish and plants. The lack of automated
usage, and real-time monitoring of critical parameters like water and temperature
levels.
As a result, these inefficiencies not only hinder the productivity and scalability of
the system but also place an unnecessary burden on staff, limiting the potential
The market system plays a crucial role in the development and scalability
chains, from production to consumer distribution, are essential for profitability and
research, and education. It can also facilitate better policy and regulatory
food production while meeting global goals like reducing hunger and poverty.
challenges like climate change, soil degradation, and water scarcity increasingly
impact agricultural productivity. These issues limit access to water for activities
food security. Aquaponics farming presents a solution to this problem. This paper
collected by sensors are transmitted via a Wi-Fi module to an IoT cloud platform
called Thing speak, with actuators used to address any abnormalities detected.
illustrate a strong correlation between days, plant height, and fish weights.
Overall, the system reduces water usage and enhances aquaponics yield.
fish and plants without soil. However, manual monitoring of system parameters
health monitoring system has been proposed to automate data collection on key
metrics such as pH, temperature, water level, and dissolved oxygen, enabling
focusing on water quality indicators and production metrics. Results show that A-
reduce waste and employs swirl and bio ball filters to maintain water quality.
(Amin, et al.,2021)
including IoT technology, have paved the way for smart aquaponics systems,
18
primarily focus on water quality monitoring, with limited attention to plant growth
organisms and plants to recycle nutrients and conserve water. Fish waste
promoting sustainability. Common fish like catfish and leafy vegetables are
typically grown in AP, meeting the needs of both plants and fish. However, the
conditions remain unclear. Specific bacteria are thought to be crucial for nutrient
growth in AP and hydroponic (HP) setups, hinting at additional benefits from fish
presence. This study aims to compare lettuce growth in AP, HP, and aquaculture
(AC) systems, investigating microbial roles via 16S rRNA gene sequencing. (Iigo
et al., 2021)
challenges like high startup costs and resource demands. To address these,
can further optimize aquaponics operations, making them more eco-friendly and
limited. Maintaining optimal pH levels for fish health and managing factors like
air, temperature, humidity, and light for plant growth can be tedious manually.
excess fish feed, ensuring precise feeding intervals to maintain water quality.
trends and insights that are highly relevant to the development of this study. Prior
focus on improving resource efficiency, fish health, and crop yields. The following
system control. Aziz et al. (2016) and John et al. (2021) discuss the limitations of
manual feeding and monitoring, which can lead to inconsistencies in fish growth
and suboptimal water conditions. This reinforces the need for an automated
al. (2021) and Li, J., et al. (2022), shows that automated systems significantly
This has direct implications for the current study, where a key objective is the
health. The ability to remotely monitor parameters such as pH, temperature, and
dissolved oxygen will allow for timely adjustments, ensuring both fish and plant
well-being.
conserve water but also recycle nutrients, creating a closed-loop system that
minimizes environmental impact. For the current study, this literature underscores
Philippines, addressing local challenges like water scarcity and climate change.
automated fish feeder and real-time data tracking system will provide a
literature also points to an increasing market demand for sustainable and locally
produced food. Studies by Go Green Aquaponics (2022) and Taylor (2022) note
operational efficiency but also align with broader market trends, enhancing the
on automation tailored to catfish farming. This gap presents an opportunity for the
System optimized for catfish farming, as noted in the literature by Iigo et al.
(2021) and Amin et al. (2021). The current study will address these gaps by
Chapter 3
TECHNICAL BACKGROUND
source for plants while the plants help filter and purify the water for the fish. The
Pampanga State Agricultural University (PSAU). This chapter will explore the
of real-time monitoring in maintaining optimal conditions for both fish and plants,
Design Specification
range of software and technologies. The goal was to ensure seamless operation
The system was developed using automation to handle tasks like fish feeding
monitoring via sensors and IoT technology allows for remote control and
uninterrupted operation.
Software
1. C++: Used for developing the core logic of the system, allowing for
processes.
2. C Header Source Files: These files (.h) were used to declare functions,
constants, and macros, helping to organize the code and make it reusable
4. .aia File: Used in MIT App Inventor to develop the Android mobile app,
system performance.
5. Kodular: is the best for a smart aquaponics system due to its user-friendly
6. Arduino IDE: Using the ESP32 with the Arduino IDE is ideal for coding
due to its ease of use, extensive libraries for quick integration, built-in Wi-
7. Firebase: is the best for a smart aquaponics system due to its real-time
with Google services, and powerful analytics tools for monitoring and
Hardware
25
Wi-Fi/Bluetooth for remote control, multiple GPIO pins for sensors, and power
2. SOLID STATE RELAY (SSR): is used to control high power loads with fast,
temperature control, and motor control due to their efficiency and quick
response.
3. ESP32-CAM: is ideal for live fish monitoring because it has a built-in camera,
integrates into IoT platforms. Perfect for real-time video in smart aquaponics
systems.
4. Mini 360 DC buck Converter: Used to convert the higher input voltage to a
signals, controls motor direction and speed, and protects the microcontroller
6. BUS DRIVER: A bus driver amplifies signals in digital circuits, directing data
devices.
26
8. Aqua Heater: rated at 200 watts is a device designed to heat water in our
optimal water temperatures for aquatic life base in their needed, such as
fishs, which is crucial for their growth, health, and overall well-being.
optimal conditions.
speed and direction, is reliable and durable for continuous use, is compact
11. BLADES: are used for adjusting the feed rate based on needs, and ensuring
12. LCD Module: An LCD Module for catfish aquaponics displays feed level,
water temperature, and time, help to monitor feeding schedules and ensure
Network Design
access point. The ESP32, acting as one station, communicates wirelessly with
the router, allowing it to send and receive data. Similarly, the user's smartphone,
ESP32, likely for a specific application such as an automated system. This setup
indicates a network where the ESP32 can perform tasks based on commands or
information received via the smartphone, a common structure for smart home or
aquaponics systems.
processes have been controlled with the help of an ESP32 microcontroller that
has integrated sensors for purposes like food dispensing and managing the
distance sensor to check the level of the feed and from a DS18B20 water
temperature sensor to control the water heating. It regulates the water heater
using a solid-state relay and also uses a motor driver to control a DC motor that
is installed in the automatic feeder unit. To aid this process further, we even
include an ESP32 CAM for monitoring the activities visually and an LCD module
that indicates the status of the system as a whole, thus creating an all-out system
respondents, and approval from the panelists, the following features and
Features:
between Auto and Manual modes. This ensures flexibility for both
2. Heater Control:
The system has a Heater Settings toggle, enabling users to turn the water
In Manual mode, users can set the desired temperature directly and
3. Feeder Control:
Users can manually control the feed quantity and frequency through the
7:5 or 20:0, or to adjust the feed quantity based on the fish’s growth
4. Temperature Monitoring:
In both Auto and Manual modes, the user can update temperature values
and ensure the environment is suitable for the catfish at all times.
5. Automation:
The system’s Auto Mode handles both feeding and temperature control
based on pre-set thresholds or sensor inputs. This reduces the need for
Manual Mode gives full control to the user, allowing them to adjust the
6. Safety Measures:
The system includes real-time feedback, alerting the user in case of any
Project Management
31
with Planning, which spans from February to March and includes tasks like
through April and May. System Design starts in May, involving User Interface
System Delivery and Testing, starting in August and ending in November. The
Chapter 4
including the design, data collection, and analysis techniques. It also presents
the results of the study and interprets the data obtained during the research
process.
32
Research Design
as the respondents. For this study, the study would employ the Agile
methodology's SCRUM.
adaptable, fast, flexible, and effective agile framework designed to deliver value
Peek (2023) stated that the Agile Scrum methodology has several benefits. First,
it enables faster project completion, as each set of goals must be achieved within
each sprint’s timeframe, focusing the Scrum team on current objectives and
increasing productivity.
The developers chose the SCRUM method due to the given timeline of the
project, this method suits the short period of time for developing the system and
into phases that suit the target timeline of the system would be implemented. It
When work begins, the team will be in the process of planning, executing, and
33
that benefit the local community and the agricultural sector in the region. The
System.
Respondents
For this study, a total of 30 respondents were involved, both students and
meaning that it was done with a specific purpose or reason in mind. In the case
of the farmers or students, individuals were chosen from the local of Pampanga
Aquaponics systems. By including both students and staff of fisheries, the study
aimed to answer the written questions assessing the functionality of the system.
34
The chosen data collection method for this study involves the utilization of
a Likert scale with a four-point rating system. In this approach, participants would
disagreement on a scale ranging from one to four, with four being the highest
point.
Zakharenho (2023) stated that a way to measure what people think in surveys is
called a Likert scale. It is named after a psychologist, Renis Likert, who made it in
1932. On this scale, people show how much they like or dislike a statement by
Sampling Strategy
For this capstone project, the method used to select respondents is called
purposive sampling. This means that the researchers would intentionally choose
specific individuals for the study. The goal is to get insights from both the farmers
who used our system. By picking participants from our local, the study aims to
representative sample for this study, researchers would employ Slovin’s formula.
Slovin’s Formula:
Where:
n = sample size
Actual Solving:
n = 27.91 or 28 students
Slovin’s Formula:
Where:
n = sample size
Actual Solving:
36
n = 1.99 or 2 admins
of each group within the population, it has been determined that 28 Students and
Furthermore, the primary approach for analyzing the data in this study involves
Simplified:
Where:
= Mean f = Frequency
Ethical Considerations
Respondents’ Consent
ensuring that individuals understood all aspects of the research. This ethical
practice highlights the principles of fairness and respect towards all participants,
Proper Citation
citation to acknowledge the author of the article or study and maintain academic
38
integrity. This practice not only respects the original work but also ensures the
Confidentiality
confidentiality and ensured that their identities were not disclosed. The
In this part, the researchers would explore and write down the system’s
strong basis for development by using different diagrams to show how the
system functions. These visual representations help everyone get a clear picture
desired system. These are the functional and non-functional requirements of the
system.
39
Functional requirements
designed for. Among all the requirements, functionality has a unique and
well the system executes its intended functions or operations. (Inform IT, 2012)
Non-functional requirements
In figure 5 this diagram effectively outlines how the user can interact with
requirements for the system are defined. This includes a visual representation of
the various interactions between different actors, such as user and the system
itself. Each use case on the diagram defines a distinct functionality or feature of
accomplish their objectives. For example, use cases might include activities like
users setting up the temperature and feeding time. The use case diagram serves
how users engage with the system to meet their needs and highlighting the
interconnected. This diagram aids in both the design and comprehension of the
the system. A conceptual model of the hardware and software was build
separated by the hardware and the software requirements with explains also the
43
proposed system.
Hardware Software
reason, the researchers used data flow diagram to identify the flow of data in the
Implementation Plan
The researchers used the Agile Method to manage the project by breaking
the work into phases that suited the target timeline of the system. It also involved
44
work started, the team was in the process of planning, executing, and evaluating.
Hence, continuous collaboration is needed, both with team members and with
deliver value to the customer throughout the development of the project. The
continuous progress.
Based on Peek (2023) stated that agile scrum methodology has several
benefits. First, it makes the project easier to build since each set of goals must be
completed within each sprint’s time frame, which helps the scrum team focus on
Product Backlog
customers. The project has written objectives that the system that the system
needs to satisfy, and these objectives are based on the needs and wants of the
Sprint Backlog
It is a subset of items from the product backlog that are selected by the
team to perform during the sprint on which they are going to work. The team
boards called Scrum boards, which would make the development process visible
The objective of the daily scrum is to evaluate the progress and trend until
the end of the sprint, coordinate the activities, and create a plan for the next 24
hours. It is a brief meeting that takes place daily during the sprint period. Three
questions would be monitored by the group and answered precisely, which are:
Product Increment
The increment is the sum of all the tasks, use cases, user stories, product
backlogs, and any element that was developed during the sprint and that would
Test
Agricultural University (PSAU), to test the prototype and introduce the system.
time to think about and test every feature of the system. These questionnaires
contain features and functionality, must answer the written statement of the
problem, achieve the objectives of the study, and satisfy the written contract
The user interface for the PSAU Smart Aquaponics system is designed for
mascot and two main buttons: "Monitoring" and "Settings." The Monitoring
section likely provides real-time data on water quality, fish health, and plant
growth, while Settings allows users to adjust parameters and configure alerts.
friendliness for all skill levels. The system likely supports remote access, enabling
farmers to monitor and manage their aquaponics system from anywhere, making
The Monitoring module of the PSAU Smart Aquaponics system provides real-
time data for managing an automated catfish farming setup. It displays the
system's status as "Automatic," indicating that key functions like feeding and
temperature control are being handled without manual intervention. The screen
shows two critical metrics: water temperature at 40°C, which is important for
catfish health, and the feed level at 50%, indicating the amount of feeds
the date, time, and amount of feed dispensed (5 grams per feeding), ensuring
transparency and tracking of feeding activity over time. This interface allows for
Figure 10 below.
49
The images depict the user interface of a smart aquaponics system under the
brand "PSAU Smart Aquaponics." The first screen shows settings for both
temperature and feeder, where users can adjust the temperature and set the
feeder to dispense a specific amount of food, like 5 grams, with a time selection
feature. The second image focuses on toggling the heater and feeder settings on
or off, allowing for either automatic or manual operation. The third image presents
interface of
app is user-
friendly and
easy to
navigate.
5. Overall, 16 12 0 0 28 100 3.57 Strongly
the
automated Agree
aquaponics
system is
effective in
supporting
both plant
and catfish
growth.
Overall Mean Strongly
3.51 Agree
researchers before answering the questions, allowing them to explore and test
its features. The initial statement, expressing a strong agreement that the
system easily registers and signs up accounts, received a mean score of 3.83.
score of 3.74, that the system's design and interface were pleasing. The third
statement, stating that the system is easy to use and user-friendly, also earned
score of 3.79, signifying strong agreement. A mean score of 3.91 was assigned
to the fifth statement, reflecting a strong agreement that the product dashboard
53
agreement.
4. The 2 0 0 0 2 8 4 Strongly
system’s
interface of Agree
app is user-
friendly and
easy to
navigate.
5. Overall, 1 1 0 0 2 7 3.5 Strongly
the
automated Agree
aquaponics
system is
effective in
supporting
both plant
and catfish
growth.
Strongly
Overall Mean 3.9 Agree
explore and test its features before responding to the questions. The initial
giving it a mean score of 4, that the Monitoring the water temperature through
automated sensors reduces the effort in maintaining catfish health. The third
portions and reduces wastage in catfish feeding., also garnered a mean score
mean score of 4, signifying strong agreement. Lastly, the statement about the
and catfish growth. obtained a mean score of 3.5, indicating strong agreement.
Computation Total
Respon Average Mean
Statement 4 3 2 1
dents
Functionality 3 0 0 0 3 12 4 Strongly
1. The android
Agree
application
performs the task
required by the
users.
2.The android 2 1 0 3 11 3.67 Strongly
application respond
to every users Agree
input.
3 0 0 0 3 12 4 Strongly
3.The Application
features are Agree
functioning.
processes are
reliable, providing
accurate
information and
resolutions when
issues occur.
EFFICIENCY 0 3 0 0 3 9 3 Strongly
6.The android
application Agree
responds quickly
with every
functionality it has
PORTABILITY 3 0 0 0 3 12 4 Strongly
8.The android
application is Agree
installed easily.
Strongly
Overall Mean 3.67
Agree
researchers provided them access to explore and test the application’s features
thoroughly. The first statement, indicating strong agreement that the android
application performs the tasks required by the users, received a mean score of 4,
highlighting the app’s effectiveness in fulfilling its intended purpose. The second
statement, affirming that the application responds to every user input, received a
57
user control and interaction. The third statement, verifying that all application
features are functioning correctly, received a mean score of 4, indicating that the
system is stable and reliable in its operations. The fourth statement, stating that
the application did not encounter any errors throughout its testing, garnered a
mean score of 3.33, signifying that the system operates smoothly under various
conditions, supporting its reliability. The fifth statement, asserting that the error-
user expectations for speed. The seventh statement, which emphasized the
highlighting that the user interface is intuitive and accessible, reducing the
learning curve for new users. The eighth statement, concerning the portability of
the application and its ease of installation, received a mean score of 4, reflecting
that the app is compatible with various devices and simple to set up. Overall, with
evaluated criteria.
58
Chapter 5
Summary
which optimized fish growth and reduced labor costs associated with manual
quality parameters, such as temperature, provided critical insights into the health
ensuring optimal conditions for fish growth. Regular monitoring and precise
59
essential for maximizing yield and quality. Furthermore, the reduction in labor
similar models could be adapted for broader applications in other regions or with
different species.
Recommendations
communities.
communities.
61
Bibliography
Agnihotri, S., Babu, C., Kavya, B., Paul, B., Tripathi, P. (2022, January 1).
Sustainable Smart Aquaponics Farming Using IoT and Data
Analytics. J. Inf. Technol. Res., 15, 1-27.
https://www.semanticscholar.org/paper/Sustainable-Smart-
Aquaponics-Farming-Using-IoT-and-Paul-Agnihotri/
a981ffec24aad1125af1363178b55bc3dd7f7981?
utm_source=direct_link
Aiyetoro, G., Malele, V., Mapayi, T.,... et al. & (2021, October 7). IoT-Based Smart
Aquaponics System Using Arduino Uno. 2021 International
Conference on Electrical, Computer, Communications and
Mechatronics Engineering (ICECCME), 1-6.
https://www.semanticscholar.org/paper/IoT-Based-Smart-
Aquaponics-System-Using-Arduino-Uno-Ntulo-
Alselek M, Alcaraz-Calero JM, Segura-Garcia J,.,... et al. (2022, October 10). IoT
Monitoring System for Aquaponics Health and Fishery Applications.
Sensors (Basel). https://pubmed.ncbi.nlm.nih.gov/36236778/
Amin. A.A., Dewi, C., Ekawati, A., Kurniawan, A., Salamah, L.N., Ulfa, S.M.,
Yanuar, A.T. (2021, February 11). Analysis of Aquaponic-
Recirculation Aquaculture System (A - Ras) Application in the
Catfish (Clarias gariepinus) Aquaculture in Indonesia. Aquaculture
Studies. https://www.semanticscholar.org/paper/Analysis-of-
Aquaponic-Recirculation-Aquaculture-(A-Ekawati-Ulfa/
82c06b7890ede8f4edc8291d1badbd3f7daefce4?
utm_source=direct_link
Autos, M., Falculan, S., Fortin, J.,... et al. & (2020, November 19). Automated
Aquaponics System and Water Quality Monitoring with SMS
Notification for Tilapia Industry
https://ieeexplore.ieee.org/abstract/document/9293868
Aziz, A., Belayet, H., Mostafa, M.,... et al. (2016, January). Development of
Automatic Fish Feeder.
ResearchGate.https://www.researchgate.net/profile/Mahbub-
Rashid-5/publication/
309352067_Development_of_Automatic_Fish_Feeder/links/
611e52eb169a1a010311a188/Development-of-Automatic-Fish-
Feeder.pdf
Bhaskar, S. (2023). What Is scrum methodology? & Scrum project management.
Burnell, G. M., Goddek, S., Joyce, A., & Kotzen, B. (Eds.). (2019). Aquaponics
food production systems: Combined aquaculture and hydroponic
production technologies for the future. Springer Link.
https://doi.org/10.1007/978-3-030-15943-6
Domingo, E., Estante, S., Garcia, R.,... et al. & (2018, November 29). Internet of
Things (IOT)-Based Mobile Application for Monitoring of Automated
Aquaponics System.
https://ieeexplore.ieee.org/abstract/document/8666439
Go Green Aquaponics.(2022). Retrieved from Go Green Aquaponics.
https://gogreenaquaponics.com/blogs/news/how-to-raise-catfish-in-
aquaponics-systems
https://d1wqtxts1xzle7.cloudfront.net/82780839/IRJET-V6I51147-
libre.pdf?
Iigo, M., Ikeguchi, A., Kim, H.,... et al.(2021, August 4). The Growth of Leaf
Lettuce and Bacterial Communities in a Closed Aquaponics System
with Catfish. Horticulture.
https://www.semanticscholar.org/paper/The-Growth-of-Leaf-
Lettuce-and-Bacterial-in-a-with-Yamane-Kimura/
dc53cea72d9a137699dd90a29cda234b9242bd20?
utm_source=direct_link
informIT. (2012). Understanding quality attributes in software architecture.
Retrieved from https://www.informit.com/articles/article.aspx?
p=1959673&seqNum=2
John, J., & R, M.P. (2021). Automated Fish Feed Detection in IoT Based
Aquaponics System. 2021 8th International Conference on Smart
Computing and Communications (ICSCC), 286-290.
https://www.semantischolar.org/paper/Automated-Fish-Feed-
Li, J., Lu, T., Lu, Z., Wan, S., Wang, H., & Zhao, K. (2022). A Modularized IoT
Monitoring System with Edge-Computing for Aquaponics. Sensors
(Basel, Switzerland), 22(23), 9260.
https://doi.org/10.3390/s22239260
Pantanella, E. (2018, March 3). Aquaponics Production, Practices and
Opportunities. Sprinkler Link.
https://link.springer.com/chapter/10.1007/978-3-319-73257-2_7
Peek, S. (2023). What Is agile scrum methodology? Retrieved from
https://www.businessnewsdaily.com/4987-what-is-agile-
scrummethodology.html
APPENDICES
APPENDIX A Relevant Source Code
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
//LIGHT SENSOR
#include "Adafruit_VL53L1X.h"
#define IRQ_PIN 2
#define XSHUT_PIN 3
//##LCD CODE
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const uint8_t LCD_MSGCnt= 5, LCD_MaxScroll = 3, LCD_col = 20, LCD_row =
4;
LiquidCrystal_I2C lcd(0x27, LCD_col, LCD_row); String
LCD_MSG_ArrStr[LCD_MSGCnt];
uint8_t LCD_MENU = 0,LCDpos=0,LCD_MSGScrollCnt[LCD_MSGCnt]; byte
LCD_MSG_Stat[LCD_MSGCnt];
#include <EEPROM.h>
//TIME
#include <NTPClient.h>
#include <WiFiUdp.h>
WiFiUDP ntpUDP; const char* ntpServer = "asia.pool.ntp.org";
NTPClient T_CL(ntpUDP, ntpServer);
String NTP_Date,NTP_TimeS,NTP_DoW,NTP_Time;//,NTP_Old;
unsigned long UnixTime=1717644684; //Jun/6/2024
String NTP_AlarmArr[2]={"12:10","12:11"};
//FIREBASE CODE
#include <FirebaseESP32.h>
#define DB_URL "arduinoproject-7c8cf-default-rtdb.firebaseio.com"
#define S_Key "rayiU4kvBwB2RkBegj85mRQhVkDQWhc1MN9GUjnB"
FirebaseData fbdo; FirebaseAuth auth;FirebaseConfig config;
String FB_SentVal[3]
[7]={"TempC","distance","FinalFeed_height","FeedingEnable","FeedMsg","Heate
rMsg","FeedingCount"}; //0 name //1 value//2 old
String FB_GetVal[2]
[8]={"AutoManual","FeederONOFF","HeaterONOFF","Quantity","SetTemp","SetT
ime1","SetTime2"}; //0 name //1 value
String FB_SentVal2[3][1]={"TempC"};
String FB_GetVal2[2][1]={"FeedingCount"};
unsigned long FB_SendMS,FB_SendMS2,FB_GetMS,FB_GetMS2;
int Feed_counter=0,Quant=0;
unsigned long LCDMS,FeedMS;
unsigned long UNix=0;
bool SentFeed;
65
void setup(void)
{
Serial.begin(115200);
WM_AutoConnect("ESP_WIFI", "12345678", 5000);
if (WiFi.status() == WL_CONNECTED) { pinMode(2, OUTPUT); digitalWrite(2,
HIGH); }
if(WiFi.status()==WL_CONNECTED)
{config.database_url=DB_URL;config.signer.tokens.
legacy_token=S_Key;Firebase.begin(&config,&auth);Firebase.reconnectWiFi(tru
e);}
FB_GetJson("/FeederPampangga",FB_GetVal2,FB_GetMS2,1777,false);
Mydata.FeedingCount=FB_GetVal2[1][0].toInt();
// Serial.println("FeedingCount:"+String(Mydata.FeedingCount));
sensors.begin();
Wire.begin();
if (! vl53.begin(0x29, &Wire)) {
Serial.print(F("Error on init of VL sensor: ")); while (1){delay(10);}
}
if (! vl53.startRanging()) {
Serial.print(F("Couldn't start ranging: "));while (1){delay(10);}
}
Serial.println(F("Height Ranging started"));
vl53.setTimingBudget(50);
LCD_Output();
// if(Mydata.FeedingCount==FB_GetVal[1][7].toInt()){
// Serial.println("SentFeed:"+String(SentFeed));
if(SentFeed){
Mydata.FeedingCount=Mydata.FeedingCount+1;
if(Mydata.FeedingCount>20){ Mydata.FeedingCount=1;}
FB_SentVal2[0][0]=UNix;
FB_SentVal2[1][0]=String(FB_GetVal[1][3].toInt());
delay(50);
String
FB_Out=Firebase.RTDB.deleteNode(&fbdo,"/FeederPampangga/FeedingHistory
/"+String(Mydata.FeedingCount))?"ok":fbdo.errorReason().c_str();
Serial.println("delete :"+String(Mydata.FeedingCount)+" "+FB_Out);
delay(200);
FB_SentJson2("/FeederPampangga/FeedingHistory/"+String(Mydata.FeedingCo
unt),FB_SentVal2,FB_SendMS2,100,true);
delay(10);
SentFeed=0;
}
else{
FB_SentVal[1][0]=String(Mydata.TempC);
FB_SentVal[1][1]=String(Mydata.distance);
FB_SentVal[1][2]=String(Mydata.FinalFeed_height);
FB_SentVal[1][3]=String(Mydata.FeedingEnable);
FB_SentVal[1][4]=String(Mydata.FeedMsg);
FB_SentVal[1][5]=String(Mydata.HeaterMsg);
FB_SentVal[1][6]=String(Mydata.FeedingCount);
FB_SentJson("/FeederPampangga",FB_SentVal,FB_SendMS,950,false);
delay(10);
// }
FB_GetJson("/FeederPampangga",FB_GetVal,FB_GetMS,1777,false);
NTP_AlarmArr[0]= FB_GetVal[1][5];
NTP_AlarmArr[1]= FB_GetVal[1][6];
delay(10);
67
if(LCDMS<1050){
LCD_Update_Line(2, 1, 4, String(Mydata.TempC, 1), false, true, 0); // Char
Start I_ 0,Row I_, Max Length of String , MSG, Blinking, left right, Blink I_
LCD_Update_Line(3, 2, 3, String(Mydata.FinalFeed_height,0), false, true, 1);
void loop(void)
{ delay(20);
Get_Temp(950,false); //MS, pOut
Get_Height(100,false); //MS, pOut
if(Mydata.FeedingEnable){Mydata.FeedMsg="ON";
Start_Feeding(Quant,1000,false,false);} //duration C,duration CC, enable CC.
pOut
if(FeedMS<millis())
{Mydata.FeedMsg="OFF";Mydata.FeedingEnable=0;analogWrite(PIN_ENA, 0);}
if(Mydata.distance>1){ Mydata.FinalFeed_height=((FeederHeight-
String(Mydata.distance).toFloat())/FeederHeight)*100; }
if(Mydata.FinalFeed_height<1){Mydata.FinalFeed_height=0;}
else if(Mydata.FinalFeed_height>99){Mydata.FinalFeed_height=100;}
if(FB_GetVal[1][0].toInt()==1){
if(FB_GetVal[1][1].toInt()==1 && FeedMS<millis()){Serial.println("FEEDING
on");Feed_counter=150;SentFeed=1;Quant=map(FB_GetVal[1]
[3].toInt(),25,455,0,10000);;UNix=UnixTime;Mydata.FeedMsg="ON";Mydata.Fee
dingEnable=1;FeedMS=millis()+(FB_GetVal[1][3].toInt()*1000)+1000;}
else if(FB_GetVal[1][1].toInt()==0)
{Mydata.FeedMsg="OFF";Mydata.FeedingEnable=0;analogWrite(PIN_ENA, 0);}
if(FB_GetVal[1][2].toInt()==1){digitalWrite(HEATER,
HIGH);Mydata.HeaterMsg="ON";}
else{digitalWrite(HEATER, LOW);Mydata.HeaterMsg="OFF";}
}
else{
68
One_Output_GtLt(Mydata.TempC,String(FB_GetVal[1]
[4]).toFloat(),false,HEATER,HIGH,0,60,0,true);
if(AlarmVal!=-1)
{Serial.println("FEEDING");Feed_counter=150;SentFeed=1;Quant=map(FB_Get
Val[1]
[3].toInt(),25,455,0,10000);UNix=UnixTime;Mydata.FeedingEnable=1;FeedMS=
millis()+(FB_GetVal[1][3].toInt()*1000)+1000;}
}
}
analogWrite(PIN_ENA, 255);delay(10);
}
//Val,ValCh,GreaterTLessTbool,Pin#,TrrigerHIGH/
LOW,MilliIndex,Duration,OffDur,pOut
void One_Output_GtLt(float V_,float V_Ch,bool Gt_Lt,int OPin,bool L_H,int
Indx,int OnDur,int OffDur,bool pOut){ pinMode(OPin, OUTPUT); static unsigned
long OMS[8];
if(V_<V_Ch && !Gt_Lt){ if(digitalRead(OPin)!=L_H && OMS[Indx]<millis())
{OMS[Indx]=millis()+(1000*OnDur);digitalWrite(OPin,L_H);
Mydata.HeaterMsg="ON";
if(pOut)Serial.println("O<: "+String(OPin)+" ON " +String(digitalRead(OPin)));}
else if( digitalRead(OPin)==L_H && OMS[Indx]<millis() && OffDur>0)
{OMS[Indx]=millis()+(1000*OffDur);digitalWrite(OPin, !L_H);
Mydata.HeaterMsg="OFF";
69
MS=millis()+D_MS; }}}
(&fbdo,L_,&json)?"ok":fbdo.errorReason().c_str();FBstr.remove(FBstr.indexOf('{')
,1);if(FB_Out=="ok"){for(int i=0;i<sizeof(arr[0])
/sizeof(arr[0][0]);i++){arr[2][i]=arr[1]
[i];}}FBstr.remove(FBstr.indexOf('}'),1);if(pOut){Serial.print("Sent to FireBase>
"+FB_Out);
Serial.print(FBstr);}else{ //Serial.println("Sent to FireBase> "+FB_Out);
}}MS=millis()+D_MS;}}
json.toString(FBstr,true);if(FBstr.length()>1){String
FB_Out=Firebase.RTDB.updateNode
(&fbdo,L_,&json)?"ok":fbdo.errorReason().c_str();FBstr.remove(FBstr.indexOf('{')
,1);
FBstr.remove(FBstr.indexOf('}'),1);if(pOut){Serial.print("Sent to FireBase>
"+FB_Out);
Serial.print(FBstr);}else{ //Serial.println("Sent to FireBase> "+FB_Out);
}}MS=millis()+D_MS;}}
//TIME FUNCTION
template <size_t n>int NTP_AlarmCheck(String T_NoSec,String (&arr)[n]){ static
String NTP_Old;
if(NTP_Old!=T_NoSec){NTP_Old=T_NoSec;static String NTP_Data[5];for(int
i=0;i<sizeof(arr)/sizeof(arr[0]);
i++){ Split_data(T_NoSec,NTP_Data,':',false); int CT_H = NTP_Data[0].toInt();
int CT_M=NTP_Data[1].toInt();Split_data(arr[i],NTP_Data,':',false);int
AT_H=NTP_Data[0].toInt();
int AT_M=NTP_Data[1].toInt();if(CT_H==AT_H&&CT_M==AT_M){return
i;}}}return -1; }
// LCD CODE
void LCD_Update_Line(uint8_t C_S,uint8_t Row,uint8_t M_L,String Str_,bool
B_,bool LR_,int I_){static int B_Stat[20];uint8_t Dif=M_L-Str_.length();
static unsigned long B_MS[20];if(LR_){for (int i=1;i<=Dif;i++){Str_="
"+Str_;}}else{for(int i=1;i<=Dif;i++){Str_=Str_+" ";}}if((B_MS[I_]<millis()
72
&&B_Stat[I_]==0)||B_==false){for(int n=0;n<Str_.length();n++){if(n>=LCD_col)
{return;}lcd.setCursor(n+C_S,Row);lcd.print(Str_.charAt(n));}if(B_==
true){B_MS[I_]=millis()+600;B_Stat[I_]=1;}}else
if(B_MS[I_]<millis()&&B_Stat[I_]==1&&B_==true){for(int n=0;n<Str_.length();n+
+){if(n>=LCD_col){return;}
lcd.setCursor(n+C_S,Row);lcd.print(" ");}B_MS[I_]=millis()+160;B_Stat[I_]=0;}}
{if(LCD_MSGScrollCnt[i]>=LCD_MaxScroll&&LCD_MSG_Stat[i]==1&&LCDpos=
=0){LCD_MSG_Stat[i]=0;LCD_MSG_ArrStr[i]="";LCDpos=0;LCD_Output();}}}}
APPENDIX B QUESTIONNAIRES
73
Criteria 4 3 2 1
1. Automated Fish feeder is a reliable
easy of distributing feeds at the
desired/set time.
2.Monitoring the water temperature
through automated sensors reduces
the effort in maintaining catfish
health.
3.Using an automated feeder
ensures consistent feed portions and
reduces wastage in catfish feeding.
4.The system’s interface (app or
dashboard) is user-friendly and
easy to navigate.
5.Overall, the automated aquaponics
system is effective in supporting both
plant and catfish growth.
Criteria 4 3 2 1
1.Automated Fish feeder is a reliable
easy of distributing feeds at the
desired/set time.
2.Monitoring the water temperature
through automated sensors reduces
the effort in maintaining catfish
health.
3.Using an automated feeder
ensures consistent feed portions and
reduces wastage in catfish feeding.
4.The system’s interface (app or
dashboard) is user-friendly and
easy to navigate.
5.Overall, the automated aquaponics
system is effective in supporting both
plant and catfish growth.
APPENDIX C
QUESTIONNAIRES TABULATED DATA
PICTURE DOCUMENTATION
77
Documentation of Catfish
Curriculum Vitae