Hodnotenie používateľov: 5 / 5

Hviezdy sú aktívneHviezdy sú aktívneHviezdy sú aktívneHviezdy sú aktívneHviezdy sú aktívne
 

Team members:
S06 Marek Drgoňa
S11 Veronika Klaciková

Link to the EA project

Link to wikifactory project presentation: https://wikifactory.com/+fablabbratislava/plant-monitoring

Goals and Expectations

Our goal is to propose a system used for monitoring plants, which collects data from sensors (such as temperature, humidity, etc.) and evaluates them. System also notifies user when measured values are different from recommended values for specific monitored plant.
Our expectations from this project are:
  • gain knowledge about growing plants
  • improve skills in Enterprise Architect
  • gain basic experience with hardware

Personas

We identify the following personas:
  • gardener
  • inexperienced plant grower
  • busy or lazy man
  • man away from home for a long time
Their problems and needs are shown in diagram

Functional requirements

Non-functional requirements

Components

  • Controller is receiving data measured by sensors. Sensors are inserted into the soil or are placed nearby the plant.
  • Controller receives data from Mobile app (e. g. optimal values for every measured attribute). Controller is connected to Mobile app through Wifi adapter or Bluetooth adapter.
  • When connected to Mobile app, user can check status of a plant in Mobile app in real time. Even if Mobile app is not connected, plant status is still reported by LED lights.
  • Controller is also controlling Watering system, which waters the plant if necessary.
  • Controller is also connected to other needful components, such as board and wires.

State diagram

System must be initialized before any further action. It includes connecting to the mobile app, loading libraries, etc.
When done, the system will start measuring data through sensors every 10 second. In parallel, user can open the mobile app and register a plant. System has access to a database of plants and their optimal values of several attributes (e. g. temperature, humidity). As the database doesn't contain every plant, user must enter the optimal values of missing plants manually.
When the plant if finally identified, system starts reporting status of the plant by checking whether or not is the measured data in the optimal range. If the measured data is in the optimal range, status of the plant is OK. In case the measured data is out of the optimal range, system will keep monitoring the plant. If the values are out of the optimal range repeatedly for at least 1 hour, status of the plant is NOT OK. This condition was added especially for cases when the measured data drops out of the optimal range and then back in, to prevent the user to be notified when it's not really needful.

Mobile application

Wireframes of a mobile application for plant monitoring system:

1st screen

List of registered plants.
Red exclamation mark indicated that the plant is NOT OK, meaning that not all measured attributes are in the optimal range.
Green check mark indicated that the plant is OK, meaning that all measured attributes are in the optimal range.
Click on a plant to show more information about its status.
Click on + to add a new plant.
Search the list by typing into search box.

2nd screen

More information about status of the plant Golden pothos.
The plant name is also highlighted by green color to indicate that status is OK.
Graphs displays values of the measured attributes over time. Optimal range is highlighted by green color. Values out of the optimal range are highlighted by red color.
Explanation for the 2nd graph: air humidity used to be out of the optimal range, but it's in the optimal range, so the status is OK now.

3rd screen

More information about status of the plant Aloe vera.
The plant name is also highlighted by red color to indicate that status is NOT OK.
Graphs displays values of the measured attributes over time. Optimal range is highlighted by green color. Values out of the optimal range are highlighted by red color.
Explanation for the 3rd graph: soil moisture is out of the optimal range, highlighted by red color. Optimal range is highlighted by green color and in this case, it's lower than the measured values, so the user will know that the plant was overwatered.

4th screen

Adding a new plant - philodendron.
After typing 'phil', the app suggests a list of philodendrons.

5th screen

Adding a new plant - oxalis triangularis.
After typing 'oxalis triangularis', no results were found, however the user can still add the plant.

6th screen

After adding a new plant - oxalis triangularis, user has to manually set optimal values of the measured attributes.

Used components

Arduino Uno R3

Price: 24.90€
Quantity: 1

LM393 soil moisture sensor

Price: 2.00€
Quantity: 1

DHT22 air temperature-humidity sensor

Price: 6.20€
Quantity: 1

LCD display

Price: 3.30€
Quantity: 1

LED lights

Total price: 0.15€
Quantity: 3

Other

Approx. 15€
Total price is approx. 51.55€
My price was higher (approx. 110€) , because I bought Arduino starter kit, which includes components suitable for more other projects.

Wiring scheme

Illustrations

 

LEDs Testing

In publication https://extension.uga.edu/publications/detail.html?number=B1318&title=Growing Indoor Plants with Success are shown recommended conditions for many kinds of plants.
We searched our monitored plant and found out, that recommended conditions are the following:
  • Temperature min: 18.3 C
  • Temperature max: 23.9 C
  • Humidity min: 5%
  • Humidity max: 25%
  • Soil moisture min: 10%
When the measured data are different from recommended for at least 1 hour, corrensponding LED starts shining:7
  • green: temperature
  • blue: humidity
  • red: soil moisture
Photo before evaluation (no LED is shining)
Photo during evaluation (blue and green LEDs are shining)

Future work