Upload
christine-mcgahhey
View
82
Download
0
Embed Size (px)
Citation preview
SMARTY PLANTS
Christine McGahhey Phys. Computing Project
December 8th, 2016
The Plant That Talks Back
OVERVIEW
Arduino Project Fall/Winter 2016
Process
1. Ideation
2. Planning
3. Initial Prototypes
4. First Fabrication
5. Final Prototype
6. Next Steps
IDEATION
Combine Technology and Gardening
● Current smart planters do all the work and sever the connection between the owner and the plant
● Technology is a useful tool that people can use to better communicate
● Merging modern technology with an age old pastime
Encourage People to Own Plants
● Plants reduce depression and allergies and help keep their owners healthy
● Many people are afraid of keeping plants because of fear of killing the plant
● How-To guides are often not much help for beginners
Nov. Week 1-2 Nov. Week 3-4 Dec. Week 1 Dec. Week 2 Dec. Week 3
PLANNING
Order Parts and find tutorials
Test Moisture Sensor
Connect LCD to Pot
Fabrication
Exhibition/Finalize
INITIAL PROTOTYPES
1 - Testing the Sensor and Screen
The very first prototype was a test to make sure the
moisture sensor gave readings and that those reading could
be displayed on an LCD screen and in the Serial Monitor.
The first readings were simple converted into percentages
and I analyzed this data to find the numbers for the ideal
amount of water to later convert into specific messages.
Parts/Materials:
Grove Moisture Sensor, Arduino, Breadboard, LCD Screen,
Wires, Potentiometer, Bowls with Soil, Water
2 - Creating Phrases and First Box
The second prototype converted the readings into different
phrases for the screen to display, based on moisture levels. I
added 5 unique phrases based on water levels; Drowning,
too wet, perfect levels, getting dry, too dry. All of the
phrases are sarcastic and can be customized as well.
Next, I made the first box out of poster board to cover the
Arduino unit and placed the pot on top.
Parts/Materials:
Grove Moisture Sensor, Arduino, Breadboard, LCD Screen,
Wires, Potentiometer, Plastic pot, Soil, Posterboard
Initial Prototype Findings
1. Reduce features that were originally planned (buzzer, LEDs) and focus on interaction
2. Create a clean looking box to store the pot and Arduino
3. Place the sensor at the bottom to hide the sensor and hide more precise readings
FIRST FABRICATION
First Box
The first box had an exposed top so the main issue was being able to see the wires when looking at the top, since there was no lid to cover it.
The chord also stood out because of the jarring red color, and the box had no other decorations to make it stand out. It was also a bit bulky and could be slimmed down more to make it easier to place on a shelf or windowsill.
Finally, since people are looking down when they water a plant, it seemed better to place the screen at the top rather than the side.
First Fabrication Findings
1. Add a lid to the top to cover all signs of wires
2. Change the chord color to black or white
3. Place the screen at the top of the device
4. Add more decoration to make the box unique
5. Place the Arduino on the side to protect from water damage
FINAL PROTOTYPE
Schematic
Code#include <LiquidCrystal.h>// include the LCD libraryLiquidCrystal lcd(12, 11, 7, 6, 5, 4);// Set pins as 12,11,7,6,5,4. It might be different for your LCD, check the producer catalog
//sensor codeint potPin = A0; //input pinint soil = 0;
void setup() {
// lcd rows and columns lcd.begin(16, 2);
Serial.begin(9600);
}void loop() { //sensor in serial monitor int sensorValue = analogRead(A0); Serial.println(sensorValue); delay(100);
// map the values int soil = analogRead(potPin) ; //bone dry message if (soil >= 950 && soil <= 1023) lcd.setCursor(0, 0); lcd.print("I'm so thirsty!"); lcd.setCursor(6, 1); lcd.print("X__X"); delay(2000); lcd.clear(); delay(2000); lcd.print("Water me or I'll"); lcd.setCursor(0, 1); lcd.print("die & haunt you"); delay(2500); lcd.clear(); lcd.setCursor(0, 0);
lcd.print("as a plant ghost"); lcd.setCursor(6, 1); lcd.print("X__X"); delay(2000); lcd.clear(); } //damp soil message else if (soil >= 700 && soil <= 949) { lcd.setCursor(0, 0); lcd.print("I'm drying out!"); lcd.setCursor(6, 1); lcd.print(">__>"); delay(2000); lcd.clear(); delay(2000); lcd.print("Do me a favor &"); lcd.setCursor(1, 1); lcd.print("actually care"); delay(2500); lcd.clear(); lcd.setCursor(0, 0); lcd.print("about my health"); lcd.setCursor(6, 1); lcd.print("<__<"); delay(2000); lcd.clear(); } //watered well message else if (soil >= 350 && soil <= 699) { lcd.setCursor(0, 0); lcd.print("I'm feeling good"); lcd.setCursor(6, 1); lcd.print("^__^"); delay(2000); lcd.clear(); delay(2000); lcd.print("What a surprise"); lcd.setCursor(0, 1);
lcd.print("you did your job"); delay(2500); lcd.clear(); lcd.setCursor(4, 0); lcd.print("for once"); lcd.setCursor(6, 1); lcd.print("^__^"); delay(2000); lcd.clear(); } //too wet messsage else if (soil >= 270 && soil <= 349) { lcd.setCursor(1, 0); lcd.print("I'm too soaked"); lcd.setCursor(6, 1); lcd.print("-__-"); delay(2000); lcd.clear(); delay(2000); lcd.setCursor(1, 0); lcd.print("Next time you"); lcd.setCursor(0, 1); lcd.print("water me try to"); delay(2500); lcd.clear(); lcd.setCursor(1, 0); lcd.print("pay attention"); lcd.setCursor(6, 1); lcd.print("-__-"); delay(2000); lcd.clear(); }
//too much water message else if (soil >= 0 && soil <= 269) { lcd.setCursor(1, 0); lcd.print("I'M DROWNING!!"); lcd.setCursor(6, 1);
lcd.print("O__O"); delay(2000); lcd.clear(); delay(2000); lcd.setCursor(2, 0); lcd.print("HELP! HELP!"); lcd.setCursor(1, 1); lcd.print("My owner is a"); delay(2500); lcd.clear(); lcd.setCursor(1, 0); lcd.print("complete moron"); lcd.setCursor(6, 1); lcd.print(">__<"); delay(2000); lcd.clear(); }}
Design Photos
5 Set Phrases
NEXT STEPS
CustomizabilityAllow the users to customize the messages themselves
LED Matrix Panel To display the character sprite of the user’s plant with emotions
Sound Feedback Add sounds to certain emotions so that the user knows when it’s talking to them while they’re in another room
Photocell Add a light sensor so that the pot can also read the light levels