As part of the Ubiquitous Computing module of my Masters in Computer Science, we were tasked with creating a commercially viable product in the ubiquitous computing space. After a lot of deliberation our idea was to create a talking plant pot.
The project idea came about through my experience with growing herbs in my apartment. After a number of attempts, plants which I had grown had always died due to neglect. In some cases it would happen after a couple of weeks and in other cases it would happen after a couple of months. To try and solve this problem of motivation and engagement we decided to try and give the plant a personality. The reasoning was that a user would be less inclined to let a personality die than a plant, hopefully encouraging the user to take sustained care of the plant.
We planned to do this primarily using voice technologies. Initially we thought of using a synthesised voice however, when we tried this it sounded rather harsh. So we then moved to using samples from films and TV shows like Little Shop of Horrors, pulling audio samples of plants being thirsty or hot. Below are the initial designs that I came up with.
I did a quick 3D render of what I thought the pot might look like in SketchUp.
This is how I thought the python program would work. In the end it followed this very closely.
Here is the wiring layout we used.
The system is run by a Raspberry Pi which is hidden inside the plant pot. Soil moisture, light and temperature and humidity sensors monitor the status of the plant. Readings from these sensors are stored in a JSON file by a cron job which runs on boot. A motion sensor detects when the user is near the plant. It then reads the current status of the plant and delivers an appropriate response from the sample library.
Below I'm testing the soil moisture sensor.
To build the pot I built a simple box from some plywood. It was a bit of a departure from the original design but I was concerned about fitting everything inside.
A sealed tray was fitted into the box.
I think the finished result looks pretty good!
This was a fun project and the prototype we made worked well. Much more work would need to be done on the samples to really generate a sense of personality. It also would have been better to use an Arduino to avoid corruptions when plugging in and out. Below is a video of the prototype in action.
When I walk by the motion sensor an audio sample is played based on the status of the plant.