automated irrigation

29
Automated Irrigation -Joe Dara, Abdulaziz and Shilpa

Upload: joe-abhishek

Post on 08-Jan-2017

196 views

Category:

Design


0 download

TRANSCRIPT

Automated Irrigation-Joe Dara, Abdulaziz and Shilpa

American Farms

✘ Huge in size (around 441 acres)

✘ Multiple types of crops

Activities of a farmer

✘ Take the cattle out for grazing and milk them.

✘ Meet other farmers to coordinate work.

✘ Plan and buy equipment for the farm.

✘ Water the farm, apply fertilizer and insecticides.

Current problems with irrigation ?!

✘ Daily inspection.

✘ Turn on the motors manually.

✘ Hire labor

Can we ?

✘ Can we automate daily inspection?

✘ Can we automate motor state?

✘ Can we cut down on time and costs?

Proposed Solution - Automated Sprinkler

Physical Prototype

Implementation

Components Required

RedboardHandles the connections and functioning of the sensors, motor and wifi unit.

Temperature sensorWe have customizable temperature intervals for different crops

Light SensorWe try to detect daylight and water the crop accordingly.

Soil Moisture SensorSoil moisture is an important component in our decision making.

ServoThis is the motor controlled by arduino which water the farm.

Wifi ShieldTo upload the data about the farms to the cloud.

The circuit

Arduino Wireframe

void setup() {

myservo.attach(8); // attach the servo on pin 8 to the servo object

pinMode(ledPin, OUTPUT); //the LED light is specified as output

Serial.begin(9600);

pinMode(inputPin1, INPUT); // make button 1 an input

pinMode(inputPin2, INPUT); // make button 2 an input

}

Code Breakdown - Setup

void loop() {

voltage = getVoltage(temperaturePin);

degreesC = (voltage - 0.5) * 100.0;

degreesF = degreesC * (9.0/5.0) + 32.0; // this is the conversion of temp

currentTime = millis();

lightLevel = analogRead(lightPin); //Read the lightlevel

lightLevel = map(lightLevel, 0, 900, 100, 255); //adjust the value 0 to 900 to span 100 to 255

lightLevel = constrain(lightLevel, 100, 255); //make sure the value is between 100 and 255

}

Code Breakdown - Reading the values

if (digitalRead(inputPin1) == LOW) {

motorState = true;

runMotor();

} else if (digitalRead(inputPin1) == HIGH) {

if(degreesF >= 30 && lightLevel >= 100 && soilMoisture <=20) {

if(currentTime - previousTime > interval) {

motorState = true;

runMotor();

}

}

}

if (digitalRead(inputPin2) == LOW) { motorState = false; }

Code Breakdown - Motor run logic

Data Visualization

Data Visualization

User EvaluationLet’s hear what the users say.

Our process is easy

Explain the idea

Perform some tasks

Open-ended questions

- Concept - Physical Model - User Interface

- Switch the system on- Check the status of your farm- Turn the motor on

- Do you think the sensors used are enough?

- Check the status of their farm- What is missing in the process?

We tested our prototype with three users

One female and two male, graduate students, 25 - 29

ConceptAll of the participants confirmed that this kind of device would save time and effort on farmers.

General feedback

PrototypeThe prototype shows the main functionalities of such a system and meets the basic requirements that a regular farmer would need to control and monitor his/her farm.

Limitations

#1: More sensorsTwo out of three users wanted to have more sensors to the system to watch the water level on the tanks. The other user wanted a sensor that can detect storms and heavy rain so she can switch the system off.

Recommendation: - Add a sensor that measures the water tanks level and updates the

user with the current status of the tank.- Either use a sensor that could detect heavy winds or just relay on the

weather APIs to connect the system with real time weather reports

Limitations

#2: Readings and wordingThe majority of our users didn’t understand the readings sensors for example, the light sensor 55 lux. Few words were not clear for our users such as “Motor on”.

Recommendation: - Describe the sensors’ readings with human friendly language such as

“Your farm needs more sunlight” instead of having values only- “Motor on” can be change to a more understandable phrase such as

“Watering now”

Limitations

#3: More integrations One user wanted to get some information about other local farms and how they monitor their farm. Another user wanted to get some suggestions from individuals or local companies which can help in harvesting crops.

Recommendation: - Use online resources to get information about other local farms which

would help other farmers to maintain their crops by learning other ways and strategies to monitor their farms.

- When it close to harvest, the system should notify the users to start looking up people or companies that he can pay to help with harvesting

User Comments

TrustP1 - “I would not trust the system to do everything by its own. I would have regular checks a day.”

P2 - “I would like to have a live view camera for each farm so I can check what is happening now.”

Farm StatusP3 - “The status message does not stand out because the middle graphics takes all the attention.”

Setup PageP3 - “I don’t see the setup screen, should I do the initial setting or the system does it for me?”

Current TimeP1 - ‘’Show me the real time clock on the interface so I don’t have to check my watch or phone everytime I need to know the time”’

Wires Vs. WirelessP2 - “In case of using wires, these wires might get disconnected if a rat, for example, bit them.”

LocationP2 - ”How would I adjust the location of the sensors because different locations give different readings?”

Future Work

● Learn more about farming practices from experts and explore other ways to improve our system.

● Use more sensors to detect severe weather conditions and empower users with more information about their farm status.

● Use internet connection to access online services such as weather data and cloud storage which allows users to get their farm information from anywhere and at anytime.

THANKS!Any questions?