Sunlight Detecting Flowerpot

A helpful/useless robot that helps your plants chase the light.

Interaction Highlights

INTRODUCTION

As part of my Physical Computing project, I set out to create a helpful or not helpful device that changes how I interact with an everyday task.

The result is a Sunlight-Detecting Flowerpot Platform that automatically adjusts and maintains its position when I am uncertain about the most suitable spot on my windowsill for optimal plant growth.

Inspiration

Brainstorming

Initial Design:

  • A bottom disc driven by a motor controls the orientation of the flower pot.

  • A second motor above the rotatable disc adjusts the tilt angle of the flower pot.

  • A fixture at the top securely holds the flower pot in place.

Improved Design:

  • Uses a linear belt drive to move the flower pot.

  • A motor on one side drives gears that move the belt, shifting the flower pot along the platform.

  • A bracket on the platform supports a photocell positioned next to the flower pot to detect sunlight intensity.

  • When the sunlight intensity reaches a specified value, the motor stops, and the linear belt maintains the platform at its current position.

Concept Sketch

Succulent plants do not require very regular watering, but they have strict requirements for lighting conditions. Inadequate sunlight can cause succulent leaves to grow excessively. On the other hand, excessive sunlight can lead to the loss of moisture and cause sunburn. 

There are many smart watering pots on the market, but few pots can adjust the sunlight environment to meet the needs of succulents. Therefore, I want to attempt a proof of concept by using Circuit Playground Express, photocell, 3D printed parts, motors, linear belts, and gear sets to complete this device.

Fabrication

Step 1: Measured the dimensions needed to fit the motors and other components. 

Step 2: Drafted 3D models using Onshape, including a movable platform, two bases to hold the motors.

Following advice from my professor, I added fillets to the support columns between the platform and the cylindrical rails to increase the strength of the components. 

Additionally, anticipating that 3D-printed rails might not be smooth enough due to additional support during printing, I purchased 3/16-inch wooden rods. Also, I purchased a linear belt and gear set through online shopping.

Platform

Breadboard/CPX/LED

Assembly

End bracket

Photocell

  • During assembly, two components broke, which I salvaged using superglue.

  • The remaining components were connected on a breadboard.

  • An LED indicator was added, improving debugging efficiency.

  • The photocell was connected using alligator clips.

  • The device was secured onto a cardboard base.

Areas for Improvement:

While all major functions are working as intended, there are many issues:

  • Bulky photocell support

  • Fragile 3D-printed parts

  • Belt misalignment

  • The assembly relied heavily on cardboard and tape.

Iteration 1

Iteration 2

Improvements Made to 3D Printed Parts

Improvements in Iteration 2:

  • Better belt and gear alignment

  • Smoother motor operation

  • Slimmer photocell support with wooden rod

  • Larger flowerpot platform

  • Redesigned motor bearings

  • Added Mode 3 for automatic sunlight tracking

Mode

Mode 0: Standby mode.

Mode 1: Testing mode, used to check the interaction between the linear belt and the gears.

Mode 2: Detection mode. Upon button press, the platform checks sunlight intensity at the extremes. If sufficient light is detected, the platform stops, signaling completion with a red LED. If light is insufficient, the platform moves left and right three times before returning.

Mode 3: Sunlight Tracking Mode. Tracks sunlight using RTC DS1307 (Real Time Clock) Between 7:00 and 18:59, the platform follows sunlight. From 19:00 to 6:59, it ONLY displays current time. When reaching the limit while tracking, the platform resets to its initial position.

Reset Button: To prevent jamming, a reset feature is implemented.

Advanced Components

DS1307 is a great battery-backed real time clock (RTC) that allows microcontroller project to keep track of time even if it is reprogrammed, or if the power is lost.

Download Circuit Python Code

Final Assembly

Bad Example of Support Planning

Challenges and Lessons Learned

This project taught me CAD modeling with parametric design and broadened my understanding of how it differs from polygon modeling software.

I got used to using a caliper and leaving proper allowances for tolerance, and I learned how to plan the placement of 3D printing supports to prevent damage when removing parts. I also learned the importance of careful circuit layout to prevent short circuits.

In addition, this project helped me gain a deeper understanding of the possibilities of the Adafruit Circuit Playground Express. Many features, such as audio output, lighting effects, motion sensors, and capacitive touch, were not used in this iteration, but I hope to keep explore and apply them in my future projects.