Typically plants in nature have little control over their own fate; organism growth is constrained by physical and environmental factors. Based on ambient sensor data as well as plant-specific information, we can better understand the state of the organism and adjust its spatial position and water level.
The system consists of multiple parts, including:
- Arduino Nano, which receives and interprets sensor data
- Motor and wheel assembly, to move the plant to a suitable light source
- Photodiodes to measure ambient light levels at four equidistant points around the plant
- Moisture sensor to measure soil moisture levels, determining when the plant should receive water
- Ultrasonic sensors to determine the spatial position of the plant as well as to avoid collisions with stationary or incoming objects
- Wireless receiver and transmitter to send and receive plant sensor data for data analytics and analysis (not internet connected, although we have the option of doing so in the future)
- A React-based dashboard which can receive data from multiple plants and run data analytics to better understand current plant state at a glance as well as past trends
- Motion-sensitive RGB LED
We took care to lay out the design of the circuit to accommodate the sensors we wanted, although what we created is a rough prototype. Photos are available below.
What We Learned
As students primarily focused on studying software engineering, this project helped us push our boundaries and get a better understanding of both hardware and low-level software. We learned about circuit design and designing systems for various types of sensors.
We weren't able to fit everything onto one single breadboard because we were lacking in some hardware resources required to make the circuit design more compact and efficient.
We're excited by a future where plants can integrate themselves more usefully into our man-made environment, and wish to improve the capabilities of the system, including using plants natively as sensors themselves.