Professional Documents
Culture Documents
COLLEGE OF ENGINEERING
Adrian S. Ferreros
Ma. Cris E.Nogaliza
Michael Jon Alain L. Saavedra
Supervised by
Engr. Ronnie S. Concepcion II, MSc.
Adviser
August 2018
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
APPROVAL SHEET
This is to certify that Engr. Ronnie S. Concepcion II, MSc. have supervised the
preparation of and read the paper prepared by Adrian S. Ferreros, Ma. Cris E. Nogaliza,
and Michael Jon Alain L. Saavedra entitled Chlorella Vulgaris Microalgae Growth
Rate Parameter Characterization using Artificial Neural Network and that the said
paper has been submitted for final examination by the Research Committee of the College
and Panel Members.
__________________________ _____________________________
Engr. Edison E. Mojica Engr. Shiella Marie P. Garcia
Research Committee Research Committee
COLLEGE OF ENGINEERING
ACKNOWLEDGEMENT
Perpetual Help System DALTA-Las Pinas City located from 2018 to 2019.
Sincere gratitude and appreciation for the help and support are extended to the
First, the proponents would like to thank our almighty God, for giving the strength,
knowledge, protection and resources which greatly helped in finishing this design project
To the proponents’ families, especially the parents, for their unwavering support
To Engr. Ronnie S. Concepcion II, MSc. for being patient and for helping to
develop and to improve this design project all throughout its duration.
To Engr. Sandy Lauguico and Engr. Patrick Hanes Barte, for their shared
presentation. Their comments and suggestions have greatly contributed in the development
COLLEGE OF ENGINEERING
TABLE OF CONTENTS
ALGAE ......................................................................................................... 11
SUMMARY .................................................................................................. 47
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
LIST OF TABLES
COLLEGE OF ENGINEERING
Table 2.5: BG – 11 Stock 4 Composition ............................................................. 15
Table 3.5: Lighting standard for closed and open system .................................... 64
Table 3.9: Summary of light intensity and temperature parameter test ............... 77
COLLEGE OF ENGINEERING
Table 3.15: Data table format ............................................................................... 85
Table 4.1: Relationship under 20% boundary of readings based RGB color ....... 92
Table 4.2: 20% boundary of readings based HSV color space ............................. 93
Table 4.3: 20% boundary of readings based CYM color space ............................ 94
Table 4.4: 20% boundary of readings based YCbCr color space ......................... 95
Table 4.9: Artificial Neural Network Performance of (a) Radial Basis ............. 102
LIST OF FIGURES
Figure 2.7. Block diagram of ZigBee based wireless sensor node ....................... 28
COLLEGE OF ENGINEERING
Figure 2.9. Structural diagram of proposed remote ............................................. 30
Figure 3.10. Initial sensor data in boiling distilled water environment ................ 61
Figure 3.12. Temperature sensor response curve for (a) Tsensor1 ........................... 62
Figure 3.15. Response Curves of (a) Isensor1, (b) Isensor2 and (c) Isensor3 .................. 67
Figure 3.18. Turbidity response curve of (a) Turbsensor1, (b) Turbsensor2 ................ 69
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Figure 3.19.Mote hardware architecture ............................................................... 70
Figure 3.22.(a) Interior Design of Mote and (b) Mote casing .............................. 73
Figure 3.26.(a) BG-11 media, (b) stocks 1 - 4 solution and (c) part A-D............. 80
Figure 4.2. (a) Actual camera setup and (b) sample of image captured ............... 89
Figure 4.3. (a) Image clustering and (b) boundaries overlaid ............................... 90
Figure 4.5. 20% boundary of total reading of HSV color space ........................... 93
Figure 4.6. 20% boundary of total reading of CYM color space .......................... 94
Figure 4.7. 20% boundary of total reading of YCbCr color space ....................... 95
COLLEGE OF ENGINEERING
Figure 4.12. Generalized Regression Percent Difference Output ...................... 105
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
All information shall be used by the University for legitimate purposes and shall be
processed by authorized personnel in accordance with the Data Privacy Policies of the
University.
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
CHAPTER 1
INTRODUCTION
Human beings consider that overcoming the energy crisis and supplying their basic
needs are a challenge. In the Philippines, the country is profoundly dependent on fossil
fuels as first generation biomass source, as 40% of its energy consumption comes from oil
with the majority being diesel fuel. Biofuels are considered as alternative solution because
of its reduced carbon emissions compared to fossil fuels while acting as a substitute for
The algae in the Philippines are probably the taxonomically best known in the
tropical Pacific. Today, algae have been a third-generation feedstock of biomass that will
be replaced for first generation feedstocks such as edible crops, sugars, and starches that
are considerably in edge competition between food and fuel feud and second generation
feedstocks, known as lignocellulosic biomass (Chen et al., 2015). It has been used in most
countries as source of energy which in a state of scarcity in costly production and reduced
the environmental issue of greenhouse effect which it uses carbon dioxide (CO2). Compare
to different renewable feedstock at market, third generation feedstock or algae can produce
gallons of fuel between 2,000 to 5,000. Algae come into two classes, namely, microalgae
and macroalgae. Both class of algae are considerably future products of the alternative
energy source because it produces vast of oil and a solution on issue of global warming
1
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
that mainly caused to greenhouse effect CO2 is being used by this class of algae for
photosynthesis. The factors to be considered as best biofuel feedstock candidate are its
converting to biofuel as alternative energy source. The productivity of algae has a great
difference on other feedstock for it could produce through the presence of water
which has concentration of almost 60% of earth. Both come in different scalability which
helps classify class of algae. The supply of algae leads to the idea supplying continuously
with right value by cultivation of this aquatic organisms. Algae are promising alternative
energy source (Chen et al, 2015). Due to energy crisis, interest has been diverted to the
third generation of biomass like algae that can be a peak solution. Since algae has been
known as promising source for renewable energy, United States investigates the feature of
both class of algae. Bioenergy Technologies Office (BETO), an office of U.S. Department
of Energy, began its exploration for development on algae as renewable diesel and jet fuel.
Sustainability, being its guiding principle, BETO and its research partners come to two
analyses that feed them for minimal requirements for production. First, a study published
in Water Resources Research (WRR) recommends a strategically locating area that could
limit the usage of water to 25%. With this analysis, U.S. can maintain a production of
enough biofuels coming from algae by about 17% of oil imports that is about 20 billion
aimed for sustainability biofuels that is enough to cover 5% of the all U.S. transportation
2
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
The Philippines is not unfamiliar with biofuels as it has already been producing
biodiesel from coconut oil and bioethanol from sugar cane. The utilization of these
slowed down for the past few years, because of the recent typhoons and insect infestations.
Microalgae is then eyed as a potential feedstock for biodiesel production, because of its
high oil yield per hectare and fast growth rate. Cultivation system of microalgae in the
country needs to be evaluated, particularly, the parametric measures for efficient growth
The main objective of the study is to design, develop and evaluate an artificial
combination with the use of data-centric wireless sensor network. Specifically, the study
aims the following: (1) to integrate light, power of Hydrogen (pH) level, temperature and
turbidity sensors into a single mote that is capable for wireless communication; (2) to
develop a data-centric wireless sensor network using wireless fidelity (Wi-Fi) medium; (3)
to design algae test chambers with differing growth rate parameter configurations; (4) to
implement image processing techniques for image enhancement and segmentation; (5) to
3
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
The aim of this study is to expand the cultivation of algae in the Philippine setting
based on its specific growth rate parameters that will eventually provide scientific study
and technical support to the Department of Energy (DOE), the Department of Environment
and Natural Resources (DENR) and the Department of Science and Technology (DOST).
citizens. It features the parametric measures for efficient growth rate of algae that can be
environment.
The research focuses on the specific growth rate parameters for the cultivation of
algae in the Philippines, namely, light, turbidity, pH level, and temperature. Image
Feature data from input image will be obtained through image processing using MatLab
software. The light, turbidity, pH level and temperature sensors are embedded to Arduino
Mega. The Arduino Mega and Raspberry Pi are the processing core in mote. The Arduino
Mega read the data in each sensor and transmit it to Raspberry Pi and send it to another
Raspberry Pi which responsible to collect all data coming from three chambers.
4
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Raspberry Pi is configured for sensors to have a data rate of 120 Hz per five minutes. The
monitored by the time-frame set will be assessed by the artificial neural network to deliver
the desired output of the study that is the combination of growth rate parameters yielding
highest growth rate for algae. The number of test chamber used in this study is three set of
aquarium with overall capacity of 36 liters of liquid (30 liters of freshwater and 6 liters of
BG-11 growth medium). This will be done in the College of Engineering, Room 318,
5
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
CHAPTER 2
This chapter covers all of the related studies which were used as reference for this
study, including a comparison table of the existing studies and products to the proponents’
The Global Energy Statistics (GES) presents the total world energy statistics on all
energy sources such as coal, oil, natural gas, electricity, nuclear and renewables. It covers
all the energy consumption of more than all countries and regions all over the world. A
global economy growing at an average rate of 3.4% per year. The 2017 world’s demand
for energy grew by 2.3%, more than twice the previous year’s rate. Energy grew in most
6
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
6000
5000
4000
Mtoe
3000
2000
North America
1000 Latin America
0 Pacific
Year
Pacific Middle-East Africa Latin America CIS Europe North America Asia
Figure 2.2 shows the Global Energy Breakdown by 2017. Coal had the second
largest share with 27% of world consumption. While, the natural gas is 22% that closing
the gap in coal. The fossil fuel is still the largest demand for global energy consumption.
Most of energy sources in Asia are still coal-fired power generation. While the renewable
made up of 10% in world consumption, the world energy systems are reversing because
the renewable energy sources are exponentially increased every year. The renewable will
keep growing that will mark the downward share of fossil fuels.
7
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
9%0% Oil
10%
32%
Coal
Gas
Biomass
22%
Electricity
Heat
27%
Figure 2.2 Energy breakdown 2017 (Global Energy Statistical Year Book, 2018)
The country’s total peak demand in 2017 grew steadily by 3.9% or 517 MW from
13, 272 MW in 2016 to 13,789 MW in 2017. Total electricity consumption likewise grew
by 3.9% or 3,572,450 MWh, from 90,797,891 MWh in 2016 to 94,370,341 MWh in 2017.
This increase is largely attributed to the growth of the residential and industrial sectors
100000
80000
60000
GWh
40000
20000
0
2003 2004 2005 2006 2007 2008 2009 2010
Year2011 2012 2013 2014 2015 2016 2017
Figure 2.3 Total Power Consumption in the Philippines 2017 (Department of
Energy, 2018)
8
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Expansion in the residential sector is associated with the increasing household
electrification, among others. Figure 2.3 shows the total power consumption in the
Philippines 2017.
Figure 2.4 shows the total power output in the Philippines 2017. Coal remains the
major source of electricity generation for Luzon, Visayas, and Mindanao with a combined
share of 50% that increased by 2% from previous year. Reducing the dependence on coal
1% 1% 4% 1%
Geothermal Hydro
11%
50%
Oil-Based Solar
Figure 2.4 Total power consumption in the Philippines 2017 (Department of Energy,
2018)
9
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Philippines Renewable Energy Sources
The 2017 country’s renewable energy consumption with a total of 23,189 GWh still
stable at 24% from previous year. Geothermal energy does not depend on the seasons or
weather conditions. The minimal carbon emission of both wind and geothermal energy and
their ability to displace carbon emissions from coal-fired power plants drive a low-carbon
economy that is crucial to our country’s fight against climate change. The Department of
Energy (DOE) had implemented an Executive Order (EO) No.30 for energy projects to
strengthen the involvement of energy and energy-related issues. One of their agenda is to
promote and implement an alternative fuels and renewable energy in the Philippines.
9611
10270
10000
9000
8000
7000 1013
6000 1094 Biomass
5000 1201
GWh
Wind
4000
3000 Solar
2000 Hydro
1000 Geotherma
l
0
10
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
To ensure energy security, reliability, and reasonable price for energy. Plant
biomass is considered a strategic resource for biofuel production. Improving biomass helps
climate change by reducing greenhouse gas emissions that give more impact to global
Algae
Algae are very diverse and its size can range from microscopic to very large
seaweed. Macroalgae known as seaweed can become very large up to like 60 meter in
length while microalgae which are far smaller than macro algae and are practically small
photosynthetic factories. Algal body are no roots, stem and leaves but are still capable of
engaging in photosynthesis. Both types of algae grow in sea water and river water and
found almost everywhere on the planet (Deepak Kumar and Sankaranarayanan, 2014).
When algae grown using sunlight it absorbs carbon dioxide (CO2) as they grow and
releasing oxygen (O2) that is vital for biological life. Algae can double its growth every
few hours, hence for high productivity it requires more CO2, which can be supplied by
different types of sources of atmospheric emissions such as power plants, factories, fossil
fuel extraction and production sites, transport, agricultural activities and other sources thus,
captivate more CO2 in large volume as a result of reducing greenhouse gas emission. In
addition, they can produce about half of the earth’s atmospheric oxygen (Habib, 2015).
11
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
At present, no new alternative energy source seems to be mend in energy demands
but still many fields hope to have new technologies to offer the energy that people need.
Algae are a promising new source of bioenergy but then major challenges in algal biofuel
are related to optimization of the growth conditions and to control actions to achieve high
oil content while maintaining exponential or high growth of organism. The issues can be
addressed by developing mathematical models to accurately capture the algal growth and
lipid production. The most influencing factors of algae growth are light intensity,
2015).
Macroalgae
Macroalgae are known to produce molecules with great chemical diversity that have
relevant effects on human health. There are numerous reports of compounds derived from
activities have been detected in green, brown and red algae (Martins et al., 2018).
12
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Chemical composition of macroalgae species is significantly different from
terrestrial plants. They include lower contents of carbon, hydrogen, and oxygen and higher
Additionally, the heating value of various seaweeds is often much lower than
corresponding values for energy crops and other biomass; in contrast, the ash content is
generally higher. Moreover, compared to terrestrial biomass, they have higher contents of
Macroalgae are classified into three major groups based on their photosynthetic
pigmentation variations: red for Rhodophyta, brown for Phaeophyta and green for
Chlorophyta. Globally, red is the most species-rich group of 6,000 followed by 4,500
species of green and 2,000 of brown species. Brown algae mainly grow in tempered to cold
or very cold waters, and red algae grow especially in intertropical zones. The green algae
grow in all type of water environment. Macroalgae generally contains only 10% to 15% of
dry matter. The dehydrated macroalgae consists of large amounts of carbohydrates for
almost 60%. Cell wall components of macroalgae are the major sources of carbohydrates.
Some contains cellulose and starch, namely, green and red. The biochemical composition
13
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Microalgae
Microalgae has a more efficient solar energy conversion and nutrient acquisition;
hence they have a greater rate of areal productivity compared to traditional terrestrial crops
such as corn and soybean. The cultivation of microalgae is usually limited by some factors
including the availability of water, nutrients, CO2, sunlight, temperature and the like. Co-
locating of microalgae cultivation facility to near CO2 emitter industrial points is a very
potential strategy to grow large quantities of micro algal biomass and also to recycle the
For microalgae composition, oil content maybe as high as 90% of dry biomass
weight under extreme growth conditions, and this potential high oil content and rapid
growth makes algae an interesting renewable source. Algae, as renewable resource, provide
a means to re-use CO2 in large volume, thereby reducing greenhouse gas emission. In
addition, microalgae are also used to produce methane by anaerobic digestion of algal
Among the sixty strains of microalgae, there are five candidates namely, chlorella
vulgaris, isochrysis, nannochloropsis spp., tetraselmis spp., and spirulina plantensis, which
provide considerable vast amount of oil for biofuel production in the Philippines and
Southeast Asia. Considering five strain of microalgae for biofuel production, limitation and
demanding issues must overcome technologies for industrial level. This address
microalgae for enhancing growth rate, algae culture for biomass production and optimizing
14
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Preparation of the Growth Medium
medium for freshwater Chlorella sp. The exact composition of the BG – 11 growth medium
used in the laboratory is found below Table 2.1 to Table 2.5 (Magdaong, 2017).
15
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
As per laboratory protocol, stocks 1, 2, 3, and 4 were first prepared before making
the growth medium. For each of stocks 1, 2, and 3, 200 mL of deionized water was mixed
with the corresponding compounds in separate 250 mL laboratory glass bottles. Meanwhile
for stock 4, parts A, B, C, and D were first individually prepared. This was done by mixing
test tubes. This additional step was also part of the protocol to avoid possible instability
among the components when temperature increases. After preparing the solutions, they
were sterilized via an autoclave. After they have cooled down, the individual parts of stock
4 were combined in another 250 mL laboratory glass bottle. This was done inside the
laminar flow station for sterile operation. Finally, the stocks were stored in the refrigerator
to maintain their quality. These stocks were used regularly when preparing the main growth
microalgae as a source for renewable fuel, the results showed that Chlorella vulgaris which
was cultured in pH 7 medium, under the light intensity of 2,000 lux and 14/10-hour
photoperiod cycle, produced the highest number of cells and biomass. The pH, light
intensity and photoperiod had an individual influence on the cell growth. Drying at 60°C
was identified to be ideal since the lipid content decreased marginally while the lipid
composition was retained, 36.45% of saturated and 60.05% of unsaturated fatty acid.
Furthermore, the biodiesel produced complied with the American Society for Testing and
Materials (ASTM) standards which establish this Chlorella vulgaris strain as a potential
16
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
In the study entitled Microalgae for biodiesel production and other applications: A
review, the study reviews the current status of microalgae use for biodiesel production,
including their cultivation, harvesting, and processing. The microalgae species most used
for biodiesel production are presented and their main advantages described in comparison
with other available biodiesel feedstocks. Chlorella seems to be a good option for biodiesel
production. Yet, as other species are so efficient and productive as this one, the selection
of the most adequate species needs to take into account other factors, such as for example
the ability of microalgae to develop using the nutrients available or under specific
environmental conditions. As shown in Table 2.6, oil content in microalgae can reach 75%
by weight of dry biomass but associated with low productivities. Most common algae are
Tetraselmis have oil levels between 20 and 50% but higher productivities can be reached
Table 2.6 Lipid content and productivities of different microalgae species (Mata
et al., 2010)
Marine and freshwater Lipid content Lipid Volumetric productivity of Areal productivity of
microalgae (% dry weight productivity biomass (g/L/day) biomass (g/m2/day)
biomass) (mg/L/day)
Ankistrodesmus sp. 24.0-31.0 Not specified Not specified 11.5-17.4
Botryococcus brounii 25.0-75.0 Not specified 0.02 3.0
Chaetoceros muelleri 33.6 21.8 0.07 Not specified
Chaetoceros calcitrans 14.6-16.4/39.8 17.6 0.04 Not specified
Chlorella emersonii 25.0-63.0 10.3-50.0 0.036-0.041 0.91-0.97
Chlorella protothecoids 14.6-57.8 12.14 2.00-7.70 Not specified
Chlorella sorokiniana 19.0-22.0 44.7 0.23-1.47 Not specified
Chlorella vulgaris 5.0-58.0 11.2-40.0 0.02-0.20 0.57-0.95
Chlorella sp. 10.0-48.0 42.1 0.02-2.5 1.61-16.47/25
Chlorella pyrenoidosa 2.0 Not specified 2.90-3.64 72.5/130
Chlorella 18.0-57.0 18.7 Not specified 3.50-13.90
17
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Chlorococcum sp. 19.3 53.7 0.28 Not specified
Crypthecodinium cohnii 20.0-51.1 Not specified 10 Not specified
Dunaliella salina 6.0-25.0 116.0 0.22-0.34 1.6-3.5/20-38
Dunaliella primolecta 23.1 Not specified 0.09 14
Dunaliella tertiolecta 16.7-71.0 Not specified 0.12 Not specified
Dunaliella sp. 17.5-67.0 33.5 Not specified Not specified
Ellipsoidion sp. 27.4 47.3 0.17 Not specified
Euglena gracilis 14.0-20.0 Not specified 7.70 Not specified
Haematococcus pluvialis 25.0 Not specified 0.05-0.06 10.2-36.4
Isochrysis galbana 7.0-40.0 Not specified 0.32-1.60 Not specified
Isochrysis sp. 7.1-33 37.8 0.08-0.17 Not specified
Monodus sobterraneus 16.0 30.4 0.19 Not specified
Monallanthus salina 20.0-22.0 Not specified 0.08 12
Nanachloris sp. 20.0-56.0 60.9-76.5 0.17-0.51 Not specified
Nannochloropsis oculata 22.7-29.7 84.0-142.0 0.37-0.48 Not specified
Nannochloropsis sp. 12.0-53.0 37.6-90.0 0.17-1.43 1.9-5.3
Neochloris oleoabundans 29.0-65.0 90.0-134.0 Not specified Not specified
Nitzschia sp. 16.0-47.0 Not specified Not specified 8.8-21.6
Pavlova salina 30.9 49.4 0.16 Not specified
Pavlova tahteri 35.5 40.2 0.14 Not specified
Phaeodactylum 18.0-57.0 44.8 0.003-1.9 2.4-21
trocornutum
Scenedesmus obliquus 11.0-55.0 Not specified 0.004-0.74 Not specified
Scenedesmus quadricauda 1.9-18.4 35.1 0.19 Not specified
Scenedesmus sp. 19.6-21.1 40.8-53.9 0.03-0.26 2.43-13.52
Skeletonema sp. 13.3-31.8 27.3 0.09 Not specified
Skeltonema costatum 13.5-51.3 17.4 0.08 Not specified
Spirulina maxima 4.0-16.6 Not specified 0.06-4.3 1.5-14.5/24-51
Spirulina platensis 4.0-9.0 Not specified 0.21-0.25 25
Thalassiosira pseudonana 20.6 17.4 0.08 Not specified
Tetraselinis suecica 8.5-23.0 27.0-36.4 0.12-0.32 19
18
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
2.7. Based on the study of Mata et al. in the comparison of microalgae species most used
for biodiesel production, Chlorella vulgaris seems to be a good option for biodiesel
production. In this study, Chlorella vulgaris is considered for the optimization of growth
rate parameter characterization for alternative energy source here in the Philippines.
Deepak Kumar 2014 Both types of algae grow in sea water and river water.
and Sankaranarayanan
Habib 2015 Algae can double its growth every few hours.
Jayaraman 2015 Most influencing factors of algae growth are light intensity, photosynthetic rate,
and temperature, nutrient availability, and pH. Microalgae composition, oil content
Rhinehart maybe as high as 90% of dry biomass.
Chen et al. 2015 Macroalgae generally contains only 10% to 15% of dry matter. The dehydrated
macroalgae consists of large amounts of carbohydrates for almost 60%.
Aziz et al. 2013 Microalgae has a more efficient solar energy conversion and nutrient acquisition
hence they have a greater rate of areal productivity compared to traditional
terrestrial crops such as corn and soybean.
Ghadiryanfar et al. 2016 They have higher contents of metal and halogens.
Rajanren and Ismail 2016 The biodiesel produced complied with the ASTM standards which establish this C.
vulgaris strain as a potential source for biodiesel production.
Martins et al. 2018 Produce molecules with great chemical diversity that have relevant effects on
human health.
19
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Microalgae Growth Rate Parameters
temperature, pH, light intensity, salinity, accessible biogenic elements concentrations and
optical activity of the medium. Specifically, all of these are factors varies beyond its
exposure naturally, which turn out to be affected on its qualitative and quantitative data in
the growth of algae and other properties altered by these factors (Agata Karlo et al., 2015).
Light
Algae growth affects by this parameter for it uses for its photosynthesis process used up
10% of light for the process. Making light quantitative is its intensity. Light intensity varies
unpredictable which tends of light intensity to decrease. The day-and-night cycle of algae
growth has been modeled as shown in Equation 1, wherein, Io, with a unit of W/m2, is
comes non-algal turbidity and algal turbidity. The total light extinction of both classes as
shown in the Equation 2, wherein, α is the total extinction coefficient with unitless. The kn
accounts to the value of non-algal turbidity with a range of 2.22 to 7.13. While, ka accounts
20
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
𝛼 = 𝑘𝑛 + 𝑘𝑎 [𝐵] (2)
With Beer-Lambert extinction model, light intensity can be solved (Jayaraman and
Temperature
depends on how set-up is done and took place. Researchers break-down to build a model
radial basis function of pond temperature. For any given subject, optimal temperature
is at Kelvin (K) unit. This equation elaborates the natural logarithm of a standard or
optimum temperature from the experimental temperature coming from its environment and
1/K2. The variable Tr is the natural temperature reading with the subject and Topt is the
temperature at its optimum for growth of the algae (Jayaraman and Rhinehart, 2015).
2
𝑓(𝑇) = 𝑒 (−𝑘1(𝑇𝑟 −𝑇𝑜𝑝𝑡) (4)
pH level
growth assumed that power of Hydrogen (pH) level is pre-defined on the presence of
21
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
carbon dioxide (CO2). With the presence of this gas, it portraits the increase in pH on the
pond. To elaborate, the growth of the algae is ideal only to certain set of pH concentration
and tends to maintain the pH for best production in growth of algae (Jayaraman and
Rhinehart, 2015).
productivity in large number in continuous supply. Algae adaptation is critic point which
this aquatic plant can survive into different environment except aerial and terrestrial. For
an alga, pH level has been established between ranges of 7 to 9 to deliver optimum output
Jayaraman and The study reveals the need 40°C 2.5 with 10 N Not specified
Rhinehart, for data to validate the H2SO4
2015 model for more realistic
case
Table 2.8 used different parameters in cultivating microalgae but the combination
of those parameters that had influenced the growth rate of microalgae are not considered
in previous study. Thus, it motivates here in this study to used different parameters such as
light, temperature, pH level, and turbidity. Each parameter is read and monitored by sensors
that have the capability to submerge underwater respectively. These set of parameters are
22
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Computer Vision
Computer vision is a form of Artificial Intelligence (AI) where computers can see
the world, analyze visual data and then make decisions from it or gain understanding about
the environment and situation. One of the driving factors behind the growth of computer
vision is the amount of data we generate today that is then used to train and make computer
vision better. Computer vision also has attracted increasing attention in recent years due to
partner, the human workforce will be freed up to focus on higher-value tasks because the
machines will automate processes that rely on image recognition (Marr, 2019).
In the study entitled Quality Evaluation of Apples, computer vision systems provide
a large amount of information about the quality of products in a rapid and nondestructive
way and have flexibility in performing various inspection tasks automatically. Based on
electromagnetic waves, computer vision can be classified into color imaging (visible light),
(Vis/NIR) regions), thermal imaging (infrared or IR radiation), and X-ray imaging (X-ray
techniques for detecting surface and internal defects and assessing texture and flavor in
apples. While color imaging is being widely used for sorting and grading apples for color
and size, it is insufficient for detecting surface defects like bruises. Thermal, X-ray, and
magnetic resonance imaging are promising for internal defect detection; however,
equipment cost and inspection speed are still the main hurdles for their commercial
23
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
In order to develop an efficient and convenient interaction assistant system for
nurses and patients with dementia, the study entitled An Interactive Care System Based on
a Depth Image and EEG for Aged Patients with Dementia, propose two novel multimodal
sparse auto encoder frameworks based on motion and mental features. First, the motion is
extracted after the preprocessing of depth image and then EEG signals as the mental feature
is recorded. The proposed novel system is designed to be based on the multimodal deep
neural networks for the patient with dementia with special needs. The input features of the
networks include (1) extracted motion features based on the depth image sensor and (2)
EEG features. The output layer is the type recognition of the patient’s help requirement.
Experimental results show that the proposed algorithm simplifies the process of the
recognition and achieved 96.5% and 96.4% (accuracy and recall rate), respectively, for the
shuffled dataset, and 90.9% and 92.6%, respectively, for the continuous dataset. Also, the
proposed algorithms simplify the acquisition and data processing under high action
recognition ratio compared with the traditional method (Dang et al., 2017).
In the study entitled Using Deep Learning for Classification of Lung Nodules on
Computed Tomography Images, three important deep neural networks were exploited and
extensively evaluated. The study employs convolution neural network (CNN), deep neural
network (DNN), and stacked auto encoder (SAE) for the early diagnosis of lung cancer to
doctors. The experimental results suggest that the CNN archived the best performance than
DNN and SAE. The experimental results show that the CNN network archived the best
24
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Table 2.9 Summary of above existing study related to computer vision
Author Year Objectives Methods Result
Computer vision is an outlet of AI technology that has already used in people lives
and businesses that most people may not be aware of. Researchers of computer vision
made substantial progress during the past several decades. Computer vision jobs for
researchers’ studies are headed for the progress of computer software that analyze visual
More research community has been studied and developed several methods of
wireless sensor network (WSN). It is typically composed of multiple tiny devices equipped
with limited sensing, computing and wireless communication capabilities. These tiny
devices are called motes or wireless sensor nodes. Motes are the small, low power single
board computer with a radio for wireless communication and form the building block of
25
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
A single mote has mainly three key ingredients, namely, a microcontroller, sensors
and low power radios. Motes can either run on batteries or they can tap into the power grid
in certain applications. Motes collect and transfer data using four stages: collecting the
data, processing the data, packaging the data and communicating the data. Each mote
collects data using its various types of sensors. After collecting the data, the mote processes
the data using its electronic brain. Once the data has been processed, the brain packages
the data into an easily handled form (Maurya and Shukla, 2013).
WSN provides a bridge between the real physical and virtual world. The basic idea
behind WSNs is that, while the capability of each individual sensor node is limited, the
power of the entire network is sufficient for the required operation. In a typical scenario,
users can retrieve information of interest from a wireless sensor network by injecting
queries and gathering results from the so-called base stations, which behave as an interface
between users and the network. Wireless sensors used in environmental monitoring,
military surveillance, air pollution, water monitoring and machine monitoring system (P.K.
Figure 2.6 Basic structure of wireless sensor network system (P.K. Patil and S.R.
Patil, 2017)
26
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
In the study entitled Water Quality Monitoring System Using Wireless Sensor
Network, three types of sensor were used pH sensor that senses the acidity or basicity of
the water, temperature sensor that senses the temperature of the water, and turbidity sensor
that senses the turbidity or purity level of water based on phototransistor are used. All the
sensors use battery for their operation. The information being sensed by the sensors is then
that processes it to the value understandable by humans. The main microcontroller of the
sensor node is P89V51RD2 by Philips. The high-power transmission type ZigBee module
is using transceiver IC that complies with the IEEE 802.15.4 standard. The transceiver IC
is integrated with the microcontroller with a low power but high performance of 64kB
programmable flash features. The main micro microcontroller of the sensor node is
P89V51RD2 by Philips. The high power transmission type ZigBee module is using
transceiver IC that complies with the IEEE 802.15.4 standard. The transceiver IC is
integrated with the microcontroller with a low power but high performance of 64kB
programmable flash features. The module alone requires a 5VDC power supply, multiple
sensor inputs/outputs with ADC, operating at a frequency of 2.4 GHz. The main issue that
is being addressed in this project is about developing an efficient WSN based water quality
monitoring system, that examines water quality, an important factor as far as, irrigation,
27
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Figure 2.7 Block diagram of ZigBee based wireless sensor node (Shruti
Sridharan, 2014)
In the study entitled The Real Time Monitoring of Water Quality in IoT
Environment, the system consist of several sensors is used to measuring physical and
chemical parameters of the water. In this proposed block diagram shown in Figure 2.8
consist of several sensors the temperature, pH, turbidity, conductivity and dissolved
oxygen was connected to core controller. The core controller is accessing the sensor values
and processing them to transfer the data through internet. The sensor data can be viewed
on the internet using cloud computing. The proposed system consists of several water
quality parameter sensors, Raspberry PI B+ core controller and an IoT module (USR WIFI
232). The Raspberry Pi comes equipped with a range of drivers for interfacing. Raspberry
Pi sends the data to the IoT module (USR-WIFI232-X-V4.4). The IoT module send the
data to internet using cloud computing and also to WIFI for accessing mobile devices. This
can implement is suitable for environment monitoring, ecosystem monitoring and the data
28
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
In the study entitled A remote wireless system for water quality online monitoring
in intensive fish culture, water quality remote monitoring systems using CDMA service
combined with IPsec-based virtual private network (VPN) function were developed for
model on the basis of ANN, the system is able to provide real-time information and the
dynamical trend of the water quality at different monitoring sites. These detected data can
be collected and analyzed at any time via the Internet so as to know the status and changes
of the system. As shown in Figure 2.9, the basic structure of the system can be divided into
two major parts: the remote monitoring platform (RMP) and the central monitoring
platform (CMP) for data acquisition and data analysis, respectively. These two parts
communicate with each other through the telecommunication system (Zhu et al., 2010).
29
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Zhu et al. 2010 Water quality Temperature, pH, PICNIC2.0 core Fish culture
monitoring system for dissolved oxygen, processing chip,
intensive fish culture in conductivity, CDMA module
China salinity
Shruti Sridharan 2014 Design and manage a Temperature, pH, ZigBee module, Water resource
Wireless Sensor turbidity, IEEE 802.15.4
Network (WSN) that conductivity, transceiver
helps to monitor the dissolved oxygen
quality of water
Vijayakumar and 2015 Design and develop a Temperature, Raspberry Pi Model Water sources
Ramya low cost, real time water turbidity, pH, B+, USR WIFI 232
quality monitoring conductivity, module
system dissolved oxygen
30
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Zhu et al. (2010) developed a system that employs CDMA with IPsec-based Virtual
Private Network (VPN) to monitor and forecast water quality in modern intensive fish
farming in China. Forecasting was implemented through ANN. Authors deployed and
tested a prototype system of two nodes for 22 months, and were able to achieve statistical
reliability of 95.2%. Shruti Sridharan (2014) proposed the fundamental design and
together with the IEEE 802.15.4 compatible transceiver. It is chosen due to its features that
fulfill the requirement for a low cost, easy to use, minimal power consumption and reliable
data communication between sensor nodes. The use of wireless system for monitoring
purpose will not only reduce the overall monitoring system cost in terms of facilities setup
and labor cost, but will also provide flexibility in terms of distance or location.
Vijayakumar and Ramya (2015) designed and developed a low cost, real time water quality
monitoring system using Internet of Things (IoT) technologies. The node was powered
connected to it. From experimental results, the proposed system was able to present water
quality parameters on the Internet. In this study, there are multiple parameters subjected to
sensors for each test chamber. Constructing network wirelessly makes sensor behave
precisely and delivers comprehensive data. WSN in monitoring gives advantage of data in
real-time based.
31
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Image Processing
For some time now, image processing and computer vision has been growing at a
fast pace, and computers and workstations have become powerful enough to process image
data. Image processing has to be a standard scientific tool and image processing techniques
are now applied to virtually all-natural sciences and technical disciplines (Jahne, 2005).
In the present study of Santhi et al, identification of the algal community from images
feature extraction, classification, and identification. Figure 2.11 depicts the architectural
layout of the image processing method used in the identification. Correct object detection
depends upon many factors, such as the type of illumination, the presence of shadows, the
level of noise, the state of focus, the overlapping of objects, as well as level of object
similarity to the background. The digital grayscale images captured from a microscope are
preprocessed to reduce the effects of non-uniform illumination and other noise. A median
filter with the size of 3×3 and 5×5 was used to reduce image noise. Non-uniform
illumination was corrected using the top-hat filter. Neighborhood averaging technique
using Wiener filter and median filter methods were used to reduce image noise and to
preserve edges. Objects within each image are separated from the background via a process
called segmentation.
32
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Segmentation is the key part in the image processing. Both the Canny and Sobel edge
detection methods were adopted for image segmentation. Finally, the object result from the
Sobel method was better than the Canny edge detection method. This paper reviewed
image processing. The achieved detection rate of combining all the features was 98%
33
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Matlab version 14 used for system development process because it has an integrated
technical computing environment that is suitable for algorithm design and development,
areas. The image processing consists of the following process which must be performed
extraction, classification and neural training, and detection or recognition process as shown
in Figure 2.11. Images uploaded manually to the system, might suffer from low contrast
quality and it may contain some noise and unwanted area. A pre-processing for captured
images is necessary to enhance the images in order to produce clearer details which can
improve the overall appearances. A filter model was used to make the uploaded image
clearer. Neighborhood averaging was used to reduce image noise. Then, morphological
operations were performed for noise elimination and edge extraction of selected
cyanobacteria. Morphological model was used to smooth the original image, suppress
noise, keep the cyanobacteria body clearer, and make its branches thinner. Morphological
operator was applied to reconstruction image via extract some lost fragments of
cyanobacteria contour and accompanied with edge detection simultaneously. Then, image
segmentation was used to cluster pixels into significant image regions. Particularly, it is
used to identify the location of feasible objects and their boundaries. Most microorganism
images contain many other objects inside the images. Therefore, image segmentation was
used to consolidate the objects included inside the images for sub images to process
separately. The segmentation process is applied to the images using threshold techniques
based on Laplace of the Gaussian (LOG) operator. Threshold is used to convert gray image
34
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
to a binary image, and LOG operator is used to be as mask to the binary image which gives
three different values to the pixel value for output image, where object pixels have a value
1, background pixels have a value 2, and image border pixels have a value of 0. Feature
extraction techniques used was independent features such as color, texture, and shape for
extraction of object features. A principal component analysis (PCA) method was used for
extracted feature. Achieve accurate results was 95% for identifying algae. The pre-
Extracting texture feature for algae is given more accurate information about their type
Figure 2.11 Steps of automatic algae recognition system (Mansoor et al., 2011)
35
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
In the study entitled Automatic Identification of Diatoms with Circular Shape using
Texture Analysis, image processing and pattern recognition were performed using
dependent on the classification of texture feature. However, in practice, for accurate texture
identification, the first thing needed is exact texture image, which is an accurate
segmentation result. Edge detection is by far the most common approach for detecting
meaningful discontinuities in intensity values, which is called the edge of image. Therefore,
in the work, Canny edge detector was used which is the most powerful edge detector
provided to segment image. Canny edge detector is an approach to find places where the
Fourier spectrum was used to describe texture feature of diatom. Fourier spectrum is ideally
patterns in a round image. Image characteristics are quite easy to detect with spatial
methods, the size of texture primitive and spatial organization detection as well. Achieve
accurate results was 94.44% from twelve species of circular diatom (Lou et al., 2011).
36
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Table 2.11 Summary of above existing system using image processing
Santhi et al 2013 Automatic identification Canny and Sobel Fourier descriptor method 98%
of algae from microscopic edge detection and moment invariant
Images method
Most research applied an image processing to detect, count, identify, and classify
the algae groups. Some researchers used thresholding techniques for segmentation and
others used Canny and Sobel edge detection. The study of Santhi et al. verified, that the
object result from the Sobel method was better than the Canny method. Those existing
software that can identify and recognize all different types of algae.
including intelligent control, information processing and pattern recognition. The neural
network was selected as quality feature path classifier because it adaptively develops the
37
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Lot of advantages of using ANN such as storing the information on the entire
network, the data may produce output even with incomplete information, misconduct of
cells of ANN does not prevent it from generating output, having a distributed memory, the
network problem does not immediately destroy immediately, learn events and make
decisions by commenting on similar events and have numerical strength that can perform
more than one job at the same time. In short, ANN is capable to absorb difficult nonlinear
relationship with limited previous acquired information of the object (Lou et al., 2011).
with only one neuron. It contains a single layer of output nodes and the inputs are fed
networks, shown in Figure 2.12, are widely known neutral network that are trained with a
problems. More neurons are input and ordered into layers which the first layer is named
the input layer, the last layer is named the output layer and between the input and output
38
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Figure 2.12 Multi-layer feed-forward (Sharma et al.,2013)
Microscopic Images, the researcher studied the subsequent introduction to the automatic
very difficult due to various factors such as change in size and shape with climatic changes,
various growth periods, and the presence of other microbes. Artificial neural networks and
some machine learning algorithms were used to classify and identifying the algae. This
study used a back propagation neural network to classify the images that achieved 100%
of classification accuracy on the trained images and 80% classification accuracy on tested
images but the results of the study showed only 86.5% of the identification rate was
39
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
In the study entitled Automatic Recognition System for Some Cyanobacteria using
Image Processing Techniques and ANN approach multilayer perceptron feed forward
ANN was used to perform identification process for selected cyanobacteria genera. The
ANN architecture consists of 6 inputs, 3 outputs, 3 neurons in hidden layer, 0.78 for
learning rate, and 0.5 for momentum. The database included four genera of cyanobacteria,
80 variation images for each type. The classifier is used to index the database content
during training mode for categorizing purposes. The target output of ANN is (0,0,1) for
Microcystis, (0,1,0) for Oscillatoria, (1,0,1) for Chroococcus and (1,1,1) for Anabaena.
More importantly, the characteristic response is close to 1 within each cyanobacteria type,
and is essentially zero outside. As the study result using image processing techniques with
combination of ANN can achieve accurate results over 95% for identifying and classifying
cyanobacteria and algae without any user interaction. Extracting texture feature for algae
and spices is given more accurate information about their type, and it is very suitable for
Using Artificial Neural Network proposes the use of these species of algae as the input data
for neural network to classify the quality of river water automatically and will identify the
quality of river water into four categories, namely clean, polluted, brackish and moderate.
40
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Based on twenty-one types of algae the system will be trained to classify the river’s
water and the study employs three different learning algorithms, namely the Bayesian
Regularization, the Levenberg-Marquadt and back propagation techniques. Here under, the
study by Mat Isa et., al (2006), showed the performance of those three training algorithms
and compared.
Backpropagation algorithm
descent procedure that computes the derivatives’ values in an efficient way, and modifies
the weights according to a parameter known as the learning rate. Back propagation is the
steepest decent type algorithm where the weight connection between the j-th neuron of the
hidden layer and the i-th neuron of the input layer are respectively updated according to
Equations 5, 6, 7 and 8.
The increment wji (t) and ∆bj (t) where the subscripts w and b represent the weight
and threshold respectively, 𝛼 w and 𝛼 b are momentum constants which determine the
influence of the past parameter changes on the current direction of movement in the
parameter space, ղw and ղb represent the learning rates and ρj(t) is the error signal of the j-
41
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Since the activation function of the output neuron is linear, the error signal at the
output node is P(t) as shown in Equation 9 where yk(t) is the expected output.
For the neurons in the hidden layer F’ [xi (t)] is the first derivative of F[xi(t)] with
respect to xi (t). Since back propagation algorithm is the steepest decent type algorithm, the
algorithm suffers from a slow convergence rate. The search for the global minima may
become trapped at local minima and the algorithm can be sensitive to the user selectable
Levenberg-Marquardt algorithm
optimization algorithm. Once employed to train the multilayered perceptron model, the
that it can provide a faster, second-order convergence rate and keep relative stability.
to approach second order training speed without having to compute the Hessian matrix.
When the performance function has the form of a sum of squares as is typical in training
feed forward networks, then the Hessian matrix can be approximated as H, as shown in
Equation 11 and gradient can be computed as g, as shown in Equation 12, wherein J is the
Jacobian matrix that contains first derivatives of the network errors with respect to the
H= Jt J (11)
42
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
g= Jtρ (12)
technique that is much less complex than computing the Hessian matrix. The Levenberg-
Marquardt algorithm uses this approximation to the Hessian matrix in the following
control parameter. When the scalar µ is zero, this is just Newton's method, using the
approximate Hessian matrix. When µ is large, this becomes gradient descent with a small
step size. Newton's method is faster and more accurate near an error minimum, so the aim
is to shift towards Newton's method as quickly as possible. Thus, µ is decreased after each
successful step that is the reduction in performance function and is increased only when a
tentative step increases the performance function. In this way, the performance function
Given the Bayes’ Rule as (Mat Isa et al., 2006), where p (Ө) is the prior probability
of a parameter θ before having seen the data and p(Ө|D) called the likelihood were the
probability of the data D. Bayes’ Rule was used to determine the posterior probability of θ
given the data D. In general, this will provide an entire distribution over possible values of
θ. This process was applied to neural networks and came up with the probability
distribution over the network weights, w, given the training data p(w|D).
𝑃(𝐷|Ө)
p(Ө|D) = (14)
𝑝(𝐷)
43
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Gao et al, proposed a neural networks classification. Here, neural networks are
designed with 15, 30, 40, 60, or 80 nodes in a single hidden layer and six nodes for each
class in the output layer to test the performance. Mansoor et al., presented multilayer
cyanobacteria. ANN architecture consists of six outputs, three outputs, and three neurons
in a hidden layer—0.78 for learning rate, and 0.5 for momentum. The classifier is used to
index the database content during the training mode for categorizing purposes. Achieve
accurate results over 95% for identifying and classifying cyanobacteria and algae without
any user interaction. Santhi et al, was achieved 95% accuracy in the identification and
classification of four genera of cyanobacteria using back propagation and shape boundary
features. Then, 97% of the classification accuracy was achieved by object size, shape, and
texture based on feature extraction techniques. And Mat Isa et al., used multilayered
perceptron network classify the river’s water quality based on algae comparison which
44
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
The results of the existing system shown in Table 2.12 prove that artificial neural
network is suitable and capable to classify the water quality based on algae comparison.
ANN quickly classify numerous complex problem which otherwise may have been
impossible to explain to human. In this study, the feedforward artificial neural network
Statistical Treatment
The two major statistical methods that can be utilized in data analysis are
descriptive and inferential statistics. Descriptive statistics like mean, median and mode
which measure central tendency, and variance and standard deviation which measure
dispersion are used to describe the main features of data in quantitative terms. While
inferential statistic is used to support statements about the population the data samples
represent in observed behavior during a finite period of time. Data can be categorized into
different levels such as nominal, interval and ratio. It can be experimental or controlled,
There are three statistical treatment namely R squared, RMSE, and MAE. These
45
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
R squared or coefficient of multiple determination is a multiple indicator of our
data that applied the model of regression. It compares the accuracy of the model to the
accuracy of a trivial benchmark model wherein the prediction is just the mean of all of the
samples. A perfect fit would result in an R squared value of 1, a very good fit near 1, and
a very poor fit less than 0. If your neural model predictions are worse than you could
predict by just using the mean of your sample case outputs, the R squared value will be less
than 0.
The equation is essentially 1 minus the division of the squared error of the regression line
and the squared error of the mean y line. The mean y line is quite literally the mean of all
of the y values from the dataset. If you were to graph it, then it would be a flat, horizontal,
line. Thus, we do the squared error of the average y, and of the regression line. The
objective here is to discern how much of the error is actually just simply a result in variation
in the data features, as opposed to being a result of the regression line being a poor fit.
predicted values from the corresponding observed values and can present information on
long term performance of the models. The lower results the better is the long-term model
predictions.
46
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
RMSE or Root Mean Square Error is the indication of the standard deviation of the
predicted errors. RMSE presents information on the short term efficiency which is a
benchmark of the difference of predicated values about the observed values. The lower the
1
𝑅𝑀𝑆𝐸 = √ 𝑛 ∑𝑛𝑖=1(𝑦𝑖 − 𝑦̂𝑖 )2 (17)
Summary
The DOE had implemented an Executive Order (EO) No. 30 for energy projects to
strengthen the involvement of energy and one of their agenda is to promote and implement
capable future source of bioenergy but then major challenges in algal biofuel are related to
availability, and pH level to achieve high oil content while maintaining high growth of
level, dissolved oxygen and turbidity, read and monitored by sensors that has the capability
to submerged underwater respectively. Based on the study of Mata et al. in the comparison
of microalgae species most used for biodiesel production, Chlorella vulgaris seems to be a
good option for biodiesel production. Thus, the spirulina platensis was considered in this
study.
47
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Due to parameter monitoring, it is composed of multiple sensors for each test
chamber. Constructing network wirelessly makes sensor behave precisely and delivers
real-time based. Vijayakumar and Ramya (2015) designed and developed a low cost, real
time water quality monitoring system using Internet of Things (IoT) technologies. The
node was powered with a Raspberry Pi Model B+ microprocessor, with several water
quality sensors connected to it. From experimental results, the proposed system was able
to present water quality parameters on the Internet. Thus, it motivates the researchers to
used Raspberry Pi Model B+ microprocessor as the main core controller that access the
sensor values and process them to transfer the data here in this study.
Most research applied an image processing to detect, count, identify, and classify
the algae groups. Some researchers used thresholding techniques for segmentation and
others used Canny and Sobel edge detection. The study of Santhi et al. verified, that the
object result from the Sobel method was better than the Canny method. Those existing
software that can identify and recognize all different types of algae. Many fields applied
ANN as it is quickly classifying numerous complex problem which otherwise may have
been impossible to explain to human. Santhi et al, 2013 was achieved 95% accuracy in the
and shape boundary features and 97% of the classification accuracy was achieved by object
size, shape, and texture based on feature extraction techniques, thus this prove that artificial
neural network is suitable and capable to classify the water quality based on algae.
48
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
In this study, the feedforward artificial neural network with backpropagation
culturing microalgae.
Furthermore, as of this writing, there are few studies and articles about the
cultivation of microalgae in the Philippine setting based on its specific growth rate
capable for future energy source because of its high oil yield and fast growth rate. Thus,
this present study is a major attempt to fill the necessity in cultivating algae.
49
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
CHAPTER 3
METHODOLOGY
This chapter covers the general method to be used, the methodology, and the steps
This study focuses on the characterization of the optimal growth rate parameter of
microalgae using artificial neural network. Experimental design related to algal community
monitoring and cultivating is the principal methodology of the study. This chapter of the
research covers the scientific procedures and methods to comply on each. Calibration
phase, research settings, acquisition of data, prototype components, hardware and software
Figure 3.1 shows the research conceptual framework which states the individual
50
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
The inputs of the study are gathered through motes consisting four digital sensors,
camera, and image processing output. Gathering of data is made possible by scheduling for
an hour interval. Vectors red, green, blue, hue, saturation, value, cyan, yellow, magenta,
luma, red-difference, blue-difference, lightness, green or red, and blue or yellow (RGB.
HSV, CYM, YCrCb, L*a*b*) are obtained through image processing of the image captured
of the microalgae. Data to be transmitted to the laptop will stored to a single Raspberry Pi
that serves as the medium to accept collection of data to use for image processing and
Artificial neural network is not embedded with the Raspberry Pi. Image processing and
51
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Figure 3.2 shows the constructed architecture of the study intended for the
accomplishment of objectives. The study is divided into six phases from which each
Phase 1 covers the hardware development of motes for the growth rate parameter
characterization. It includes the hardware architecture of the system and schematic diagram
of pin interfacing of different sensors, and core processing using the Arduino Mega module
and Raspberry Pi board which addresses the first specific objective to integrate light, pH
level, temperature and turbidity sensor into a single mote that is capable for wireless
communication. Scientific and quantitative data are essential in terms of biomass. This
study involves sensor calibration to produce accurate and precise values. Luminosity and
turbidity sensors undergo its one-point calibration, whereas, two-point calibration for
temperature, and three-point calibration for pH level sensor. Phase 2 address the second
objective which is to develop a data-centric wireless sensor network using wireless fidelity
medium. It includes the software architecture and embedded data-centric algorithm in the
transmission of the data to the medium. Phase 3 of the study address the third objective
which to customize algae test chambers with differing growth rate parameter
configurations. This covers the design and construction of three test chambers, set-up of
test chambers through different combination of controlled light intensity and temperature
values, and installation of the sensor nodes to the test chamber. Phase 4 address the fourth
objective which to implement image processing techniques for image enhancement and
segmentation. This phase covers the physical formation of microalgae through capturing
an image using camera. Image enhancement and segmentation are applied to have precise
52
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
output to describe the growth rate of microalgae. Vector data of color spaces by image
captured using camera is accomplishing through the software feature of Matlab image
processing and region props for its area. Phase 5 covers the collection of raw data from
sensors, image processing in Matlab, and the application of artificial neural network with
the raw data. This address the objective to employ radial basis, exact radial basis and
generalized regression artificial neural network in detecting what is the finest growth rate
This phase covers the calibration of each sensor, designing of the hardware
architecture and prototype, and development of sensor motes for growth rate parameter
sensors into a single mote composed of source, sensing, processing cores. The AutoCAD
best possible accuracy. In this study the light, salinity, temperature, turbidity, pH level and
53
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
pH sensor calibration
pH level stands for measurable power of hydrogen which one component of water
through its chemical representation of H2O. Every pH calibration solution has an equivalent
value of pH in a certain temperature. In Table 3.1 shows the pH value with its
corresponding temperature.
Figure 3.3 shows the pH 7 calibration process. First, place the pH sensor probe in
the yellow pH 7 calibration solutions. Then, wait for one to two minutes.
Figure 3.4 shows the pH 4 calibration process. First, rinse off pH sensor probe and
dry with paper towel. Second, place pH sensor probe in red pH 4 calibration solution. Then,
54
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Figure 3.5 shows the pH 10 calibration process. First, rinse off pH sensor and dry
with paper towel. Second, place pH sensor probe in blue pH 10 calibration solution. Then,
In the Figure 3.6, it shows the actual different point-test of the pH sensor to different
pH level solution and displays reading accordingly with the solution based on room
Figure 3.6 Actual three-point calibration of pH sensor from (a) neutral solution level, (b)
acid solution level and (c) base solution level
55
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
calibrate in three level of pH namely: acidic level (pH 4), neutral level (pH 7) and base
In Table 3.2, it shows that the three sensors have the same value of temperature for
each level which is 25 °C. As shown in above Table 3.1, the value of pH level is quantified
56
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Temperature sensor calibration
connect the sensor pins to the GPIO of Raspberry Pi that shown in Figure 3.7. Then,
configuring the Raspberry Pi 3 for DS18B20 to have it on its default settings as per
reboot command. Get the readings from the sensor with the code through two setup of
container, cold and warm. Take two measurements with the sensor: one near the low
end of the measurement range and one near the high end of the measurement
range. Record these readings as "RawLow" from cold and "RawHigh" from warm.
Then, repeat these measurements with the reference instrument. Record these
Raspberry Pi
57
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
The two-point temperature calibration diagram for boiling distilled water and ice bath
environment are shown in Figure 3.8 which utilizes laboratory standard digital
thermometer with minimum scale of -50 °C to 300 °C, respectively, two DS18B20
Figure 3.8 Two-point temperature calibration diagram for boiling distilled water
and ice bath environments
(a) (b)
Figure 3.9 Actual two-point temperature sensor calibrations (a) boiling and (b) ice bath
setup
The two-point calibration technique of temperature sensor has two stages which are
the initial collection of temperature readings and the calibration using the Equation 3.1.
58
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Two controlled environments were employed for each stage in this calibration which are
For the initial collection of temperature readings, the aim is to record the highest
and lowest possible measured temperature both using digital thermometer and temperature
sensor. The highest and lowest sensor readings were used to get the Raw Range value.
First, laboratory thermometer and temperature sensors were submerged into the boiling
distilled water with no contact to the metal container. The Raspberry Pi 3 Model B Plus
was configured and triggered to record data at 1 Hz data rate for 1 second. This corresponds
to 1 sampled data. Then, the instruments were removed from the boiling water and cooled
down to room temperature. Ice bath environment was prepared and the instruments were
submerged into it. The Raspberry Pi 3 Model B Plus collected the same amount of data for
1 second. The output file contains one column corresponding to the measured raw sensor
data. Then, the instruments were removed. The Raw High value was taken from the highest
sensor reading in boiling water environment. The Raw Low value was taking from the
lowest sensor reading in ice bath environment. Raw High and Raw Low values were
subtracted to get the Raw Range that will be used in the next stage of calibration. Raspberry
Pi 3 Model B Plus was accessed using Putty. The output file for each test consists of two
columns which correspond to the measured raw and calibrated sensor data.
For the last stage of calibration using the equation 3.1 that was translated into codes
temperature sensor were submerged into the boiling distilled water with no contact to the
metal container. Again, the Raspberry Pi 3 Model B Plus was configured and triggered to
59
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
record data 1 Hz data rate for 1 second. Then, the instruments were cooled down to room
temperature. After a couple of minutes, the instruments were then submerged into the ice
bath environment and the Raspberry Pi was triggered to record data with same
The results of the temperature sensor calibration are showed in Table 3.3. There are
three temperature sensors utilized and for each sensor, two test cases were conducted. The
Raw Calibrated
Envi. Sensor Tthermometer Tsensor %Eraw Tthermometer Tsensor %Ecalib
(°C) (°C) (%) (°C) (°C) (%)
Boiling 1 99.9828 99.9128 0.0700 100.2000 100.2266 0.0265
water
2 100.0778 100.0240 0.0538 100.2000 100.2243 0.0242
3 100.1930 99.9726 0.2200 99.9873 99.9907 0.0033
Ice bath 1 0.2317 0.1324 42.8368 0.1607 0.2022 25.8357
2 0.2417 0.0623 74.2045 0.1020 0.0975 4.3922
3 -0.3000 -0.0624 79.1933 -0.3000 -0.3918 30.5997
The thermometer and sensor reading are varying due to device offsets, same also
when it was calibrated. The percent error for the initial collection of temperature readings
is higher than the last stage of calibration using the Equation 3.1 that was translated into
codes and embedded in Raspberry Pi 3 Model B Plus. Thus, the temperature sensors are
60
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Sensor Reading
101.1 Thermometer Reading
100.9
Temperature (°C)
100.7
100.5
100.3
100.1
99.9
99.7
101
111
121
131
141
151
161
171
181
191
201
211
221
231
241
251
261
271
281
291
1
11
21
31
41
51
61
71
81
91
Time interval (seconds)
The maximum values measured by the thermometer and temperature sensor are
100.1 °C and 99.937 °C, respectively. The percentage error of thermometer and
Sensor Reading
0.36
Thermometer Reading
0.32
0.28
Temperature (°C)
0.24
0.2
0.16
0.12
0.08
0.04
0
181
221
101
111
121
131
141
151
161
171
191
201
211
231
241
251
261
271
281
291
1
11
21
31
41
51
61
71
81
91
The minimum values measured by the thermometer and temperature sensor are both
0 °C. The percentage error of thermometer and temperature sensor readings is 66.11808
%.
61
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
120 120
y = -0.0089x2 + 1.8916x - 0.0186 y = -0.0065x2 + 1.6456x + 0.1392
80 80
60 60
40 40
Series1
Measured 20 Model response
20
response
0 0
0 20 40 60 80 100 120 0 50 100 150
Thermometer Reading (°C) Thermometer Reading (°C)
(a) (b)
120
y = -0.0126x2 + 2.26x - 0.1589
100
TempSensor Reading (°C)
80
60
40
20
Series1
0 Model response
-20
-20 0 20 40 60 80 100 120
Thermometer Reading
(c)
Figures 3.12 Temperature sensor response curve for (a) Tsensor1, (b) Tsensor2 and (c)
Tsensor3
Table 3.4 Temperature sensor response fitted polynomial
Temperature Sensor Fitted Polynomial RMSE
1 y = -0.0089x2 + 1.8916x - 0.0186 0.048395
2 y = -0.0065x2 + 1.6456x + 0.1392 0.036532
3 y = -0.0126x2 + 2.26x - 0.1589 0.092564
62
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Figures 3.12 and Table 3.4 depict the measured response curves and the fitted
model for the temperature sensors calibration. In Table 3.4, root-mean-square error was
used as performance metric for temperature sensor. As exhibits by value, Tsensor2 shows
For luminosity sensor calibration, connect first the circuit of the TSL2561 to
Raspberry Pi 3 with I2C UART mode. Sensor pin VIN to 3V3 pin, sensor pin GND to GND
pin, sensor pin SCL to GPIO 3 and sensor pin SDA to GPIO 2. Install the equivalent Circuit
Python of TSL2561 Library. Set the code for configuring and reading light intensity in unit
of Lux. Run the code. Connection of involve components are shown in Figure 3.13. Use
comparison method for calibration of the sensor through the standard lux value Table 3.5.
intended for classroom is at 300 to 500 lux. Luminosity sensor is responsible to measure
intensity level of light that light source emitting toward the microalgae in the test chamber.
The sensor’s orientation is at the middle of the test chamber which 0.0762 m above the
water surface. Sensor output can be at the unit of lux or µmol m-2s-1.
63
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Raspberry Pi 3 Model B
Light Sensor
64
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Table 3.5 shows the lighting equivalent of every open and close system such as
offices, rooms, lounge, and etc. Rooms that are intended for working, reading, and teaching
are having a maximum lux value of 500 lux. For the laboratories, it added 250 lux to the
standard in rooms. For industrial uses, it has greater value of lux that is reasonable for the
structure.
The results of the 3 light sensors calibration are showed in Table 3.6. The three
light bulbs which have a corresponding value of 3W, 5W, and 7W are used as the main
source of measuring each of its light intensity with a distance of 1 meter in both light sensor
and lux meter. The lux meter served as the reference value.
65
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Table 3.6 Light sensor calibration mean data
Sensor Isensor Iluxmeter %E Sensorcalib %Ecalib
(Lux) (Lux) (%) (%)
0 0 0 0 0
78 25 212 23.53503307 5.86%
6 2 200 1.947809663 2.61%
1
92 28 228.5714 27.75293858 0.88%
86 26 230.7692 25.94445191 0.21%
1021 401 154.6135 322.4770299 19.58%
0 0 0 0 0
78 25 212 23.53503 5.86%
6 2 200 1.94781 2.61%
2
92 28 228.5714 27.75294 0.88%
86 26 230.7692 25.94445 0.21%
1021 401 154.6135 322.477 19.58%
0 0 0 0 0
85 26 226.9231 26.3008 1.16%
90 28 221.4286 27.8863 0.41%
3
79 25 216 24.4048 2.38%
6 2 200 1.9135 4.32%
975 404 141.3366 387.2848 4.14%
The lux meter and sensor reading are varying, same also when it were calibrated.
The percent error for the initial collection of light sensor readings is too high as compared
to the percent error of the last stage of calibration that were translated into codes and
embedded in Raspberry Pi 3 Model B Plus. Thus, the light sensors are calibrated because
500 500
y= 9E-05x2 + 0.2984x + 0.1568 y = 9E-05x2 + 0.2984x + 0.1568
400 400
300 300
200 200
Measured Measured
100 Response 100 Response
Lux Meter
Lux Meter
0 0
0 500 1000 1500 0 500 1000 1500
Light Sensor Light Sensor
(a) (b)
66
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
500
y = 0.0001x2 + 0.2996x + 0.1123
400
300
200 Measured
Response
Lux Meter
100
0
0 200 400Light600
Sensor800 1000 1200
(c)
Figure 3.15 Response Curves of (a) Isensor1, (b) Isensor2 and (c) Isensor3
Figures 3.15 depict the measured response curves for each light sensor calibration.
Each model response coincides the measured response coming from the sensor which
(NTU) standard. First, rinse sonde/probe with deionized water, followed by a portion of
the sonde/probe repeatedly to remove bubbles from the optical surface. Then, monitor
turbidity readings for one to two minutes or longer to ensure that readings are stable based
67
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Confirm the zero NTU calibration point using manufacturer’s instructions. Remove
sonde/probe and dry thoroughly to minimize dilution or contamination of the next standard.
One of the specific objectives of the study is to integrate light, temperature, pH level
and turbidity sensors into a single mote. In this step, researchers accumulate ideas in
constructing single mote hardware architecture with more than one sensor and reviewing
68
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Turbidity sensor calibration results and discussion
The results of the 3 turbidity sensors calibration are showed in Table 3.7. Turbidity
sensor SEN0198 gives a result in voltage unit and compare to the laboratory test result for
The calibration obtains the equivalent equation from analog signal in a form of
voltage coming from the turbidity to NTU value. Thus, the sensor is calibrated.
600 y = -488.82x2 + 1127.4x + 1603.8 600 y = -45.07x2 - 899.27x + 3459.4
400 400
200 200
0 0
3.05 3.1 3.15 3.2 3.25 3.3 3.35 2.9 3 3.1 3.2 3.3 3.4
(a) (b)
600 y = 12.217x2 - 520.41x + 1585.3
400
200
0
0 1 2 3 4
(c)
Figure 3.18 Turbidity response curve of (a) Turbsensor1, (b) Turbsensor2 and (c) Turbsensor3
69
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Figure 3.18 depict the measured response curves for each turbidity sensor
calibration.
Figure 3.14 shows the integration of sensors into a single mote. The light, turbidity,
pH level and temperature sensors are embedded to Arduino Mega. Arduino Mega and
Raspberry Pi are the processing core in mote. The Arduino Mega read the data in each
sensor and transmit it to Raspberry Pi and send it to another Raspberry Pi which responsible
to collect all data coming from three chambers. Data gathered can transfer either wireless
70
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
The regulator is use to comply the compatibility requirement of power which is 5
Volts (V) for Raspberry Pi since the power source is 12 V output. The relay is use in power
supply and controls components such as Peltier, aerator and light intensity via MOSFET.
The Arduino Mega contains the instruction code for the relay to control parameters such
Figure 3.20 presents the different parts of the mote according to its performance.
Source core is the one responsible for the main power for the entire system. The processing
core is the main brain of the system to drive out performance into the sensors which is the
sensing core of the system. In the processing core it has two components that have specific
performance. Arduino, as processing core, perform reading of data coming from the
sensors. Raspberry Pi, as processing core, performs the construction of table for the data to
be transmitted wirelessly to the sink node which is another Raspberry Pi. Sensing core is
one responsible for gathering the raw data from the subject to be processed.
71
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Step 3. Design and construction of project prototype
This step discusses the schematic diagram, positioning of components into single
circuit board and case. Figure 3.21 shows the different component to one circuit board and
its position designed for the prototype. There are two main microcontrollers used as data
acquiring for Arduino MEGA and transmitting data in .csv format for Raspberry Pi 3
Model B+. components relay is used for automatic control of the temperature via
controlling on/off a Peltier, MOSFET is used to control the light intensity through the
concept of pulse width modulation (PWM). One circuit above the Raspberry Pi for voltage
regulator from 12V power source to 5V output for Raspberry Pi power requirement.
72
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Figure 3.22 shows the physical component equivalent system based on objectives
of the study for Arduino MEGA as the processing core to read data from the four different
sensors namely, light intensity, pH level, turbidity and temperature while Raspberry Pi 3
B+ serve as the processing core to transmit the data coming from Arduino MEGA to the
master Raspberry Pi in file format of .csv. This circuit board will be placed on the casing.
(a) (b)
Figure 3.22 (a) Interior Design of Mote and (b) Mote casing
This phase covers the wireless communication of the system in which sensor nodes
are in star topology architecture to the sink node with direct communication to the base
station or a laptop. Sink node is a Wi-Fi capable Raspberry Pi which responsible of storing
the data obtained from each sensor. Communication of the system regarding the data
communication of sensor nodes to the laptop. In the study, sink node has direct
communication to the laptop and also serve as a storage of accumulated data for
73
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
transmission to the laptop. Sink node is use as a counter-measure for the laptop to leave
open 24-hours.
The development of wireless sensor network is based on a single sink network. This
architecture shows the connection between the sensor node to the base station using a
microcontroller Raspberry Pi3 Model B as the sink node to store and transmit the gathered
data from the sensor node shown in Figure 3.23. Time scheduled is to follow in gathering
data with capturing of image of microalgae. Raspberry Pi 3 B Plus was used for the purpose
of the functionality of wireless fidelity since raspberry pi has the feature in the module.
The study covers a data-centric algorithm for the data to be gathered through Transmission
Control Protocol or TCP and images gathered through File Transfer Protocol or FTP.
74
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
In the sink node, data gathered will be in comma separated variable (.csv) file
format. CSV allows the data to be constructed in a table format. The data will be exported
from each sensor node by one-hour interval. Data will be categorized through filename
which is constructed according by its chamber number that acquisition has made. In the
first column, it will obtain the date and time recorded of acquisition data from the sensor
node. Second and fifth column represents the controlled variable of the study, water
temperature and light intensity respectively. Lastly, third and fourth are independent
Wireless sensor network covers large number of sensor nodes with random
positioning. This challenge the integrity of the data from the source coming through on set
of sensor nodes to the sink node which the term used is routing (Zia, 2015). This covers
the routing technique used to relay the data with high integrity.
is a direct communication from a sensor node to sink node. Sensor node in this set of rules
communication for data acquisition. Sensor node will begin to acquire data from the
sensors using Arduino MEGA then followed by transmitting the data to Raspberry Pi
through the Tx and Rx pin of the Arduino. Once Raspberry Pi received the data from the
75
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Once completed, it is good for sending the full data report to the sink node. As per
the process, Transmission Control Protocol or TCP is to be used. This protocol has a model
structure with four (4) layers namely physical layer, network layer, transport layer and
application layer. The physical layer describes as the hardware standards such as IEEE
802.3, the specification for Ethernet network media, and RS-232 for the specification for
standard pin connectors. Network layer is responsible for establishing communication over
the network such as routers. The transport layer is responsible for applying protocol such
For image captured every hourly interval for each chamber, it is obtained through
a webcam connected to Raspberry Pi. As per process, File Transfer Protocol or FTP is to
be used for images. FTP is a client-server protocol that established between two
communication channels. Feasible application in this study of FTP was transfer image
This phase covers the development plan of the test chamber, parameter
configuration planning for each test chamber and installation of mote to test chamber.
has a controlled parameter namely the light intensity and water temperature. Construction
of test chamber follows the dimension proportionality based on the volume of water.
Installation of mote is directly above the test chamber with orientation parallel to its
76
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
variable in the study. These two parameters are the concerned measures in relation to the
growth rate of the different microalgae like chlorella vulgaris as the strain in class
Chlorophyceae.
Each test chamber will be configured to different level of light intensities and
temperatures as stated on the objectives. Test chambers were formatted according to the
following cases shown in Table 3.9: (1) light intensity of 1000 lux, (2) light intensity of
2000 lux and (3) light intensity of 3000 lux. Each chamber is subjected to variation of
temperature for every one week. The variations of water temperature are at 22 ᵒC, 27 ᵒC
Table 3.9 Summary of light intensity and temperature parameter test chamber plan
Test chamber Light Water temperature Water temperature Water
Intensity condition 1 condition 2 temperature
(lux) (ᵒC) (ᵒC) condition 3
(ᵒC)
1 1000 22 27 32
2 2000 27 32 22
3 3000 32 22 27
77
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Figure 3.24 shows the dimensions of the test chamber to construct with a material
of plastic. Metric system is the unit system being followed. This dimension could handle
78
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Test chambers will be setup with a content of distilled water. Along the setup inside
the test chamber are light emitting diodes placed at the box cover, peltier to control
temperature reading coming from the sensor, pH sensor, light sensor, aerator and turbidity.
The attached structures outside the test chamber are the power supply and the mote.
The preparation of the exact chemical composition of the Blue Green medium
number 11 (BG – 11) growth media used in the study is found below Table 3.10 to Table
3.14. The number of test chamber used is three set with capacity of 30 liters of distilled
79
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
H3BO3 (Boric Acid) 0.572 g
A
MnCl2·4H2O (Manganese Chloride Tetra hydrate) 0.362 g
B ZnSO4·7H2O (Zine Sulfate Hepta hydrate) 0.0444 g
C Na2MoO4·2H2O (Sodium Moly date Dihydrate) 0.078 g
CuSO4·5H2O (Copper Sulfate Petahydrate) 0.0158 g
D
Co(NO3)2·6H2O (Cobalt II Nitrate Hexahydrate) 0.0098 g
Stocks 1, 2, 3, and 4 were first prepared before making the growth medium. For each
of stocks 1, 2, and 3, 200 mL of deionized water mixed with the corresponding compounds
in separate 250 mL laboratory glass bottles. Meanwhile for stock 4, parts A, B, C, and D
were first individually prepared, this was done by mixing 50 mL of deionized water with
the corresponding components in separate 50 mL conical test tubes. This additional step
was also part of the protocol to avoid possible instability among the components when
temperature increases. After preparing the solutions, it sterilized via an autoclave. After
they have cooled down, the individual parts of stock 4 were combined in another 250 mL
laboratory glass bottle, this was done inside the laminar flow station for sterile operation.
Then, the stocks were stored in the refrigerator to maintain their quality. These stocks used
Figure 3.26 (a) BG-11 media, (b) stocks 1 - 4 solution and (c) part A-D solution for stock
4
80
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Step 8. Installation of motes to test chambers
Installation of sensor motes is the last step to complete the test chambers. Sensor
motes are place at the center of the test chamber through the docking PVC case. To the
completion of test chambers, connection of LED strip, cooler and heater in a form of Peltier
to sensor motes was placed to serve as controller to light intensity and temperature
Except from the sensor reading, parameters do affect the physical appearance of the
microalgae growth in which tasked to perform image processing. Image processing is used
to determine the growth rate of microalgae per day through the color vector coming from
the image capture. Digital camera is to be used to the accomplishment of the phase. In
Figure 3.28, summarizes the step on performing accurate image processing and vectorising
of feature extraction of vectors RGB, CYM, HSV, YCbCr, L*a*b* and biomass area.
81
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
The camera setup is above the chamber which captures an entire image of the
microalgae. The images captured which contain algae are given as input image for the
proposed system.
Once the image capturing is done, image will be undergoing for image
enhancement to obtain clearer image using Matlab. This step will improve the given image
in terms of low-contrast which eventually turning the image into grayscale image.
Superpixels is used to perform image segmentation of all the image captured of algae. It
After the image enhancement and segmentation, image in binary and color will be
processed into a set of parameters that qualitative interpret the features of the microalgae
that were formed in the aquarium. In feature extraction, parameters which interprets
through images are color RGB, HSV, CYM, YCrCb, L*a*b* and its area. In this condition,
82
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
the color and physical area will give a vectored value. Features such as color and area can
be determined goals like to obtain the set of parameters that establish best growth rate of
the microalgae.
This phase covers the collection of raw data from sensors and quantitative data from
image processing. Training data are tested through supervised ANN training. Raw data
from sensors and biomass area is deployed into ANN for growth rate parameter.
The goal of having good characterization of optimal growth rate through different
parameters and environment settings using artificial neural network must comply vast
numbers of data set to be processed. After complying the procedure for calibration of
sensors and the setup of closed-system test chamber the controlled and environment data
First, the closed-system test chamber was placed in a closed room where
temperature can be controlled within room temperature and light intensity with less
ambient light. Since the study needs priority and precaution measure off to any forms of
destruction toward the test chamber especially the height of it above ground or floor. Figure
3.29 shows the arrangement and the placement of each sensor nodes per test chamber. One
microcontroller where four sensors to be attached in the Arduino through wire namely pH
sensor, TSL2561 light sensor, DS18B20 temperature sensor, and SEN0189 turbidity
sensor. Webcam is solely attached to Raspberry Pi for the acquisition of image for image
83
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
processing. Raspberry Pi is all connected through a modem for the transmission of data.
The figure above represents also the placement of each sensor towards the test
chamber. As drawn, color coded is used to determine which sensor to place it. There are
five probe type sensor and one circuit board. The circuit board based is the TSL2561
luminosity sensor which intended to be hanging above the water level of each test chamber
and denotes as the white circle in the figure. The rest are submerged to the water and
denoted as follows; red for pH level sensor, gray for temperature sensor, blue for turbidity
sensor, yellow for dissolve oxygen and green for electrical conductivity due for salinity.
84
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
The three Raspberry Pi microcontroller are configured to record raw data from
sensor at 120 Hz data rate for five minutes for every test chamber one cluster of test case
to perform. As follows, test case is designed with temperature variations on three different
light intensity values with one water platform. These water temperature variations are set
at salt water environment accordingly: (1) test chambers 1, 2, and 3 with light intensity of
1000, 2000, and 3000 lux respectively is configured at 22, 27, and 32 degrees Celsius for
four days, (2) test chambers 1, 2, and 3 with light intensity of 1000, 2000, and 3000 lux
respectively is configured at 27, 32, and 22 degrees Celsius for another four days and (3)
test chambers 1, 2, and 3 with light intensity of 1000, 2000, and 3000 lux respectively is
configured at 32, 22, and 27 degrees Celsius for last four days of the timeframe. The setup
is to perform within one month and collect data for an hour-interval monitoring. The test
cases are done every week and change the configuration of the chamber follows which is
subjected for another week. The preparation to construct the artificial neural network will
be done after a month of collecting the raw data of each input. Raw data will be constructed
from the test chambers with a file format of .csv shown in Table 3.15. It shows the different
control and measure parameters in the study. Water temperature interprets in degrees
Celsius. Light intensity interprets the photosynthetic photon flux density in lux. Turbidity
is in reading of NTU.
85
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Step 13. Neural network training
Once the collection of training data set is complete, it will be trained to the
structured artificial neural network. In this step, supervised training is to be used for the
neural network training. Supervised training has both the inputs and desired outputs given
in the network. With those inputs, network processes the data and have an output against
to the desired outputs which drives an error. The error must be minimized as what desired
for an artificial neural network. Backpropagation algorithm is the way to minimize the error
through adjusting the initial weights for compatibility with the inputs to outputs.
The set of training data set will undergo three types of artificial neural network
which is best fit for predicting algae area based on temperature, pH level, turbidity and
light intensity parameters. Radial basis, exact radial basis and generalized regression are
Performance of the three neural networks are asses and distinguished through spread factor
ranges from 1 to 10. Spread is the main factor for the ANN performance whether result to
underlapping neurons which gives too low output that requires more neurons or result to
overlapping neurons which gives too high output that responds essentially the same with
86
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Step 14. Neural network testing for classification of optimum growth rate parameter
combination
After the training state of the artificial neural network, it is good to deploy for
testing. Each test chamber has twelve inputs coming from sensors and image processing
namely; water temperature, light intensity, turbidity, pH level and biomass area. When
sensor raw data is complete, remaining inputs are done by image processing. Matlab is
used for the accomplishment of image processing from the image obtain daily by the
ordinary camera. Matlab has the image processing features built in which codes and source
87
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
CHAPTER 4
INTERPRETATION OF RESULTS
This chapter includes the data and results, as well as the interpretations of all the
tests done to prove the functionality, accuracy and reliability of the prototype.
developing sensor motes, set-up of chambers plan and production of BG-11, installing of
motes to chamber, implementing image processing and training data that are tested through
Figure 4.1 shows the research plan of the entire system for growth rate parameter
characterization. Light sensor, turbidity, temperature, and pH level are placed inside the
chamber. Sensor motes are in the outside the test chamber through a support of PVC case.
The light source is attached at the cover box of chamber towards the microalgae. The
camera is placed above the chamber with the distance of 75cm. Each chamber is filled with
36 liters with an approximate height of 19.05 cm above the bottom layer of the test
chamber.
88
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Figure 4.2 are the actual camera set up and image captured of algae in chamber.
Image captured undergo for image enhancement obtaining clearer image using Matlab and
turned the image into grayscale image and performed image segmentation using
Superpixels.
(a) (b)
Figure 4.2 (a) Actual camera setup and (b) sample of image captured with algae sample
89
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Appendix E.III showed the input functions of superpixels that perform high quality
segmentation. The two functions rgb2lab and lab2rgb convert between an RGB space and
the CIE L*a*b* space. The function boundarymask, produces a binary image whose
foreground pixels delineate either the boundaries between adjacent labels, if you give it a
label matrix, or the boundaries between the foreground and background, if you give it a
binary image. The function imoverlay is useful for highlighting a subset of pixel locations
in an image.
image. The function label2idx is used to compute the indices of the pixels in each
superpixel cluster that will access the red, green, and blue component values using linear
indexing. Figure 4.3 showed the outcome performance of image segmentation through
superpixels.
(a) (b)
Figure 4.3 (a) Image clustering and (b) boundaries overlaid on the original image
90
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
After images run into image processing for the feature extraction using MatLab,
images are altered to display vectors in each color space. Color space is used in the study
as a parametric measure in terms of color. Every image captured by the webcam process
into image processing will produced equivalent vector value of different color space
used as reference of comparison which chamber and test condition suited for the growth of
microalgae in Philippines’ environment. 20% readings from the highest out of 864 used as
Figure 4.4 displays the number of readings in each chamber scoped by the 20%. It
simply depicts division of readings among the chambers. As per RGB color space, color
chamber 3 has a massive number of reading under the 20% boundary. Highest color green
Shown in Table 4.1 below is the statistical evaluation on the number of readings
and green index in RGB color space. Among the 20% margin out of the total reading,
lowest value of green index is under Chamber 1 at condition 3. Having minimum index, it
3000 lux. Maximum green index shows at the Chamber 2. Among the test condition,
Chamber 3 at condition 2 depicts number of readings under the 20% margin based on the
91
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Table 4.1 Chamber and Test Condition Relationship under 20% boundary of readings
based RGB color
70
60
50
40
30
20
10
0
1 2 3
Chamber
Figure 4.4 Number of reading per chamber according to 20% boundary of total reading
of RGB color space
Figure 4.5 shows the division of reading accordingly to chambers under the 20%
margin based on the HSV color space. In relation of green index, value is mainly related
to the green index and it is primary index to compare based on HSV color space. Based on
the figure, chamber 3 depicts massive number of readings obtained at the 20% margin of
92
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Table 4.2 shows that chamber 2 has maximum value index that supported the green
index based on the RGB color space. Lowest value index is under chamber 2. In terms of
value index compare to RGB color space, chamber 2 increased in the number of reading
under the 20% margin in the total reading while others decrease.
Table 4.2 Chamber and Test Condition Relationship under 20% boundary of readings
based HSV color space
Chamber Minimum Value Minimum Value Test Condition
Index Index 1 2 3 Total
1 0.6753 0.7582 5 17 17 39
2 0.6748 0.7605 14 25 56 95
3 0.6749 0.7401 7 15 17 39
70
60
50
40
30
20
10
0
1 2 3
Chamber
Figure 4.5 Number of reading per chamber according to 20% boundary of total reading
of HSV color space
93
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
In Figure 4.6, it exhibits tallied number of readings per chamber based on the CYM
color space. Indices in CYM color space related to green index is the combination of cyan
and yellow. Cyan index contains the summation of blue index value and green
index value while yellow index is a combination of orange index and green index which
this serve as reference to obtain value of green index. Highest index based on the CYM
color space is under chamber 2. Table 4.3 exhibits that chamber 3 has the lowest number
of reading covered by the 20% margin and chamber 2 depicts having the most number of
reading covered in the 20% margin of the 864 reading. Single reading under chamber 3 is
Table 4.3 Chamber and Test Condition Relationship under 20% boundary of readings
based CYM color space
Chamber Minimum Minimum Test Condition
Cyan+Yellow Index Cyan+Yellow Index 1 2 3 Total
1 500.0215 506.4462 15 23 24 62
2 499.8922 507.4276 23 28 59 110
3 500.0927 500.0927 0 1 0 1
100
80
60
40
20
0
1 2 3
Chamber
Figure 4.6 Number of reading per chamber according to 20% boundary of total reading
of CYM color space
94
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
In Table 4.4, 173 sample readings are divided according to test condition and test
chambers. Chamber 2 has the huge number of readings of 99 and at test condition 3 has
best parameters in the growth of microalgae based on YCbCr color space. Maximum index
obtained from the color space is 178.60 at chamber while the minimum value is 157.45 at
chamber 1. In Figure 4.7, result shows similar tallies as of RGB color space. This is because
of the color model conversion that having YCbCr values convert to RGB through Eq. 3.2
Table 4.4 Chamber and Test Condition Relationship under 20% boundary of readings
based YCbCr color space
Chamber Minimum Maximum Test Condition
YCbCr(green) Index YCbCr(green) Index 1 2 3 Total
1 157.4515 177.3832 4 15 17 36
2 157.4863 178.5979 15 26 58 99
3 157.956 174.4764 8 13 17 38
100
80
60
40
20
0
1 2 3
Chamber
Figure 4.7 Number of reading per chamber according to 20% boundary of total
reading of YCbCr color space
95
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Shown in Table 4.5 is the sample statistic from 173 sample reading based on
L*a*b* color space. As tallied, chamber 3 has the greatest number of readings while the
lowest comes from chamber 2. Based to its index, resulted to be a negative value. This
output was based on the color model for L*a*b* color space. Negative value of a* denotes
the color index of green as the study’s parametric measure. Most negative value results as
Chamber 2 has the maximum value at -17 while chamber 3 has the minimum value
at -3.9 among the 20% margin of 173 sample reading. As digital media alter to numbers,
chamber 3 has the greatest number of readings for all test condition but best condition
comes from chamber 2 at condition 2 the gives 44 set of parameters can be reference for
the growth of microalgae in the Philippines’ setting. Among the above color spaces,
L*a*b* has the minimum difference per chamber as shown in Figure 4.8 compare to the
Table 4.5 Chamber and Test Condition Relationship under 20% boundary of readings-
based L*a*b* color space
Test Condition
Chamber Minimum *-a Index Maximum *-a Index
1 2 3 Total
1 -3.9931 -12.7437 4 34 22 60
2 -4.3146 -17.3218 4 44 1 49
3 -3.9186 -11.8582 32 12 20 64
96
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
60
Number of Readings
50
40
30
20
10
0
1 2 3
Chamber
Figure 4.8 Number of reading per chamber according to 20% boundary of total reading
of L*a*b* color space
Shown in Table 4.6 below is the summary of results based on the 5 different color
space namely RGB, HSV, CYM, YCbCr and L*a*b*. Considering the 5 different color
space, reading obtained in total is 369 sample reading that gives optimization on the growth
of microalgae based on equivalent color space which approximately 43% of the 864
readings. RGB, HSV, CYM and YCbCr color space depicts chamber 2 and test condition
3 as optimal parameters with 2000 lux and 22℃ having the most number of reading. RGB
and YCbCr contains the same number per test condition from 173 sample readings. L*a*b*
color space exhibits chamber 2 with condition 2 has the massive reading out of the 173
sample reading.
97
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Table 4.6 Statistic of Overall Color Space
In Figure 4.9, tabs show tallies o the readings under each chamber based on the
physical feature extraction namely as the area of the microalgae. Chamber 1 exhibit having
the massive area based on the reading through “regionprops” using Matlab. Area was
obtained through image processing that literally gives you an area of pixel which is to be
converted to cm2. Area value in chamber 1 ranges between 28 cm2 to 48 cm2. Overall
reading with other chamber data obtained a maximum area approximately 53 cm2.
Biomass Area
80
Number of Readings
60
40
20
0
1 2 3
Chamber
.
98
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Shown in Table 4.7 below is statistical result of area obtained through
“regionprops” feature of Matlab. Test condition 1 has gain the largest area in cm2 at 53.28
and highest minimum area compare to other test condition. Based on test condition 1,
maximum area was obtained from chamber 3 at its day 4 while the minimum area was
obtained from chamber 1 at its day 1. As observed, test condition 1 maximum area exhibits
the growth progress of microalgae at maximum duration of day and expected for minimum
area obtained from the start of the cultivation. Test condition 2 obtained lowest area for
both maximum and minimum compared to other set of conditions. Mean area obtained for
each test condition is at range of 23 cm2 and shows small difference less than 0.25.
After for a month of data gathering, study obtained 864 data reading coming from
the nodes. Reading comes from an hourly interval. For the process of training the artificial
neural network with the training obtained from the nodes, 70% of 864 reading used as for
the training input in the artificial neural network. Training input consists of 605 rows and
5 columns. Columns are namely as follows: day, temperature, pH level, turbidity, lux and
area.
99
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
In the Table 4.8, it consists the training input reading for neural network training.
100
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
21.56 7.2 3.62 2009.97 20.42
21.62 7.52 3.61 1969.8 18.87
21.75 7.74 3.6 2981.49 17.98
21.81 7.85 3.6 2979.79 27.30
21.87 7.98 3.6 2976.39 19.63
Training data set as input has a corresponding one output data set which is the
biomass area obtained to respective set of parameters reading. Output will represent the
precise area to determine when set of parameters applied. These training data set runs
through different neural network type. Three neural networks were used for comparison
towards its regression and precision namely radial basis, exact radial basis and generalized
regression.
After the training state of the data set for neural network weights to produce
precision output, another set of data was used for the testing and verification of output.
Testing data set consist the remaining data reading gathered equivalent of 173 reading
(20%). Before running the artificial neural network, neural network should set the spread
In the Table 4.9, it exhibits the performance of the neural network with differing
spread value and neural network type. As established, radial basis and generalized
regression has a common set of spread value but exhibits different performance. Radial
basis neural network gives off inconsistent performance once the spread is increased while
in the generalized regression shows the consistency once the spread increased. For exact
radial basis, spread value was less than 1 to obtain positive result corresponding to the test
101
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
difference of 2% which is the lowest value obtained for all the three ANN regression.
Table 4.9 Artificial Neural Network Performance of (a) Radial Basis, (b) Exact Radial
Ave. Ave.
%
SPREAD Raw Exp.
DIFF.
Area Area
1 23.3758 20.1487 15%
2 23.3758 18.7203 22%
3 23.3758 18.3478 24%
4 23.3758 18.3762 24%
5 23.3758 18.2411 25%
6 23.3758 20.2226 14%
7 23.3758 20.8793 11%
8 23.3758 21.6167 8%
9 23.3758 21.7698 7%
10 23.3758 24.9586 7%
(a)
Ave. Ave.
SPREAD Raw Exp. %DIFF
Area Area
0.001 23.3758 19.4504 18%
0.002 23.3758 23.3291 0%
0.003 23.3758 27.9184 18%
0.004 23.3758 30.9985 28%
0.005 23.3758 31.0335 28%
0.006 23.3758 27.4528 16%
0.007 23.3758 24.4353 4%
0.008 23.3758 22.3657 4%
0.009 23.3758 22.3657 4%
0.01 23.3758 22.3657 4%
(b)
Ave. Ave.
SPREAD Raw Exp. % DIFF
Area Area
1 23.3758 24.0824 3%
2 23.3758 24.2798 4%
3 23.3758 24.3342 4%
4 23.3758 24.2316 4%
5 23.3758 24.0988 3%
6 23.3758 24.0019 3%
102
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
7 23.3758 23.9418 2%
8 23.3758 23.9059 2%
9 23.3758 23.8841 2%
10 23.3758 23.8701 2%
(c)
In Figure 4.10, it exhibits the acquired results for verification and testing of data set
in Radial Basis neural network. Graph shows inconsistency in percent difference and
readings show random output. Output deliberates large percent difference which gives also
increasing average percent difference. For this neural network, spread below or less than 1
gives off a negative value which is unacceptable from the test output as the reference.
Spikes on the percent difference shows when the spread values are at 5, 8 and 10. As spikes
show in the graph, it interprets the data performance also large which there was direct
RADIAL BASIS
30%
25%
% Difference
20%
15%
10%
5%
0%
0 2 4 6 8 10 12
SPREAD
103
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
In the next Figure, it exhibits the percent difference obtained running the testing
data set on Exact Radial Basis neural network. Exact radial basis has a different set of
spread among the other neural network. Spread of this neural network was less than value
of 1. As observed, spread less than 1 shows constant output of “Y” based on the MatLab
code. The neural network displays inconsistency at output of percent difference. Spikes
show at spread when it is 0.004 and 0.005. As per its performance, neural network emanates
25%
% Difference
20%
15%
10%
5%
0%
0 0.002 0.004 0.006 0.008 0.01 0.012
SPREAD
In the Figure 4.12, graph displays the results coming from the test run of the data
at the Generalized Regression neural network. At this neural network, it gives the number
of the hidden network for precise regression of the network to perform based on the data
set to run. As resulted, number of neural hidden network is 605 having five inputs and one
output. Graph displays no spike which equivalent for consistency of neural network
performance. As the spread increases, the performance of neural network displays better
104
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
outcome and percent difference decreases. First two spread shows a difference of 4% of
percent difference and the remaining set exhibits 1% difference. According to the value of
GENERALIZED REGRESSION
5%
4%
4%
% Difference
3%
3%
2%
2%
1%
1%
0%
0 2 4 6 8 10 12
SPREAD
For statistical treatment, researcher used Minitab application to run a regression test
for purpose to obtained the regression equation from area as the responses and temperature,
pH level, turb and light intensity as the predictors. As result, eq. 4.1 shows and indicates
𝑎𝑟𝑒𝑎 = 12.0 + 0.85 ∗ 𝑡𝑒𝑚𝑝 − 0.562 ∗ 𝑝𝐻 + 0.53 ∗ 𝑡𝑢𝑟𝑏 − 0.0029 ∗ 𝑙𝑢𝑥 (eq. 4.1)
proportional which explains as the temperature increases and the pH value is decrease.
105
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
The researcher uses statistical treatments namely R-Squared, Root-Mean-Square
Error and Mean Absolute Error for validity of its accuracy on the three ANN. R-squared
(R2) is a statistical measure that represents the proportion of the variance for a dependent
Root Mean Square Error (RMSE) is the standard deviation of the residuals. Residuals are
a measure of how far from the regression line data points. Mean absolute error is a measure
of errors between paired observations expressing the same phenomenon. Table 4.10
displays the output R-Squared, RMSE, and MAE of the three ANN with its corresponding
spread factor.
Artificial Neural network SPREAD SPREAD SPREAD SPREAD SPREAD SPREAD SPREAD SPREAD SPREAD SPREAD
1 2 3 4 5 6 7 8 9 10
R-SQUARED
Radial Basis 0.007509 0.048514 0.032041 0.0288 -0.03383 0.068388 0.037149 0.105322 -0.02451 -0.014392
E. Radial Basis 0.047729 0.083605 0.048821 -0.03255 -0.05279 -0.05368 -0.05172 -0.04751 -0.0424 -0.038514
Generalized Regression 0.01053 0.081313 0.102162 0.105455 0.110002 0.117318 0.125944 0.134544 0.142373 0.1491749
Root-Mean-Square
Error (RMSE)
Radial Basis 7.85505 8.277428 9.023147 8.782676 9.001223 8.711299 9.029843 9.705363 8.871811 8.9004204
E. Radial Basis 18.54202 17.64462 22.61415 23.01367 23.26431 23.31583 23.30162 23.96574 23.9614 23.855885
Generalized Regression 9.29645 8.313342 7.965454 7.805543 7.711807 7.648382 7.606824 7.580779 7.564681 7.5545166
ANN
106
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
In statistics, R-squared value determines and indicates how much variation of the
dependent variable is explained the independent variables. As shown in the table, Radial
basis and exact contains negative r-squared which indicates invalid result since r-square is
only between 0 to 1 value. At the same time, it gives inconsistency of r-squared value while
as per Generalized Regression shows consistent increase value of r-squared and using
generalized regression, the researchers obtain best output when using a spread factor of 10
with a value result of 0.1491749 which means 15% of the observed variation explained by
In statistics result of RMSE, exact radial basis has obtained the biggest data error
since it ranges from 17.6 % to 23.9% which indicates that the network is not consider best
fit on predicting algae area due to its discrepancy. On the other hand, radial basis shows
minimal error but as the spread increase shows also the inconsistency of errors which
refrain predicting accurate results. For generalized regression, it obtained the lowest error
from a value of 7.5545166 among the rest results and indicates that generalized regression
with spread factor of 10 is fit for predicting algae based on RMSE performance. As shown
factor, the RMSE value decreases which gives inversely proportional output.
107
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
In MAE statistic results, radial basis and exact radial basis gives an increasing MAE
value as the spread factor increases while it is a vice-versa output for generalized regression
which it decreases in MAE value indicates good performance. Same as the result of RMSE,
exact radial basis has the highest error value. Generalized regression with a spread factor
In the three statistical treatment, using generalized regression with spread factor of
turbidity and light intensity. As per of the result, the accuracy gives better performance. It
may improve accuracy for more data but due to crisis, researcher just obtained enough data
to do statistical treatment.
108
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
CHAPTER 5
CONCLUSION
The proponents are able to design and develop a system for monitoring growth of
microalgae which have achieved the objective of the study for classification of growth rate
SEN0198 turbidity sensor and pH level sensor were accomplished by pic-connecting with
board for wireless transmission of collected data direct to the base station computer or
laptop. The integration of different sensor was accomplished to produce single mote.
Temperature sensor was calibrated using two-point calibration between boiling and ice
achieved. Light sensor was calibrated using three different light bulbs with 3W, 5W and
7W form six different light intensity. Calibration resulted with an average percent error of
4.71%. As controlled parameter, light intensity was controlled by a MOSFET and achieved
temperature sensors reading yielded a RMSE of 5.91%. pH level sensor was calibrated
through three-point calibration using pH level 4, 7 and 10 solution with room temperature
109
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Turbidity sensor was calibrated through using laboratory Nephelometric test result
approved by Mach Union Water Laboratory. Calibration yielded an average percent error
of 1.03%. Calibration process per sensor achieved system accuracy in monitoring for
growth of microalgae. For wireless monitoring and transmission of data reading gathered,
it was achieved using a Wi-Fi router with a static address and using VNC viewer app as
monitoring display for each mote connected to Raspberry Pi. Total of three motes and a
The implementation of image processing was initially done using the acquired
image set per test chamber. Image processing was achieved using Matlab application and
to gather data features such as color feature and area feature through using a webcam.
Image processing produced the training and testing data set for the regression artificial
neural network. Data gathered after image processing explicit an output best describe for
set of parameters in Philippine’s setting. Results lead to a combination parameter best for
Philippine’s setting of light with an intensity value of 3000 lux according to biomass area
Training and testing data set was used to evaluate best artificial neural network for
detecting area output based on the set of parameters and number of days given. Generalized
Regression ANN exhibit accuracy between neural network output and test data set with a
percent difference ranges between 2% and 4%. It also give better performance based on R-
squared, RMSE and MAE. Generalized Regression neural network exhibit precise output
110
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
CHAPTER 6
RECOMMENDATION
The study has come up with the prototype of the system that monitors the
microalgae’s growth condition. However, there are flaws to enhance and improve more in
recommended for the prototype to be able for extension of transmission of data. It makes
more the system convenient to which gives researchers capability to monitor over the
internet.
It is also recommended for the system to be able to run into different species of
first-generation which affects by the competition edge between food and fuel feud.
cultivation process of microalgae for better output and data set to evaluate. Having massive
111
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
APPENDICES
A. BIBLIOGRAPHY
(2) Aziz M., Oda T. and T. Kashiwagi. Energy-Efficient Algae Utilization Based on
Enhanced Process Integration. International Conference on Renewable Energy
Research and Applications Madrid, Spain, 20-23.
(4) Chen H., et al, (2015). Macroalgae for Biofuels Production: Progress and
Perspectives. Department of Environmental Science and Engineering, Fudan
University, Shanghai 200433, China, Elsevier Ltd.
(5) Dai Y., Chen T., and Chen C. (2014). Study of the microwave lipid extraction from
microalgae for biodiesel production. Chemical Engineering Journal 250 267–273.
(6) DeepakKumar G. and D. Sankaranarayanan (2014). A Study of Green Energy
Computing by Using Algae.
(8) Ghadiryanfar M., et al., (2016). A review of macroalgae production, with potential
applications in biofuels and bioenergy. Renewable and Sustainable Energy Reviews
54 473–481, Elsevier Ltd.
(9) Habib M., et al, (2015). Production of Biofuels from Micro ALGAE and green
wastes through Anaerobic Digestion. IEEE.
(11) Jähne B. (2005). Digital Image Processing. Interdisciplinary Center for Scientific
Computing University of Heidelberg, Springer-Verlag Berlin Heidelberg.
112
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
(13) Karło A., et al, (2015). Cultivation Parameters Adjustment for Effective Algal
Biomass Production,” Middle Pomeranian Scientific Society of the Environment
Protection Środkowo-Pomorskie Towarzystwo Naukowe Ochrony Środowiska,
Volume/Tom 17.
(14) Kouhgardi S., et al., (2015). The Effect of Different Salinities on density of
Spirulina plaetensis under Laboratory Conditions. Bulletin of Environment,
Pharmacology and Life Sciences BEPLS, Vol 3.
(15) Lee J., et al, (2010). Comparison of several methods for effective lipid extraction
from microalgae. Bioresource Technology 101.
(16) Luo Q., et al, (2011). Automatic Identification of Diatoms with Circular Shape
using Texture Analysis. Journal of Software, Vol. 6, No. 3.
(17) Mansoor H., et al, (2011). Automatic Recognition System for some cyanobacteria
using image processing Techniques and ANN approach. International Conference
on Environmental and Computer Science IPCBEE, Vol. 19.
(18) Martins R., et al, (2018). Macroalgae Extracts from Antarctica Have Antimicrobial
and Anticancer Potential. Frontlers in Microalgae, Volume 9, Article 412.
(19) Marusteri M. and V. Bacarea (2010). Comparing groups for statistical differences:
how to choose the right statistical test?, Biochemia Medica, Vol. 20.
(20) Mata T. M., Martins A. A., and N. S. Caetano (2010). Microalgae for biodiesel
production and other applications: A review. Renewable and Sustainable Energy
Reviews 14 217–232, Elsevier Ltd.
(21) Mat Isa N. A., et al, (2006). Predicting Quality of River’s Water Based on Algae
Composition Using Artificial Neural Network. IEEE.
113
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
(23) Olu A. O. and M. Mohsin (2012). Biofuels: Analysis of the various biofuel types
including biomass, bio liquids, biogas and bio-SNG. Institution of Gas Engineers
& Managers (IGEM).
(24) Patil P. K. and S.R. Patil (2017). Review on Structural Health Monitoring System
using WSN for Bridges,” International Conference on Electronics, Communication
and Aerospace Technology, ICECA.
(25) Pragya N., Pandey K. K., and P.K. Sahoo (2013). A review on harvesting, oil
extraction and biofuels production technologies from microalga. Renewable and
Sustainable Energy Reviews 159–171.
(26) Ubando, T. A., et al, (2017). A Comparative Assessment for Algal Biodiesel
Production in the Philippines. IEEE.
(28) Santhi N., et al, (2013). Automatic Identification of Algal Community from
Microscopic Images. Bioinformatics and Biology Insights.
(29) Sharma A., Sandooja B., and D. Yadav (2013). Extreme Machine Learning: Feed
Forward Networks. International Journal of Advanced Research in Computer
Science and Software Engineering, Volume 3, Issue 8.
(30) Singha D. S., G.B.L. Chowdarya and D. R. Mahapatraa (2007). Structural Damage
Identification Using Artificial Neural Network and Synthetic data. Department of
Aerospace, Indian Institute of Sciences, Banglore, India.
(31) Sridharan S. (2014) “Water Quality Monitoring System Using Wireless Sensor
Network”, International Journal of Advanced Research in Electronics and
Communication Engineering (IJARECE), Volume 3, Issue 4.
(32) Shen Y., et al, (2009). Effect of nitrogen and extraction method on algae lipid yield.
Int J Agrie & Biol Eng.
(33) Vijayakumar N. and R. Ramya (2015). The Real Time Monitoring of Water Quality
in Iot Environment. IEEE Sponsored 2nd International Conference on Innovations
in Information, Embedded and Communication systems (ICIIECS).
(34) Wigmosta M., et al, (2012). National microalgae biofuel production potential and
resource demand. Water Resources Research, Vol. 47 W00H04, 13 pp.
114
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
(35) Zhou A. and E. Thomson (2009). The development of biofuels in Asia. Applied
Energy 86 S11–S20, Elsevier Ltd.
(36) Zhu X., et al, (2010). A remote wireless system for water quality online monitoring
in intensive fish culture. Computers and Electronics in Agriculture, Elsevier B.V.
115
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
B. DEFINITION OF TERMS
Algae → it refers to a diverse group of aquatic organisms that have the ability to
conduct photosynthesis.
sunlight, and carbon dioxide to algal biomass and also the raw
Macroalgae → a biomass that contains high amount of sugars which can be used in
product.
Chlorella Vulgaris → it refers as a type of microalgae that used in this study for
biomass production.
116
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Temperature → it refers as a physical property of matter that quantitatively
of a substance, with acidic level (pH 4), neutral level (pH 7) and base
application.
sub-space.
117
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Neural Network → a series of algorithms that endeavors to recognize underlying
D. TRAINING DATA
118
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
1 22.62 6.48 2.07 1003.89
1 22.37 6.81 2.06 993.83
1 22.06 6.80 2.09 1010.61
1 22.81 5.50 2.07 1005.57
1 22.62 6.48 2.07 1003.89
1 22.37 6.81 2.06 993.83
1 22.06 6.80 2.09 1010.61
1 22.62 6.48 2.07 1003.89
1 22.06 6.80 2.09 1010.61
1 22.81 5.50 2.07 1005.57
1 22.37 6.81 2.06 993.83
2 22.62 8.10 2.05 993.74
2 22.31 8.80 2.05 1008.84
2 22.12 8.80 2.09 1002.16
2 22.87 8.00 2.05 1005.53
2 22.62 8.70 2.07 998.79
2 22.37 8.00 2.04 986.06
2 22.25 8.80 2.08 1002.87
2 22.19 8.10 2.21 1003.80
2 22.31 8.00 2.12 1019.33
2 22.56 8.80 2.18 1019.94
2 22.87 8.70 2.16 1013.28
2 22.19 8.10 2.09 1017.92
2 22.56 8.31 2.47 1003.58
2 22.12 1.90 2.17 1009.95
2 22.62 8.35 2.06 982.42
2 22.75 7.19 2.28 1011.99
2 22.81 4.79 2.06 987.76
2 22.69 3.95 2.01 1002.20
2 22.62 3.25 2.01 1002.20
2 22.44 8.10 2.01 995.47
2 22.31 8.70 2.03 1015.62
2 22.19 8.16 2.02 988.78
2 22.12 8.61 2.02 977.01
2 22.87 5.60 2.63 988.47
3 22.19 8.10 2.21 1003.80
3 22.31 8.00 2.12 1019.33
3 22.56 8.80 2.18 1009.94
3 22.87 8.70 2.16 1013.28
3 22.19 8.10 2.09 1017.92
119
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
3 22.56 8.31 2.47 1008.58
3 22.12 1.90 2.17 1009.95
3 22.62 8.35 2.06 982.42
3 22.75 7.19 2.28 1011.99
3 22.81 4.79 2.06 987.76
3 22.69 3.95 2.01 1002.20
3 22.62 3.25 2.01 1002.20
3 22.44 8.10 2.01 995.47
3 22.31 8.70 2.03 1015.62
3 22.19 8.16 2.02 988.78
3 22.12 8.61 2.02 977.01
3 22.87 5.60 2.63 988.47
3 22.81 4.99 2.03 995.43
3 22.12 6.90 2.17 1009.95
3 22.75 7.19 2.28 1001.99
3 22.75 6.11 2.03 990.38
3 22.62 7.15 2.03 997.11
3 22.50 7.44 2.06 1008.84
3 22.19 5.86 2.09 997.16
4 22.06 5.75 2.05 987.10
4 22.87 5.53 2.05 988.78
4 22.69 5.38 2.05 1000.52
4 22.56 5.19 2.04 992.11
4 22.44 5.37 2.09 1008.93
4 22.31 5.00 2.06 1011.25
4 22.19 5.16 2.11 1013.36
4 22.19 4.62 2.13 983.78
4 22.31 5.17 2.25 1004.56
4 22.56 5.63 2.28 1002.27
4 22.94 5.00 2.30 1013.45
4 22.37 4.08 2.23 994.02
4 22.75 5.05 2.16 1014.94
4 22.00 5.24 2.25 1006.48
4 22.06 5.55 2.42 983.69
4 22.00 5.20 2.17 1242.00
4 22.87 7.28 2.05 985.75
4 22.62 7.17 2.10 1008.93
4 22.31 6.37 3.85 1015.02
4 22.06 5.91 2.07 1012.26
4 22.69 6.87 2.09 997.16
120
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
4 22.44 6.56 2.07 998.84
4 22.19 6.34 2.07 997.16
4 22.94 5.80 2.07 993.68
1 28.69 4.91 3.85 1988.27
1 28.37 5.69 3.86 1993.33
1 28.12 4.21 3.82 1995.02
1 27.87 4.30 3.81 1996.60
1 28.69 3.91 3.85 1988.27
1 28.37 3.69 3.86 1993.33
1 28.12 4.21 3.82 1995.02
1 27.87 4.30 3.81 1996.60
1 28.69 3.91 3.85 1988.27
1 28.12 4.21 3.82 1995.02
1 28.37 3.69 3.86 1993.33
1 27.87 4.30 3.81 1996.60
1 28.69 3.91 3.85 1988.27
1 28.37 3.69 3.86 1993.33
1 28.12 4.21 3.82 1995.02
1 27.87 4.30 3.81 1996.60
1 28.69 3.91 3.85 1988.27
1 28.37 3.69 3.86 1993.33
1 28.12 4.21 3.82 1995.02
1 27.87 4.30 3.81 1996.60
1 28.69 3.91 3.85 1988.27
1 28.12 4.21 3.82 1995.02
1 28.37 3.69 3.86 1993.33
1 27.87 4.30 3.81 1996.60
2 27.37 5.09 3.81 2020.13
2 27.06 4.80 3.82 1959.66
2 27.00 4.60 3.87 1999.98
2 27.00 4.59 3.87 2001.55
2 27.00 9.50 3.81 2006.62
2 27.00 4.99 3.88 2002.09
2 27.00 5.30 3.87 2021.79
2 27.00 4.29 3.99 2002.64
2 27.00 5.01 3.94 2017.32
2 27.12 4.50 3.98 1995.18
2 27.31 4.40 3.96 1998.49
2 27.50 3.99 3.88 2013.37
2 27.75 3.39 4.19 2007.25
121
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
2 28.19 3.71 3.96 1997.18
2 27.87 4.30 3.81 1996.60
2 28.69 3.91 3.85 1988.27
2 28.37 3.69 3.86 1993.33
2 28.12 4.21 3.82 1995.02
2 27.87 4.30 3.81 1996.60
2 28.69 3.91 3.85 1988.27
2 28.12 4.21 3.82 1995.02
2 28.37 3.69 3.86 1993.33
2 27.87 4.30 3.81 1996.60
2 27.50 4.00 3.86 1992.98
3 27.00 4.60 3.87 1999.98
3 27.00 4.59 3.87 2001.55
3 27.00 9.50 3.81 2006.62
3 27.00 4.99 3.88 2002.09
3 27.00 5.30 3.87 2021.79
3 27.00 4.29 3.99 2002.64
3 27.00 5.01 3.94 2017.32
3 27.12 4.50 3.98 1995.18
3 27.31 4.40 3.96 1998.49
3 27.50 3.99 3.88 2013.37
3 27.75 3.39 4.19 2007.25
3 28.19 3.71 3.96 1997.18
3 27.50 4.19 3.80 2008.19
3 27.50 4.19 3.80 2008.19
3 27.50 4.19 3.80 2008.19
3 27.50 4.19 3.80 2008.19
3 27.50 4.19 3.80 2008.19
3 27.50 4.19 3.80 2008.19
3 27.50 4.19 3.80 2008.19
3 27.50 4.19 3.80 2008.19
3 28.25 3.69 3.80 1999.74
3 28.19 4.69 3.79 1999.86
3 28.06 4.39 3.79 1999.86
3 27.81 3.50 3.85 2005.15
4 27.56 3.60 3.86 2005.15
4 27.37 3.90 3.80 2006.84
4 27.19 3.97 3.86 2013.59
4 27.12 3.80 3.86 2013.59
4 27.00 3.40 3.86 1990.06
122
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
4 27.00 3.60 3.83 2010.76
4 27.06 4.00 3.92 2012.76
4 27.06 3.81 3.90 1996.60
4 27.12 4.10 4.00 1855.77
4 27.25 4.71 4.03 2004.35
4 27.56 5.29 4.08 2003.23
4 27.87 5.10 4.02 2013.94
4 28.25 4.49 3.94 2000.43
4 28.31 4.50 4.02 2014.21
4 28.37 4.37 4.12 2013.93
4 28.31 3.57 3.85 1890.28
4 28.12 3.99 3.80 1998.29
4 27.81 4.00 3.79 2008.42
4 27.50 4.30 3.79 1998.29
4 27.12 4.70 3.85 2015.07
4 27.06 4.59 3.80 2005.04
4 27.00 4.07 3.79 2006.73
4 27.06 4.60 3.86 2008.31
4 27.00 4.30 3.86 1993.10
1 32.01 5.22 3.64 2997.55
1 31.94 5.30 3.64 2999.23
1 31.81 5.95 3.64 2999.15
1 31.62 5.53 3.65 3005.90
1 31.82 5.53 3.65 3005.90
1 32.03 5.22 3.64 2997.55
1 31.94 5.30 3.64 2999.23
1 31.81 5.95 3.64 2999.15
1 31.62 5.53 3.65 3005.90
1 31.94 5.30 3.64 2999.23
1 32.06 5.22 3.64 2997.55
1 31.81 5.95 3.64 2999.15
1 32.06 5.22 3.64 2997.55
1 31.94 5.30 3.64 2999.23
1 31.81 5.95 3.64 2999.15
1 31.62 5.53 3.65 3005.90
1 31.52 5.53 3.65 3005.90
1 32.06 5.22 3.64 2997.55
1 31.94 5.30 3.64 2999.23
1 31.81 5.95 3.64 2999.15
1 31.62 5.53 3.65 3005.90
123
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
1 31.94 5.30 3.64 2999.23
1 31.06 5.22 3.64 2997.55
1 31.81 5.95 3.64 2999.15
2 31.37 5.03 3.62 2990.55
2 31.25 5.71 3.63 2985.48
2 31.19 5.90 3.65 3009.01
2 31.06 5.67 3.65 3009.01
2 30.87 5.90 3.65 2990.45
2 31.75 5.85 3.62 2990.51
2 31.69 6.31 3.70 2993.89
2 31.81 7.58 3.78 2998.44
2 32.09 7.10 3.70 2995.38
2 31.19 7.32 3.72 3012.64
2 31.50 7.32 3.75 3013.03
2 31.81 6.15 3.67 3006.25
2 32.19 8.86 3.86 2988.79
2 32.69 7.31 3.74 2993.51
2 31.19 5.27 3.66 3000.98
2 31.31 7.92 3.75 2991.81
2 31.44 4.93 3.62 3003.62
2 31.37 4.83 3.61 2991.85
2 31.31 4.72 3.61 2996.81
2 31.19 4.83 3.62 2990.05
2 31.06 5.07 3.62 3001.87
2 31.00 4.90 3.62 3008.52
2 30.94 4.97 3.62 2993.43
2 31.56 5.32 3.63 2988.47
3 30.37 5.78 3.63 3000.18
3 30.25 5.55 3.63 3010.21
3 30.06 5.27 3.63 3005.14
3 29.94 5.38 3.63 3011.90
3 29.87 5.48 3.64 3005.14
3 29.75 5.68 3.65 3013.33
3 29.69 6.35 3.68 3013.89
3 29.69 7.56 3.79 2987.24
3 29.81 8.48 3.76 2998.04
3 30.12 9.28 3.82 3060.62
3 30.50 8.88 3.81 2997.73
3 30.94 9.73 3.77 3016.91
3 31.25 9.18 3.75 2994.63
124
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
3 31.69 9.31 3.82 2999.67
3 31.94 9.31 3.78 3000.04
3 32.06 6.00 3.75 3005.17
3 32.06 8.00 3.61 2954.51
3 31.94 4.13 3.61 3065.50
3 31.81 4.13 3.61 3068.88
3 31.62 4.28 3.62 2937.92
3 31.50 4.36 3.62 2921.14
3 31.44 4.54 3.61 2917.76
3 31.37 4.86 3.62 2912.69
3 31.00 5.01 3.63 3112.57
4 30.81 4.96 3.63 2959.87
4 30.69 5.27 3.63 3089.04
4 30.50 4.93 3.64 3080.59
4 30.37 4.92 3.64 3077.32
4 30.25 5.10 3.64 3070.57
4 30.12 5.40 3.65 3016.13
4 30.00 6.12 3.69 2989.01
4 30.00 6.55 3.71 3003.72
4 30.06 8.00 3.85 3026.76
4 30.19 7.65 3.81 2990.98
4 30.37 8.95 3.81 3005.49
4 30.56 8.69 3.75 2991.40
4 30.81 7.13 3.73 3002.40
4 30.94 7.46 3.74 2987.16
4 30.94 9.09 3.86 3156.58
4 31.00 5.58 3.66 3010.28
4 30.87 4.72 3.63 2874.88
4 30.62 4.86 3.63 2949.51
4 30.31 4.96 3.63 2954.58
4 30.06 5.37 3.64 2900.63
4 31.87 5.56 3.64 2880.35
4 31.69 5.46 3.64 2882.04
4 32.04 4.79 3.85 2882.04
4 31.31 5.56 3.64 2904.03
1 26.19 2.94 1.45 977.1
1 26.44 4.84 0.88 1007.02
1 26.69 6.08 1.48 975.07
1 26.94 8.8 1.05 1001.97
1 27.86 8.8 1.06 997.05
125
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
1 26.19 8.8 1.32 1002.11
1 27.25 8 1.26 992.06
1 27.31 8.88 1.24 995.43
1 27.37 8 0.87 993.74
1 27.44 8.81 1.1 995.43
1 27.44 8.8 1.08 990.38
1 27.44 8 1.4 1010.52
1 26.44 8.8 1.28 997.11
1 26.44 8.8 1.35 988.56
1 26.37 8.8 1.46 997.35
1 26.31 9.44 1.53 1018.39
1 26.25 9.2 1.53 987.8
1 26.25 9.08 1.07 1004.59
1 27.31 9.78 0.89 971.33
1 26.37 8.54 0.84 1006.19
1 27.44 9.17 1.37 1008.88
1 26.5 9.28 1.12 1000.99
1 26.81 3.85 3.57 1005.3
1 26.69 8.85 1.48 1008.99
2 26.75 8.9 1.1 984.06
2 26.81 8.9 1.64 995.43
2 26.87 8.88 0.8 1013.89
2 26.94 7.08 1.72 1005.47
2 26.94 7.85 1.85 997.05
2 26.94 9.59 2.14 1012.15
2 26.94 9.6 2.15 1003.79
2 26.94 9.86 1.88 997.05
2 26.87 7.8 2.23 985.32
2 26.81 7.8 1.78 983.64
2 26.75 7.28 1.19 975.22
2 26.69 7.47 2.11 1003.79
2 26.62 7.1 2.37 987.01
2 26.62 7.9 2.38 1010.39
2 26.56 7.8 2.17 976.71
2 27.5 9.3 2.08 995.86
2 26.62 6.39 3.6 952.47
2 26.56 6.49 3.6 1002.95
2 27.44 8.28 2.14 983.3
2 27.24 7.84 2.23 991.47
2 26.56 7.72 2.36 994.98
126
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
2 26.69 7.38 2.19 1000.85
2 26.75 7.07 2.2 998.6
2 26.87 7.53 2.41 997.29
3 26.94 7.45 3.74 1010.31
3 27.08 8.03 0.87 997.05
3 27.03 8.43 2.28 983.58
3 27.01 8.81 2.06 1000.42
3 27.05 6.8 1.38 986.95
3 26.94 3.22 1.25 992
3 26.94 2.01 1.99 1000.36
3 26.94 2.55 1.78 998.67
3 26.87 4.8 1.92 1003.73
3 26.75 9 1.99 997.05
3 26.69 7.8 1.9 981.96
3 26.62 7.3 1.89 1008.78
3 26.56 5.8 1.91 990.31
3 26.44 9.9 1.7 1018.66
3 26.44 8.28 2.14 983.3
3 27.44 7.84 2.23 991.47
3 26.56 7.72 2.36 994.98
3 26.69 7.38 2.19 1000.85
3 26.75 7.07 2.2 998.6
3 26.87 7.53 2.41 997.29
3 26.94 7.45 8.8 3.74
3 27.06 8.03 0.87 997.05
3 27.02 8.43 2.28 983.58
3 27.03 8.81 2.06 1000.42
4 27.31 7.85 1.69 1005.57
4 26.31 9.59 1.69 1005.57
4 27.31 9.6 2.95 991.85
4 26.19 9.86 2.51 996.91
4 26.12 1.8 2.64 998.51
4 27.06 1.8 2.42 998.51
4 27.17 7.28 2.4 995.22
4 27.87 7.47 2.67 988.47
4 27.81 7.1 2.76 995.22
4 27.69 7.9 2.71 995.22
4 27.62 1.8 2.33 1001.88
4 27.5 9.3 2.78 1001.88
4 27.44 9.09 2.77 1001.16
127
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
4 27.31 8.67 2.65 996.49
4 27.25 8.28 2.8 993.69
4 27.25 7.84 2.8 993.69
4 27.25 7.72 2.8 993.69
4 27.25 7.38 2.67 1007.45
4 27.31 7.07 2.65 992.03
4 27.37 7.53 2.77 995.24
4 27.44 7.45 2.61 1002.14
4 27.56 8.03 2.49 1000.3
4 27.62 8.43 2.78 1006.46
4 27.69 8.81 2.9 1005.25
1 32.06 6.2 3.78 1986.75
1 32 5.21 3.77 1943.28
1 32.06 5.2 3.77 2013.28
1 32.06 5.2 3.77 1993.28
1 32.06 5.2 3.77 1989.28
1 32.06 6.19 3.82 1986.58
1 32 4.41 3.82 2015.07
1 32 7.3 3.76 2015.07
1 32 8.8 3.82 1984.89
1 32 9.7 3.82 2015.07
1 32.06 9.7 3.79 1996.6
1 32 8.31 3.76 2011.69
1 32 9.05 3.82 2016.76
1 32.06 9.1 3.8 1991.29
1 32.06 8.5 3.83 2005.47
1 32.06 9 3.77 1998.42
1 32 9.7 3.83 2007.97
1 32 9.29 3.79 2009.27
1 32 9.6 3.78 1980.35
1 32.06 6.8 3.83 2007.61
1 32.06 7.1 3.79 2016.49
1 32 6.19 3.82 1985.03
1 32.13 6.91 3.78 2007.41
1 32.06 7.3 3.82 1995.71
2 32 5.6 3.75 2008.62
2 32 5.67 3.8 2008.31
2 32 6.29 3.75 1996.48
2 32 5.49 3.74 1984.77
2 32 7.5 3.79 1988.15
128
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
2 32 6.9 3.79 2008.31
2 32.06 6.3 3.74 1986.46
2 32 9.5 3.76 2003.24
2 32 6.97 3.74 1998.17
2 32.06 8.2 3.79 2003.24
2 32 1.8 3.74 2006.62
2 32 8.51 3.74 2001.55
2 32 8.29 3.78 1998.17
2 32 8.09 3.74 2009.76
2 32.06 8.3 3.76 1997.94
2 32 8.07 3.75 2006.37
2 32.06 7.4 3.75 2005.23
2 32 8.89 3.75 2001.82
2 32.06 8.29 3.76 1997.89
2 32 7.8 3.76 2009.18
2 32 7.45 3.75 1988.88
2 32.06 7.27 3.76 1983.28
2 32.06 6.65 3.79 2009.95
2 32.06 7.21 3.75 1994.96
3 32.06 5.99 3.77 1980.14
3 32 8.3 3.74 1996.48
3 32 8.7 3.74 2003.12
3 32 8.29 3.79 1986.34
3 32 8.8 3.78 2001.43
3 32.06 9.59 3.8 1992.98
3 32 9.5 3.8 1998.05
3 32 9.69 3.75 2008.19
3 31.5 3.26 3.6 2012.55
3 32 8.7 3.75 1998.05
3 32.06 9.4 3.75 2009.88
3 32 9.15 3.81 2013.14
3 32 9.1 3.75 1996.36
3 32 8.77 3.81 1989.34
3 32.06 7.21 3.75 1994.96
3 32.06 5.99 3.77 1980.14
3 32 8.7 3.74 2003.12
3 32 8.29 3.79 1986.34
3 32.06 9.59 3.8 1992.98
3 32 9.5 3.8 1998.05
3 32.06 8.29 3.76 1997.89
129
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
3 32 7.8 3.76 2009.18
3 32 7.45 3.75 1988.88
3 32 8.3 3.74 1996.48
4 32.06 9 3.75 2013.2
4 32.06 9 3.75 2013.2
4 31.87 7.89 3.84 1998.05
4 31.81 7.9 3.84 2004.69
4 31.81 7.99 3.83 1994.55
4 31.81 7.91 3.78 2001.31
4 31.81 8 3.84 1994.55
4 31.81 7.87 3.78 2004.69
4 31.81 7.5 3.78 2013.02
4 31.81 7.89 3.78 2009.64
4 31.75 8 3.78 2007.94
4 31.75 8 3.78 1989.47
4 31.69 7.9 3.78 2000.31
4 31.5 8.29 3.84 2001.15
4 31.44 8.1 3.79 1999.81
4 31.44 8.1 3.79 1999.81
4 31.44 8.1 3.79 1999.81
4 31.25 8 3.8 2013.66
4 31.25 8 3.81 1988.46
4 31.31 7.99 3.83 2004.2
4 31.37 8.29 3.79 1994.1
4 31.37 8.1 3.8 1987.44
4 31.5 7.87 3.79 1994.45
4 31.56 7.97 3.78 1992.72
1 21.75 4.62 3.54 2155.59
1 21.94 3.96 3.54 2240.32
1 22.12 4.39 3.54 2250.33
1 21.25 5.04 3.53 2245.25
1 21.37 3.93 3.54 2288.82
1 22.44 4.38 3.54 2283.74
1 21.5 3.98 3.54 2280.35
1 21.56 4.27 3.54 2268.65
1 21.62 4.01 3.54 2261.87
1 21.69 4.44 3.54 2221.69
1 21.69 4.34 3.55 2216.61
1 21.69 4.49 3.55 2208.14
1 21.62 4.28 3.55 2218.15
130
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
1 21.62 4.49 3.56 2219.68
1 22.56 4.6 3.56 2265.84
1 21.5 4.05 3.57 2289.21
1 21.44 3.84 3.56 2304.63
1 21.44 4.04 3.58 2397.23
1 21.5 4.15 3.58 2376.23
1 21.56 3.73 3.58 2337.98
1 21.62 3.85 3.58 2449.62
1 21.69 4.11 3.57 2365.66
1 21.81 3.88 3.57 2404.81
1 21.87 3.45 3.56 2395.15
2 21.94 3.41 3.56 2312.71
2 21.94 3.52 3.56 2301.89
2 21.87 3.35 3.56 2301.89
2 21.94 5.2 3.58 2958.32
2 21.94 5.81 3.57 2239.85
2 22.07 5.87 3.58 2233.23
2 22.05 5.74 3.57 2216.29
2 22.04 5.71 3.57 2999.67
2 22.08 5.84 3.57 2197.98
2 22.01 6.16 3.57 2191.2
2 22.17 5.69 3.57 2182.72
2 21.94 6.08 3.57 2098.81
2 21.87 6.28 3.58 2107.29
2 21.81 6.7 3.58 2922.03
2 21.75 6.57 3.6 2202.08
2 21.69 6.3 3.6 2283.12
2 21.62 6.1 3.6 2252.47
2 21.56 6.42 3.6 2316.12
2 21.56 6.1 3.6 2987.91
2 21.56 6.11 3.59 2352.87
2 21.62 6.46 3.59 2436.71
2 21.75 5.97 3.58 2413.05
2 21.81 6.17 3.58 2387.64
2 21.87 6.19 3.58 2330.96
3 22.02 6.25 3.56 2138.76
3 22.01 6.22 3.56 2117.12
3 22.06 6.62 3.57 2107.12
3 22.06 6.35 3.58 2078.64
3 22.06 6.44 3.58 2055.07
131
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
3 22.87 7.71 3.6 2205.94
3 21.75 7.79 3.59 2227.64
3 21.62 5.68 3.61 2239.51
3 21.5 3.13 3.59 2224.25
3 21.5 4 3.59 2184.07
3 21.5 3 3.6 2185.77
3 21.5 6 3.6 2174.07
3 21.5 7.4 3.6 2185.77
3 21.44 1.82 3.61 2197.1
3 21.94 3.52 3.56 2301.89
3 21.87 3.35 3.56 2301.89
3 21.94 5.2 3.58 2258.32
3 21.94 5.81 3.57 2239.85
3 22.03 5.87 3.58 2233.23
3 22.01 5.74 3.57 2216.29
3 22.06 5.71 3.57 2199.67
3 22.05 5.84 3.57 2197.98
3 22.09 6.16 3.57 2191.2
3 22.05 5.69 3.57 2182.72
4 21.37 2.35 3.61 2269.02
4 21.37 2.35 3.61 2269.02
4 21.87 7.82 3.62 2087.32
4 21.75 7.76 3.62 2068.62
4 21.62 7.77 3.63 2051.84
4 21.56 7.2 3.62 2009.97
4 21.62 7.52 3.61 1969.8
4 21.75 7.74 3.6 2981.49
4 21.81 7.85 3.6 2979.79
4 21.87 7.98 3.6 2976.39
4 21.87 7.61 3.6 1971.5
4 21.87 7.59 3.6 2957.91
4 21.87 8.12 3.6 2015.21
4 21.81 8.41 3.6 2057.81
4 21.75 8.17 3.6 2058.06
4 21.75 8.17 3.6 2058.06
4 21.75 8.17 3.6 2058.06
4 21.31 8.26 3.63 2316.49
4 21.31 8.58 3.64 2452.06
4 21.31 8.31 3.63 2353.74
4 21.37 8.6 3.62 2081.38
132
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
4 21.37 8.39 3.63 2323.83
4 21.56 8.51 3.6 2015.13
4 21.69 8.92 3.59 2898.82
1 30.56 6.82 2.86 1003.0900
1 30.69 7.19 2.83 999.8000
1 30.81 6.91 2.88 973.4200
1 30.87 7.14 2.87 986.6100
1 30.94 7.43 2.88 994.7300
1 30.94 7.33 3.11 996.0600
1 31.09 7.58 2.9 987.5000
1 30.06 7.2 3.1 976.5500
1 31.12 7.48 3.03 1018.3200
1 31.19 7.44 3.18 996.9100
1 31.31 7.05 3.31 970.7600
1 31.44 7.49 3.27 1040.8500
1 31.62 7.11 3.23 971.6100
1 31.75 7.17 3.3 1018.9900
1 31.87 7.07 3.38 1007.4200
1 32 7.08 3.4 1002.8100
1 31.12 7.14 3.4 1006.1100
1 32.19 7.05 3.36 993.2100
1 32.25 7.16 3.35 1009.4100
1 31.19 7.23 4.13 1009.4100
1 32.19 7.52 4.1 983.0200
1 30.12 7.71 4.16 983.0200
1 31.98 7.83 4.17 970.1300
1 31.94 8.02 4.17 984.7600
2 31.87 8.02 4.18 975.4700
2 31.81 8.13 4.2 990.8000
2 31.94 8.2 4.24 998.1000
2 31.09 8.4 4.26 1016.1900
2 32.19 9.1 4.28 1019.6000
133
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
E. CODES
I.Arduino codes
CHAMBER 1
double Lux;
double targetLux = 1000;
float Temp;
float targetTemp = 23;
float pH;
134
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
const byte a1 = 47;
const byte f1 = 45;
const byte g1 = 43;
const byte e1 = 41;
const byte d2 = 39;
const byte c2 = 37;
const byte b2 = 35;
const byte a2 = 33;
const byte f2 = 31;
byte Dig1;
byte Dig2;
byte Dig3;
byte Dig4;
char Digits[8];
byte index;
#define on 0
#define off 1
#define BUFFSIZE 64
char Data[BUFFSIZE] ; // to hold incoming data
boolean DataComplete = false; // whether the string is complete
byte datacount;
char Data1[BUFFSIZE] ; // to hold incoming data
boolean DataComplete1 = false; // whether the string is complete
byte datacount1;
135
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
void setup()
{
Serial.begin(9600);
Serial1.begin(9600);
light.begin();
gain = 0;
unsigned char time = 2;
light.setTiming(gain,time,ms);
light.setPowerUp();
pinMode(Cooler, OUTPUT);
pinMode(Heater, OUTPUT);
pinMode(Light, OUTPUT);
pinMode(PumpA, OUTPUT);
pinMode(PumpB, OUTPUT);
digitalWrite(Cooler, off);
digitalWrite(Heater, off);
digitalWrite(PumpA, off);
digitalWrite(PumpB, off);
}
void loop()
{
if((millis() - Refresh) >= 1000){ //1 sec
Refresh = millis();
Read_Sensors();
if(mode == 1)
136
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
{
if(Lux < targetLux)
{
if(inten < 255)
inten++;
analogWrite(Light, inten);
}
if(Lux > targetLux)
{
if(inten > 0)
inten--;
analogWrite(Light, inten);
}
}
else
{
analogWrite(Light, 0);
inten = 0;
}
}
if (DataComplete)
{
// Serial.println(Data);
if(strstr(Data, "PUMPON"))
{
digitalWrite(PumpA, on);
digitalWrite(PumpB, on);
}
if(strstr(Data, "PUMPOFF"))
{
digitalWrite(PumpA, off);
digitalWrite(PumpB, off);
}
if(strstr(Data, "LIGHTSON"))
{
mode = 1;
137
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
}
if(strstr(Data, "LIGHTSOFF"))
{
mode = 0;
}
if(strstr(Data, "COOLERON"))
{
digitalWrite(Cooler, on);
digitalWrite(Heater, off);
}
if(strstr(Data, "HEATERON"))
{
digitalWrite(Heater, on);
digitalWrite(Cooler, off);
}
if(strstr(Data, "CHOFF"))
{
digitalWrite(Heater, off);
digitalWrite(Cooler, off);
}
datacount = 0;
DataComplete = false;
}
if (DataComplete1)
{
// Serial.println(Data1);
if(strstr(Data1, "PUMPON"))
{
digitalWrite(PumpA, on);
digitalWrite(PumpB, on);
}
if(strstr(Data1, "PUMPOFF"))
{
digitalWrite(PumpA, off);
digitalWrite(PumpB, off);
}
if(strstr(Data1, "LIGHTSON"))
{
138
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
digitalWrite(Light, HIGH);
}
if(strstr(Data1, "LIGHTSOFF"))
{
digitalWrite(Light, LOW);
}
if(strstr(Data1, "COOLERON"))
{
digitalWrite(Cooler, on);
digitalWrite(Heater, off);
}
if(strstr(Data1, "HEATERON"))
{
digitalWrite(Heater, on);
digitalWrite(Cooler, off);
}
if(strstr(Data1, "CHOFF"))
{
digitalWrite(Heater, off);
digitalWrite(Cooler, off);
}
datacount1 = 0;
DataComplete1 = false;
}
}
void Read_Sensors()
{
//Read Turbidity
int sensorValue = analogRead(A0);// read the input on analog pin 0:
float voltage = sensorValue * (5.0 / 1024.0); // Convert the analog reading
(which goes from 0 - 1023) to a voltage (0 - 5V):
Serial.print("Voltage = ");
Serial.println(voltage); // print out the value you read:
Serial1.print("Voltage = ");
Serial1.println(voltage); // print out the value you read:
139
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
if (light.getData(data0,data1))
{
// getData() returned true, communication was successful
// Perform lux calculation:
light.getLux(gain,ms,data0,data1,Lux);
// Print out the results:
Serial.print("Lux = ");
Serial.println(Lux);
Serial1.print("Lux = ");
Serial1.println(Lux);
}
Read_Temp();
Serial.print("Temperature = ");
Serial.println(Temp);
Serial1.print("Temperature = ");
Serial1.println(Temp);
readPH:
Read_Data();
pH = atof(Digits) / 10;
if(pH < 1.1 || pH > 9.9)
goto readPH;
Serial.print("pH = ");
Serial.println(pH);
Serial1.print("pH = ");
Serial1.println(pH);
}
void Read_Temp()
{
byte i;
byte present = 0;
byte type_s;
byte data[12];
byte addr[8];
float celsius, fahrenheit;
if ( !ds.search(addr)) {
// Serial.println("No more addresses.");
// Serial.println();
ds.reset_search();
140
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
delay(100);
return;
}
// Serial.print("ROM =");
// for( i = 0; i < 8; i++) {
// Serial.write(' ');
// Serial.print(addr[i], HEX);
// }
// if (OneWire::crc8(addr, 7) != addr[7]) {
// Serial.println("CRC is not valid!");
// return;
// }
// Serial.println();
ds.reset();
ds.select(addr);
ds.write(0x44, 1); // start conversion, with parasite power on at the end
141
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
present = ds.reset();
ds.select(addr);
ds.write(0xBE); // Read Scratchpad
142
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
// Serial.print(fahrenheit);
// Serial.println(" Fahrenheit");
Temp = celsius;
}
void Read_Data()
{
//Digit 4
if(digitalRead(ab4))
Dig4 = 3;
else
Dig4 = 0;
//Digit 3
Dig3 = 0;
if(digitalRead(a3))
Dig3 |= 0x01;
if(digitalRead(b3))
Dig3 |= 0x02;
if(digitalRead(c3))
Dig3 |= 0x04;
if(digitalRead(d3))
Dig3 |= 0x08;
if(digitalRead(e3))
Dig3 |= 0x10;
if(digitalRead(f3))
Dig3 |= 0x20;
if(digitalRead(g3))
Dig3 |= 0x40;
//Digit 2
Dig2 = 0;
if(digitalRead(a2))
Dig2 |= 0x01;
if(digitalRead(b2))
Dig2 |= 0x02;
if(digitalRead(c2))
Dig2 |= 0x04;
if(digitalRead(d2))
Dig2 |= 0x08;
if(digitalRead(e2))
Dig2 |= 0x10;
if(digitalRead(f2))
143
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Dig2 |= 0x20;
if(digitalRead(g2))
Dig2 |= 0x40;
//Digit 1
Dig1 = 0;
if(digitalRead(a1))
Dig1 |= 0x01;
if(digitalRead(b1))
Dig1 |= 0x02;
if(digitalRead(c1))
Dig1 |= 0x04;
if(digitalRead(d1))
Dig1 |= 0x08;
if(digitalRead(e1))
Dig1 |= 0x10;
if(digitalRead(f1))
Dig1 |= 0x20;
if(digitalRead(g1))
Dig1 |= 0x40;
//convert
index = 0;
Digits[index] = bcd_dec(Dig4);
index++;
Digits[index] = bcd_dec(Dig3);
index++;
Digits[index] = bcd_dec(Dig2);
index++;
if(digitalRead(pol))
{
Digits[index] = '.';
index++;
}
Digits[index] = bcd_dec(Dig1);
index++;
Digits[index] = 0;
}
byte bcd_dec(byte x)
{
x = x & ~0x80;
144
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
if(x==0)
return ' ';
if(x==(64))
return '-';
if(x==(1+2))
return '1';
if(x==(2+4))
return '1';
if(x==(1+2+64+16+8))
return '2';
if(x==(1+2+4+8+64))
return '3';
if(x==(2+4+32+64))
return '4';
if(x==(1+32+64+4+8))
return '5';
if(x==(1+32+16+8+4+64))
return '6';
if(x==(1+2+4))
return '7';
if(x==(1+2+4+8+16+32+64))
return '8';
if(x==(1+2+32+64+4+8))
return '9';
if(x==(1+2+4+8+16+32))
return '0';
return '0';
}
/*
SerialEvent occurs whenever a new data comes in the
hardware serial RX. This routine is run between each
time loop() runs, so using delay inside loop can delay
response. Multiple bytes of data may be available.
*/
void serialEvent() {
while (Serial.available()) {
char inChar = (char)Serial.read(); // get the new byte:
// Serial.print(inChar);
if(DataComplete == false) {
145
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
if(datacount == 0 && inChar != 'W') //check start charater
continue;
if(datacount == 1 && inChar != 'T'){ //check start charater
datacount = 0;
continue;
}
if(datacount == 2 && inChar != 'A'){ //check start charater
datacount =0;
continue;
}
void serialEvent1() {
while (Serial1.available()) {
char inChar = (char)Serial1.read(); // get the new byte:
// Serial.print(inChar);
if(DataComplete1 == false) {
if(datacount1 == 0 && inChar != 'W') //check start charater
continue;
if(datacount1 == 1 && inChar != 'T'){ //check start charater
datacount1 = 0;
continue;
}
if(datacount1 == 2 && inChar != 'A'){ //check start charater
datacount1 =0;
continue;
146
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
}
CHAMBER 2
double Lux;
147
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
double targetLux = 2000;
float Temp;
float targetTemp = 23;
float pH;
byte Dig1;
byte Dig2;
byte Dig3;
byte Dig4;
char Digits[8];
byte index;
#define on 0
#define off 1
#define BUFFSIZE 64
148
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
char Data[BUFFSIZE] ; // to hold incoming data
boolean DataComplete = false; // whether the string is complete
byte datacount;
char Data1[BUFFSIZE] ; // to hold incoming data
boolean DataComplete1 = false; // whether the string is complete
byte datacount1;
void setup()
{
Serial.begin(9600);
Serial1.begin(9600);
light.begin();
gain = 0;
unsigned char time = 2;
light.setTiming(gain,time,ms);
light.setPowerUp();
pinMode(Cooler, OUTPUT);
pinMode(Heater, OUTPUT);
pinMode(Light, OUTPUT);
pinMode(PumpA, OUTPUT);
pinMode(PumpB, OUTPUT);
digitalWrite(Cooler, off);
digitalWrite(Heater, off);
digitalWrite(PumpA, off);
digitalWrite(PumpB, off);
}
void loop()
{
if((millis() - Refresh) >= 1000){ //1 sec
Refresh = millis();
Read_Sensors();
149
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
digitalWrite(Cooler, off);
}
if(mode == 1)
{
if(Lux < targetLux)
{
if(inten < 255)
inten++;
analogWrite(Light, inten);
}
if(Lux > targetLux)
{
if(inten > 0)
inten--;
analogWrite(Light, inten);
}
}
else
{
analogWrite(Light, 0);
inten = 0;
}
}
if (DataComplete)
{
// Serial.println(Data);
if(strstr(Data, "PUMPON"))
{
digitalWrite(PumpA, on);
digitalWrite(PumpB, on);
}
if(strstr(Data, "PUMPOFF"))
{
digitalWrite(PumpA, off);
digitalWrite(PumpB, off);
}
if(strstr(Data, "LIGHTSON"))
150
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
{
mode = 1;
}
if(strstr(Data, "LIGHTSOFF"))
{
mode = 0;
}
if(strstr(Data, "COOLERON"))
{
digitalWrite(Cooler, on);
digitalWrite(Heater, off);
}
if(strstr(Data, "HEATERON"))
{
digitalWrite(Heater, on);
digitalWrite(Cooler, off);
}
if(strstr(Data, "CHOFF"))
{
digitalWrite(Heater, off);
digitalWrite(Cooler, off);
}
datacount = 0;
DataComplete = false;
}
if (DataComplete1)
{
// Serial.println(Data1);
if(strstr(Data1, "PUMPON"))
{
digitalWrite(PumpA, on);
digitalWrite(PumpB, on);
}
if(strstr(Data1, "PUMPOFF"))
{
digitalWrite(PumpA, off);
digitalWrite(PumpB, off);
}
if(strstr(Data1, "LIGHTSON"))
{
151
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
digitalWrite(Light, HIGH);
}
if(strstr(Data1, "LIGHTSOFF"))
{
digitalWrite(Light, LOW);
}
if(strstr(Data1, "COOLERON"))
{
digitalWrite(Cooler, on);
digitalWrite(Heater, off);
}
if(strstr(Data1, "HEATERON"))
{
digitalWrite(Heater, on);
digitalWrite(Cooler, off);
}
if(strstr(Data1, "CHOFF"))
{
digitalWrite(Heater, off);
digitalWrite(Cooler, off);
}
datacount1 = 0;
DataComplete1 = false;
}
}
void Read_Sensors()
{
//Read Turbidity
int sensorValue = analogRead(A0);// read the input on analog pin 0:
float voltage = sensorValue * (5.0 / 1024.0); // Convert the analog reading
(which goes from 0 - 1023) to a voltage (0 - 5V):
Serial.print("Voltage = ");
Serial.println(voltage); // print out the value you read:
Serial1.print("Voltage = ");
Serial1.println(voltage); // print out the value you read:
if (light.getData(data0,data1))
{
152
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
// getData() returned true, communication was successful
// Perform lux calculation:
light.getLux(gain,ms,data0,data1,Lux);
// Print out the results:
Serial.print("Lux = ");
Serial.println(Lux);
Serial1.print("Lux = ");
Serial1.println(Lux);
}
Read_Temp();
Serial.print("Temperature = ");
Serial.println(Temp);
Serial1.print("Temperature = ");
Serial1.println(Temp);
readPH:
Read_Data();
pH = atof(Digits) / 10;
if(pH < 1.1 || pH > 9.9)
goto readPH;
Serial.print("pH = ");
Serial.println(pH);
Serial1.print("pH = ");
Serial1.println(pH);
}
void Read_Temp()
{
byte i;
byte present = 0;
byte type_s;
byte data[12];
byte addr[8];
float celsius, fahrenheit;
if ( !ds.search(addr)) {
// Serial.println("No more addresses.");
// Serial.println();
ds.reset_search();
delay(100);
return;
}
153
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
// Serial.print("ROM =");
// for( i = 0; i < 8; i++) {
// Serial.write(' ');
// Serial.print(addr[i], HEX);
// }
// if (OneWire::crc8(addr, 7) != addr[7]) {
// Serial.println("CRC is not valid!");
// return;
// }
// Serial.println();
ds.reset();
ds.select(addr);
ds.write(0x44, 1); // start conversion, with parasite power on at the end
present = ds.reset();
ds.select(addr);
ds.write(0xBE); // Read Scratchpad
154
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
// Serial.print(present, HEX);
// Serial.print(" ");
for ( i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();
// Serial.print(data[i], HEX);
// Serial.print(" ");
}
// Serial.print(" CRC=");
// Serial.print(OneWire::crc8(data, 8), HEX);
// Serial.println();
void Read_Data()
{
//Digit 4
155
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
if(digitalRead(ab4))
Dig4 = 3;
else
Dig4 = 0;
//Digit 3
Dig3 = 0;
if(digitalRead(a3))
Dig3 |= 0x01;
if(digitalRead(b3))
Dig3 |= 0x02;
if(digitalRead(c3))
Dig3 |= 0x04;
if(digitalRead(d3))
Dig3 |= 0x08;
if(digitalRead(e3))
Dig3 |= 0x10;
if(digitalRead(f3))
Dig3 |= 0x20;
if(digitalRead(g3))
Dig3 |= 0x40;
//Digit 2
Dig2 = 0;
if(digitalRead(a2))
Dig2 |= 0x01;
if(digitalRead(b2))
Dig2 |= 0x02;
if(digitalRead(c2))
Dig2 |= 0x04;
if(digitalRead(d2))
Dig2 |= 0x08;
if(digitalRead(e2))
Dig2 |= 0x10;
if(digitalRead(f2))
Dig2 |= 0x20;
if(digitalRead(g2))
Dig2 |= 0x40;
//Digit 1
Dig1 = 0;
if(digitalRead(a1))
Dig1 |= 0x01;
if(digitalRead(b1))
Dig1 |= 0x02;
if(digitalRead(c1))
156
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Dig1 |= 0x04;
if(digitalRead(d1))
Dig1 |= 0x08;
if(digitalRead(e1))
Dig1 |= 0x10;
if(digitalRead(f1))
Dig1 |= 0x20;
if(digitalRead(g1))
Dig1 |= 0x40;
//convert
index = 0;
Digits[index] = bcd_dec(Dig4);
index++;
Digits[index] = bcd_dec(Dig3);
index++;
Digits[index] = bcd_dec(Dig2);
index++;
if(digitalRead(pol))
{
Digits[index] = '.';
index++;
}
Digits[index] = bcd_dec(Dig1);
index++;
Digits[index] = 0;
}
byte bcd_dec(byte x)
{
x = x & ~0x80;
if(x==0)
return ' ';
if(x==(64))
return '-';
if(x==(1+2))
return '1';
if(x==(2+4))
return '1';
if(x==(1+2+64+16+8))
return '2';
if(x==(1+2+4+8+64))
return '3';
157
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
if(x==(2+4+32+64))
return '4';
if(x==(1+32+64+4+8))
return '5';
if(x==(1+32+16+8+4+64))
return '6';
if(x==(1+2+4))
return '7';
if(x==(1+2+4+8+16+32+64))
return '8';
if(x==(1+2+32+64+4+8))
return '9';
if(x==(1+2+4+8+16+32))
return '0';
return '0';
}
/*
SerialEvent occurs whenever a new data comes in the
hardware serial RX. This routine is run between each
time loop() runs, so using delay inside loop can delay
response. Multiple bytes of data may be available.
*/
void serialEvent() {
while (Serial.available()) {
char inChar = (char)Serial.read(); // get the new byte:
// Serial.print(inChar);
if(DataComplete == false) {
if(datacount == 0 && inChar != 'W') //check start charater
continue;
if(datacount == 1 && inChar != 'T'){ //check start charater
datacount = 0;
continue;
}
if(datacount == 2 && inChar != 'A'){ //check start charater
datacount =0;
continue;
}
158
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
DataComplete = true; // set a flag so the main loop can do
something about it:
return;
}
void serialEvent1() {
while (Serial1.available()) {
char inChar = (char)Serial1.read(); // get the new byte:
// Serial.print(inChar);
if(DataComplete1 == false) {
if(datacount1 == 0 && inChar != 'W') //check start charater
continue;
if(datacount1 == 1 && inChar != 'T'){ //check start charater
datacount1 = 0;
continue;
}
if(datacount1 == 2 && inChar != 'A'){ //check start charater
datacount1 =0;
continue;
}
159
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
CHAMBER 3
double Lux;
double targetLux = 3000;
float Temp;
float targetTemp = 23;
float pH;
160
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
const byte a2 = 33;
const byte f2 = 31;
byte Dig1;
byte Dig2;
byte Dig3;
byte Dig4;
char Digits[8];
byte index;
#define on 0
#define off 1
#define BUFFSIZE 64
char Data[BUFFSIZE] ; // to hold incoming data
boolean DataComplete = false; // whether the string is complete
byte datacount;
char Data1[BUFFSIZE] ; // to hold incoming data
boolean DataComplete1 = false; // whether the string is complete
byte datacount1;
void setup()
{
Serial.begin(9600);
Serial1.begin(9600);
light.begin();
gain = 0;
unsigned char time = 2;
light.setTiming(gain,time,ms);
161
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
light.setPowerUp();
pinMode(Cooler, OUTPUT);
pinMode(Heater, OUTPUT);
pinMode(Light, OUTPUT);
pinMode(PumpA, OUTPUT);
pinMode(PumpB, OUTPUT);
digitalWrite(Cooler, off);
digitalWrite(Heater, off);
digitalWrite(PumpA, off);
digitalWrite(PumpB, off);
}
void loop()
{
if((millis() - Refresh) >= 1000){ //1 sec
Refresh = millis();
Read_Sensors();
if(mode == 1)
{
if(Lux < targetLux)
{
if(inten < 255)
inten++;
analogWrite(Light, inten);
}
if(Lux > targetLux)
{
if(inten > 0)
inten--;
162
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
analogWrite(Light, inten);
}
}
else
{
analogWrite(Light, 0);
inten = 0;
}
}
if (DataComplete)
{
// Serial.println(Data);
if(strstr(Data, "PUMPON"))
{
digitalWrite(PumpA, on);
digitalWrite(PumpB, on);
}
if(strstr(Data, "PUMPOFF"))
{
digitalWrite(PumpA, off);
digitalWrite(PumpB, off);
}
if(strstr(Data, "LIGHTSON"))
{
mode = 1;
}
if(strstr(Data, "LIGHTSOFF"))
{
mode = 0;
}
if(strstr(Data, "COOLERON"))
{
digitalWrite(Cooler, on);
digitalWrite(Heater, off);
}
if(strstr(Data, "HEATERON"))
{
digitalWrite(Heater, on);
163
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
digitalWrite(Cooler, off);
}
if(strstr(Data, "CHOFF"))
{
digitalWrite(Heater, off);
digitalWrite(Cooler, off);
}
datacount = 0;
DataComplete = false;
}
if (DataComplete1)
{
// Serial.println(Data1);
if(strstr(Data1, "PUMPON"))
{
digitalWrite(PumpA, on);
digitalWrite(PumpB, on);
}
if(strstr(Data1, "PUMPOFF"))
{
digitalWrite(PumpA, off);
digitalWrite(PumpB, off);
}
if(strstr(Data1, "LIGHTSON"))
{
digitalWrite(Light, HIGH);
}
if(strstr(Data1, "LIGHTSOFF"))
{
digitalWrite(Light, LOW);
}
if(strstr(Data1, "COOLERON"))
{
digitalWrite(Cooler, on);
digitalWrite(Heater, off);
}
if(strstr(Data1, "HEATERON"))
{
digitalWrite(Heater, on);
digitalWrite(Cooler, off);
164
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
}
if(strstr(Data1, "CHOFF"))
{
digitalWrite(Heater, off);
digitalWrite(Cooler, off);
}
datacount1 = 0;
DataComplete1 = false;
}
}
void Read_Sensors()
{
//Read Turbidity
int sensorValue = analogRead(A0);// read the input on analog pin 0:
float voltage = sensorValue * (5.0 / 1024.0); // Convert the analog reading
(which goes from 0 - 1023) to a voltage (0 - 5V):
Serial.print("Voltage = ");
Serial.println(voltage); // print out the value you read:
Serial1.print("Voltage = ");
Serial1.println(voltage); // print out the value you read:
if (light.getData(data0,data1))
{
// getData() returned true, communication was successful
// Perform lux calculation:
light.getLux(gain,ms,data0,data1,Lux);
// Print out the results:
Serial.print("Lux = ");
Serial.println(Lux);
Serial1.print("Lux = ");
Serial1.println(Lux);
}
Read_Temp();
Serial.print("Temperature = ");
Serial.println(Temp);
Serial1.print("Temperature = ");
Serial1.println(Temp);
165
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
readPH:
Read_Data();
pH = atof(Digits) / 10;
if(pH < 1.1 || pH > 9.9)
goto readPH;
Serial.print("pH = ");
Serial.println(pH);
Serial1.print("pH = ");
Serial1.println(pH);
}
void Read_Temp()
{
byte i;
byte present = 0;
byte type_s;
byte data[12];
byte addr[8];
float celsius, fahrenheit;
if ( !ds.search(addr)) {
// Serial.println("No more addresses.");
// Serial.println();
ds.reset_search();
delay(100);
return;
}
// Serial.print("ROM =");
// for( i = 0; i < 8; i++) {
// Serial.write(' ');
// Serial.print(addr[i], HEX);
// }
// if (OneWire::crc8(addr, 7) != addr[7]) {
// Serial.println("CRC is not valid!");
// return;
// }
// Serial.println();
166
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
// Serial.println(" Chip = DS18S20"); // or old DS1820
type_s = 1;
break;
case 0x28:
// Serial.println(" Chip = DS18B20");
type_s = 0;
break;
case 0x22:
// Serial.println(" Chip = DS1822");
type_s = 0;
break;
default:
// Serial.println("Device is not a DS18x20 family device.");
return;
}
ds.reset();
ds.select(addr);
ds.write(0x44, 1); // start conversion, with parasite power on at the end
present = ds.reset();
ds.select(addr);
ds.write(0xBE); // Read Scratchpad
167
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
int16_t raw = (data[1] << 8) | data[0];
if (type_s) {
raw = raw << 3; // 9 bit resolution default
if (data[7] == 0x10) {
// "count remain" gives full 12 bit resolution
raw = (raw & 0xFFF0) + 12 - data[6];
}
} else {
byte cfg = (data[4] & 0x60);
// at lower res, the low bits are undefined, so let's zero them
if (cfg == 0x00) raw = raw & ~7; // 9 bit resolution, 93.75 ms
else if (cfg == 0x20) raw = raw & ~3; // 10 bit res, 187.5 ms
else if (cfg == 0x40) raw = raw & ~1; // 11 bit res, 375 ms
//// default is 12 bit resolution, 750 ms conversion time
}
celsius = (float)raw / 16.0;
fahrenheit = celsius * 1.8 + 32.0;
// Serial.print(" Temperature = ");
// Serial.print(celsius);
// Serial.print(" Celsius, ");
// Serial.print(fahrenheit);
// Serial.println(" Fahrenheit");
Temp = celsius;
}
void Read_Data()
{
//Digit 4
if(digitalRead(ab4))
Dig4 = 3;
else
Dig4 = 0;
//Digit 3
Dig3 = 0;
if(digitalRead(a3))
Dig3 |= 0x01;
if(digitalRead(b3))
Dig3 |= 0x02;
if(digitalRead(c3))
Dig3 |= 0x04;
if(digitalRead(d3))
Dig3 |= 0x08;
if(digitalRead(e3))
168
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
Dig3 |= 0x10;
if(digitalRead(f3))
Dig3 |= 0x20;
if(digitalRead(g3))
Dig3 |= 0x40;
//Digit 2
Dig2 = 0;
if(digitalRead(a2))
Dig2 |= 0x01;
if(digitalRead(b2))
Dig2 |= 0x02;
if(digitalRead(c2))
Dig2 |= 0x04;
if(digitalRead(d2))
Dig2 |= 0x08;
if(digitalRead(e2))
Dig2 |= 0x10;
if(digitalRead(f2))
Dig2 |= 0x20;
if(digitalRead(g2))
Dig2 |= 0x40;
//Digit 1
Dig1 = 0;
if(digitalRead(a1))
Dig1 |= 0x01;
if(digitalRead(b1))
Dig1 |= 0x02;
if(digitalRead(c1))
Dig1 |= 0x04;
if(digitalRead(d1))
Dig1 |= 0x08;
if(digitalRead(e1))
Dig1 |= 0x10;
if(digitalRead(f1))
Dig1 |= 0x20;
if(digitalRead(g1))
Dig1 |= 0x40;
//convert
index = 0;
Digits[index] = bcd_dec(Dig4);
index++;
Digits[index] = bcd_dec(Dig3);
169
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
index++;
Digits[index] = bcd_dec(Dig2);
index++;
if(digitalRead(pol))
{
Digits[index] = '.';
index++;
}
Digits[index] = bcd_dec(Dig1);
index++;
Digits[index] = 0;
}
byte bcd_dec(byte x)
{
x = x & ~0x80;
if(x==0)
return ' ';
if(x==(64))
return '-';
if(x==(1+2))
return '1';
if(x==(2+4))
return '1';
if(x==(1+2+64+16+8))
return '2';
if(x==(1+2+4+8+64))
return '3';
if(x==(2+4+32+64))
return '4';
if(x==(1+32+64+4+8))
return '5';
if(x==(1+32+16+8+4+64))
return '6';
if(x==(1+2+4))
return '7';
if(x==(1+2+4+8+16+32+64))
return '8';
if(x==(1+2+32+64+4+8))
return '9';
if(x==(1+2+4+8+16+32))
return '0';
return '0';
170
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
}
/*
SerialEvent occurs whenever a new data comes in the
hardware serial RX. This routine is run between each
time loop() runs, so using delay inside loop can delay
response. Multiple bytes of data may be available.
*/
void serialEvent() {
while (Serial.available()) {
char inChar = (char)Serial.read(); // get the new byte:
// Serial.print(inChar);
if(DataComplete == false) {
if(datacount == 0 && inChar != 'W') //check start charater
continue;
if(datacount == 1 && inChar != 'T'){ //check start charater
datacount = 0;
continue;
}
if(datacount == 2 && inChar != 'A'){ //check start charater
datacount =0;
continue;
}
void serialEvent1() {
while (Serial1.available()) {
char inChar = (char)Serial1.read(); // get the new byte:
171
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
// Serial.print(inChar);
if(DataComplete1 == false) {
if(datacount1 == 0 && inChar != 'W') //check start charater
continue;
if(datacount1 == 1 && inChar != 'T'){ //check start charater
datacount1 = 0;
continue;
}
if(datacount1 == 2 && inChar != 'A'){ //check start charater
datacount1 =0;
continue;
}
import gi
import time
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk,GObject,Gdk,Pango,GLib
from wta_module import *
class Handler(object):
#WiredEvent def usercontrolEvent1(self,e) #add more events
def __init__(self,*param):
initUI(self,param,w=500,h=500,title="WiredGTKV1.0 Serial
Sample 2")
self.GTKForms()
self.sch=Scheduler(500)#500 ms
172
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
self.sch.Start()
173
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
self.create("{'Tag': '', 'Text': 'txtSend', 'Picture': '', 'BackColor':
'(1,1,1,1)', 'Enable': 'True', 'Height': '30', 'Left': '131', 'Visible': 'True', 'ForeColor': '(0,0,0,1)',
'Font': '', 'Events': '[[, ]]', 'Var': '', 'Name': 'txtSend', 'Top': '195', 'Help': '', 'Width': '170',
'ParentsType': ''}","Entry","usercontrol","[]")
self.create("{'Tag': '', 'Text': 'Entry1', 'Picture': '', 'BackColor':
'(1,1,1,1)', 'Enable': 'True', 'Height': '45', 'Left': '30', 'Visible': 'True', 'ForeColor': '(0,0,0,1)',
'Font': '', 'Events': '[[, ]]', 'Var': '', 'Name': 'Entry1', 'Top': '275', 'Help': '', 'Alignment': '',
'Width': '273', 'ParentsType': ''}","Entry","usercontrol","[]")
self.create("{'Tag': '', 'Text': 'Entry2', 'Picture': '', 'BackColor':
'(1,1,1,1)', 'Enable': 'True', 'Height': '39', 'Left': '30', 'Visible': 'True', 'ForeColor': '(0,0,0,1)',
'Font': '', 'Events': '[[, ]]', 'Var': '', 'Name': 'Entry2', 'Top': '320', 'Help': '', 'Alignment': '',
'Width': '273', 'ParentsType': ''}","Entry","usercontrol","[]")
self.create("{'Tag': '', 'Text': 'Entry3', 'Picture': '', 'BackColor':
'(1,1,1,1)', 'Enable': 'True', 'Height': '39', 'Left': '30', 'Visible': 'True', 'ForeColor': '(0,0,0,1)',
'Font': '', 'Events': '[[, ]]', 'Var': '', 'Name': 'Entry3', 'Top': '360', 'Help': '', 'Alignment': '',
'Width': '273', 'ParentsType': ''}","Entry","usercontrol","[]")
self.create("{'Tag': '', 'Text': 'Button1', 'Picture': '', 'BackColor':
'(1,1,1,1)', 'Enable': 'True', 'Height': '50', 'Left': '195', 'Visible': 'True', 'ForeColor': '(0,0,0,1)',
'Font': '', 'Events': '[clicked]', 'Var': '', 'Name': 'Button1', 'Top': '420', 'Help': '', 'Width': '100',
'ParentsType': ''}","Button","usercontrol","[['clicked', 'self,e']]")
self.create("{'Tag': '', 'Text': 'Button2', 'Picture': '', 'BackColor':
'(1,1,1,1)', 'Enable': 'True', 'Height': '50', 'Left': '300', 'Visible': 'True', 'ForeColor': '(0,0,0,1)',
'Font': '', 'Events': '[clicked]', 'Var': '', 'Name': 'Button2', 'Top': '420', 'Help': '', 'Width': '100',
'ParentsType': ''}","Button","usercontrol","[['clicked', 'self,e']]")
self.create("{'Tag': 'Activex', 'Text': 'socketClientTCP1', 'Port':
'5000', 'Picture': 'socketClientTCP.png', 'BackColor': '(0, 0.4305762015564615,
0.26882148398282424, 0.5)', 'Enable': 'True', 'Height': '30', 'Left': '260', 'Visible': 'True',
'ForeColor': '(0,0,0,1)', 'Font': '', 'Events': '[CommEvent]', 'Var': '', 'Name':
'socketClientTCP1', 'Top': '105', 'Help': '', 'Address': '192.168.0.106', 'Width': '28',
'BufferSize': '1024', 'ParentsType': ''}","socketClientTCP","usercontrol","[['CommEvent',
'self,conn,data']]")
self.create("{'Tag': 'Activex', 'Text': 'ctlcamCapture1', 'Picture': '',
'BackColor': '(0, 0.7003102981675472, 0.1469623646554371, 0.5)', 'Enable': 'True',
'Height': '30', 'Left': '250', 'Visible': 'True', 'ForeColor': '(0,0,0,1)', 'Font': '', 'Events':
'[frameReady]', 'Var': '', 'Name': 'ctlcamCapture1', 'Open': '', 'Top': '50', 'Help': '', 'Width':
'30', 'camindex': '0', 'ParentsType': ''}","ctlcamCapture","usercontrol","[['frameReady',
'self,frame']]")
self.create("{'Tag': '', 'Text': 'Image1', 'Picture': '', 'BackColor':
'(1,1,1,1)', 'Enable': 'True', 'Height': '160', 'Left': '355', 'Visible': 'True', 'ForeColor':
'(0,0,0,1)', 'Font': '', 'Events': '[[, ]]', 'Var': '', 'Name': 'Image1', 'Top': '150', 'Help': '', 'Width':
'225', 'ParentsType': ''}","Image","usercontrol","[]")
174
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
self.create("{'Tag': '', 'Text': 'Button3', 'Picture': '', 'BackColor':
'(1,1,1,1)', 'Enable': 'True', 'Height': '50', 'Left': '435', 'Visible': 'True', 'ForeColor': '(0,0,0,1)',
'Font': '', 'Events': '[clicked]', 'Var': '', 'Name': 'Button3', 'Top': '420', 'Help': '', 'Width': '100',
'ParentsType': ''}","Button","usercontrol","[['clicked', 'self,e']]")
self.create("{'Tag': 'Activex', 'Text': 'Timer1', 'Picture': 'Timer.png',
'BackColor': '(0, 0.4412343485122364, 0.9339420419253803, 0.5)', 'Enable': 'True',
'Height': '30', 'Interval': '1000', 'Left': '485', 'Visible': 'True', 'ForeColor': '(0,0,0,1)', 'Font':
'', 'Events': '[Tick]', 'Var': '', 'Name': 'Timer1', 'Top': '335', 'Help': '', 'Width': '30',
'ParentsType': ''}","Timer","usercontrol","[['Tick', 'self']]")
self.create("{'Tag': '', 'Text': 'Entry4', 'Picture': '', 'BackColor':
'(1,1,1,1)', 'Enable': 'True', 'Height': '30', 'Left': '545', 'Visible': 'True', 'ForeColor': '(0,0,0,1)',
'Font': '', 'Events': '[change-value, changed]', 'Var': '', 'Name': 'Entry4', 'Top': '345', 'Help': '',
'Alignment': '', 'Width': '170', 'ParentsType': ''}","Entry","usercontrol","[['changed',
'self,e']]")
def Widget(self):
if self._usercontrol in self._mainlayout.get_children():
self._mainlayout.remove(self._usercontrol)
return self._usercontrol
def Hide(self):
self._window.hide()
def Show(self,modal=False):
self._window.set_modal(modal)
self._window.show()
Gtk.main()
def SerialPort1_CommEvent(self,e):
while(e.available()):
c= e.read()
c=c.decode()
if self.parse1.available(c)==True:
self.txtRX.Text = self.parse1.data
if self.parse2.available(c)==True:
self.Entry1.Text = self.parse2.data
if self.parse3.available(c)==True:
self.Entry2.Text = self.parse3.data
if self.parse4.available(c)==True:
self.Entry3.Text = self.parse4.data
#import pdb;pdb.set_trace();
x="WTA" + self.myID + "," + self.txtRX.Text + ","+
self.Entry1.Text + ","+ self.Entry2.Text+ "," + self.Entry3.Text +"\n"
self.socketClientTCP1.sendall(x.encode())
pass
def btnOpen_clicked(self,e):
self.SerialPort1.Open=True
175
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
self.ctlcamCapture1.Open=True
#mega2560,uno(orig)= '/dev/ttyACM0'
#ch340,PL2303,cp230= '/dev/ttyUSB0'
#raspi builtin 40 pinstx,rx = '/dev/ttyS0' check using dmesg | grep
tty
#enable serial in raspi config menu
pass
def btnSend_clicked(self,e):
s=self.txtSend.Text+'\r'
self.SerialPort1.print(s.encode())
pass
def Button1_clicked(self,e):
self.SerialPort1.println("WTAPUMPON")
pass
def Button2_clicked(self,e):
self.SerialPort1.println("WTAPUMPOFF")
pass
def socketClientTCP1_CommEvent(self,conn,data):
pass
def ctlcamCapture1_frameReady(self,frame):
self.Image1.LoadPictureOCV=frame
self.bframe=frame
pass
def uploadx(self,fnamesrc):
if 1:#try:
#import pdb;pdb.set_trace();
print("syncning "+fnamesrc)
from shutil import copyfile
import ftplib
# import pdb;pdb.set_trace();
session = ftplib.FTP('192.168.0.106','pi','raspberry')
session.cwd("files/")
file = open(self.Path+fnamesrc,'rb') # file to send
fnamesrc="STOR " + fnamesrc
session.storbinary(fnamesrc, file) # send the file
file.close()
print("sync complete "+fnamesrc)
#except:
# print("No internet connection")
pass
def Button3_clicked(self,e):
176
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
import cv2
self.Path=app_path()+"/"
fname=self.myID + "_"+CreateFileName()+".jpg"
cv2.imwrite(fname,self.bframe)
self.uploadx(fname)
import os
os.remove(fname)
pass
def Timer1_Tick(self):
self.Entry4.Text= getCSV(2, ":",TimeToString())
pass
def Entry4_changed(self,e):
if self.Entry4.Text=="0":
self.Button3_clicked(None)
pass
if __name__ == "__main__":
_m = Handler()
_m._window.show()
Gtk.main()
177
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
III. SUPERPIXELS FUNCTION CODE
178
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
PRICE
MATERIALS
OVERALL
PHP
iBOX
1,710.00
PHP
Polyvinyl Chloride Board
2,580.00
179
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
PHP
LED Strips
1,080.00
PHP
Raspberry Pi 3 B+
10,000.00
PHP
Arduino MEGA uno
1,800.00
PHP
4-Channel Relay
600.00
PHP
Single Relay
240.00
180
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
PHP
12 V Power Supply
2,625.00
PHP
WebCam
753.00
PHP
Pin Connectors
240.00
PHP
MOSFET
210.00
PHP
TSL2561
651.00
181
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
PHP
SEN0189
1,725.00
PHP
pH level sensor
3,600.00
PHP
DS18B20
867.00
PHP
MCP3008
247.00
182
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
PHP
Aerator
2,100.00
PHP
5V Regulator
90.00
PHP
PC Keyboard
250.00
PHP
Chlorella vulgaris 6L
1,920.00
BG-11 Chemical PHP
components 10,000.00
PHP
51,819.00
183
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
SPECIFICATION
RASPBERRY PI 3 Model B+
184
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
4-Channel Relay
Single Relay
185
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
• Operating temp.& humidity: -10°C to 50°C (14°F - 122°F), 20%-93%RH (non-
condensing)
• Storage temp.& humidity: -20°C to 85°C (-4°F - 185°F), 20%-93%RH (non-
condensing)
• MTBF: 100,000 hours
• UL Ref. Number: E232014
• EMC Standards: GB9254, EN55022 classB, EN55024, EN61000-3-2,3, EN61000-4-
2,3,4,5,6,8,11
• Cooling Method: Convection
MOSFET
TSL2561
SEN0189
• Operating Voltage: 5V DC
• Operating Current: 40mA (MAX)
• Response Time: Insulation Resistance: 100M (Min)
• Output Method:Analog
• Analog output: 0-4.5V
186
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
• Digital Output: High/Low level signal (you can adjust the threshold value by
adjusting the potentiometer)
• Operating Temperature: -30 ℃~80 ℃
• Storage Temperature: -10℃~80℃
• Weight: 30g
• Adapter Dimensions: 38mm*28mm*10mm/1.5inches *1.1inches*0.4inches
PH level Sensor
DS18B20
187
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
MCP3008
• 8 analogue inputs
• Max. sampling rate per second: 200k @ 5V ; 75k @ 2,7V
• Interface: SPI
• Supply voltage: 2.7-5.5V
• Operating temperature: -40°C to 85°C
5V Regulator
188
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
G. DOCUMENTATION PICTURES
Analytic Balancer for amount measuring under grams for BG-11 chemical
component.
189
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
190
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
191
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
H. CURRICULUM VITAE
MA.CRIS E NOGALIZA
Blk 27 Lot 53&54 Hamilton Heights Subd.
Talon V, Las Pinas City, Philippines 1740
Contact No.: (+63) 9157313264
E-mail Address: ncrisiamar08@yahoo.com
OBJECTIVE
To seek a position that will help me deliver my best and to be with an organization where
I can continue to learn, sharpen my skills and offers professional growth.
EDUCATIONAL BACKGROUND
• Undergraduate, Bachelor of Science in Electronics Engineering
University of Perpetual Help System DALTA
Alabang-Zapote Road, Pamplona 3, Las Piñas City
192
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
193
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
PERSONAL BACKGROUND
194
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
SAAVEDRA, MICHAEL JON ALAIN LIBOON
Block 2 Lot 62, Veraville Regency Townhomes, Manuyo Dos,
Las PiñasCity,Metro Manila, Philippines
Mobile# (0956) 046-0705 / (0923) 259-2038
E-mail: michaelj.a.saavedra@gmail.com
CAREER OBJECTIVE
To gain valuable experience in an organization as an employee engineer where I can fully utilize
my educational background and skills and at the same time to be part of the company’s growth
EDUCATION
PROFESSIONAL REGISTRATION
➢ Passer Career Service Professional Examination, GWA 80.48%, Civil Service Commission,
October 23, 2016
ACHIEVEMENTS
▪ Passer Career Service Professional Examination, Civil ServiceCommission, October 23, 2016
▪ VCM Technician ID No. 31485210159, Commission of Election, May 9, 2016
195
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
SEMINARS AND TRAININGS ATTENDED
❖ MASTERPLAN: Redesigning the Philippine Urban Network Through Smart and
Innovative Engineering Towards a Sustainable Development, D.L. Umali Auditorium,
University of the Philippines Los Baños February 9, 2019
❖ WCETIS 2018- EAI World Congress,“Engineering and Technology; Innovation and its
Sustainability” ,Manila Philippines, November 28-29, 2018
❖ Guest Speaker – Basic Electronics Seminar, Bacoor Unida Evangelical School, Banalo, Bacoor
Cavite, August 17, 2018
❖ IECEP-MSC General Assembly 2017, “Hola! Excelentes y Compasivos Ingenieros” San Andres
Sports Complex, August 13, 2017
❖ IECEP-MSC General Assembly 2016 “HOOKE: Heeding Over Opportunities & Keeping
Engaged” San Andres Sports Complex, August 14, 2016
AFFILIATIONS
❖ Institute of Electronics Engineers of the Philippines Expanded Metro Manila Student Chapter,
Manila, Philippines, 2014-present: Member
❖ Mechatronics and Robotics Society of the Philippines, Taguig, Philippines, 2017: Member
196
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
ADDITIONAL SKILLS
• Office, AutoCAD, MATLAB, MPLAB, CX-Programming, Proteus, Multisim, Power Electronics,
NI Elvis Module, Arduino
PERSONAL BACKGROUND
Date of Birth: March 12, 1995 Religion: Roman Catholic
Age: 25 years old Nationality: Filipino
Place of Birth: Zamboanga City Height: 5’5’’
Gender: Male Weight: 121.25lbs
Civil Status: Single
197
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
OBJECTIVE
PERSONAL INFORMATION
EDUCATIONAL BACKGROUND
Tertiary Education
Bachelor of Science in Electronics and Communication Engineering
University of Perpetual Help System Dalta (UPHSD) – Las Piñas Campus, Philippines
June 2013 - Present
Secondary Education
Olivarez College, Parañaque, Philippines
March 2013
Elementary Education
Lycee D’ Regis Marie, Parañaque, Philippines
March 2009
SPECIAL SKILLS
198
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
• Computer Applications: Flash Media, MS Office, MS Outlook, MS Powerpoint, MS, Excel,
PDF.
• Engineering Skills: Basic knowledge on Arduino, Raspberry Pi, MPLAB, Matlab, Autocad,
Multisim and PCB Design, etc.
• Others: Operation of other office machines such as fax machine, photocopier, scanning
machines and telephone system.
ACHIEVEMENTS
199
UPHSD-LP-COE-AAF-25
COLLEGE OF ENGINEERING
CHARACTER REFERENCES
I hereby certify that above information are true and correct to the best of my
knowledge.
____________________
Adrian Santos Ferreros
200