Our project is an autonomous Sunflower. As in nature, the highest priority for our flower is sunlight, necessary for photosynthesis. Our Arduino controlled sunflower is constructed using 3D printing and laser cutting technologies. Primarily, our flower finds and follows the brightest source of light. This flower is different than your typical sunflower, because when a person comes close enough, the flower moves its petals to acknowledge their presence. We were able to utilize Shape Memory Alloy (SMA), in the form of a nickel/titanium alloy (Nitinol), to facilitate the opening and closing of the flower's petals. Our goal was to combine technology with a green initiative to create a truly interactive plant.
Here's a link to a short video of the sunflower in action!
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Prototyping
We used a simple motor driver circuit with an SN754410 H-Bridge to run the motor in this prototype. The motor was powered by a 6-volt lantern battery.
Here's a video of the prototype in action:
Step 2: Acrylic Base
Measure the flower pot inside diameter at the bottom and top of the pot. Use these dimensions to design a base that fits inside the pot snugly. Ours is made out of ¼” thick clear acrylic, and is composed of 3 circular parts and two flat-sided boxes. The lower box holds the motors inside, and has bolt holes cut out for mounting the motors. The upper box holds the PVC pipe fitting on both sides, which makes it nice and sturdy, providing a good support for the PVC stem. Cut out the parts on the laser cutter, using ¼” acrylic. Make sure you do enough passes so that the laser cuts all the way through.
Assemble the case using the acrylic glue, making sure the parts are squared up snugly with each other; use a clamp to hold them in place while the glue sets.
We cut a hexagonal piece of acrylic that fits around the PVC hex fitting that holds it tightly and keeps it from spinning.
Step 3: Flower Petals
This step involves constructing petals for our flower. We wanted to make petals that moved in response to some stimulus. We also wanted to have the petals display a less robotic movement. After some research on Shape Memory Alloys (SMA), Flexinol muscle wire was chosen as the material of choice. When heated, Flexinol contracts to 3-5% of its length and returns as it cools. It is a robust material that can be cycled millions of times and is easily controlled by Arduino. Our favorite part about this material is the organic motion that it gives the flower!
The petals are constructed from a heavy card stock paper as the main support material. The muscle wire is then attached to one side of the paper petal. The circuit is completed using copper tape since it is flexible, solderable and generally easy to work with. The Flexinol is crimped at both ends and soldered at the crimps to the copper tape. Once in place, the wire can be sewn using a needle and thread to the paper.
When a current is passed through the Flexinol, it contracts, causing the petal to bend inward (on the side the wire is attached to). As the wire cools, the paper stretches the wire out and the petal returns to its original shape.
We used a synthetic fabric to wrap the paper petals to give them a more aesthetically pleasing look. This was done by cutting out a piece of fabric for the front that was slightly larger than the paper petal. Fold the edges over and glue using a hot glue gun. The back side of the petals was covered in the same manner, but using a piece of fabric that was the same size as the petal, for a nice clean fit.
Here's a video of our first test of the muscle wire petal:
Here's a video of all the muscle wire petals in action, mounted to the neck:
Step 4: Motor Mounts and Pulleys
In this step we laser cut some 1/4" acrylic for mounting the stepper motors to either side of the motor/circuit box. We wanted to make sure the motors had strong mounts since there would be a fair amount of torque. The motor mounts were then glued to the motor box with acrylic glue.
The next step was to laser cut some pulleys out of 1/8" acrylic. The pulleys consisted of 3 pieces each. An outer piece and an inner piece which were the same size. These flanked the central piece which was slightly smaller diameter. The outer and inner pieces were chamfered so the monofilament would not slide off the pulley. These pieces were then attached with bolts and glued with acrylic glue.
Step 5: Neck and Face
Enter SolidWorks and 3D printer. Solidworks is a 3D modeling program that allows you to design anything that you can imagine, and a 3D printer allows you to create, in 3D, a real, usable object. The design for the neck is similar to the prototype that we created with copper pipe, but is bigger (to allow wires to pass through), it has more segments (each segment is shorter) and the pivots are positioned at 45 degree intervals (to allow for more fluid motion).
The neck is made up of 7 identical links. These links are designed so that one end will fit inside the other and join using simple pins and holes.The entire neck and head are all printed at once, meaning no assembly required! *Be sure to allow enough clearance space between the pin and the hole so that the printer can place support material between them. If there is not enough space, the parts will melt together and will not move relative to each other.
Here's a quick clip of the neck prototype visualized in SolidWorks:
Step 6: Stem
The stem is what connects the flower pot and the electronics in it to the moving head and the sensors imbedded in it. It is made from 1-1/4" PVC pipe, 1/2" copper pipe and 1/4" acrylic. Designing the stem was probably the most challenging part of the project since the stem is multifunctional. It houses the electronic wires (to control the petal movement and to carry signals from the proximity sensors and the photoresistors), the control cables (fishing line), and it houses the limit sliders.
To make the PVC part, cut it down to 12" in length, and cut 3mm wide grooves in the stem (tracks for the limit sliders) 9mm long using a cutoff saw. Our saw cut perfect width slots to fit the 1/8" acrylic. These slots must be 90 degrees away from each other and we chose to put them at different ends of the tube.
End Caps: The end caps are made from two pieces of 1/4" acrylic glued together. The outer diameter is the same on both, but the inner diameter on the inner piece is just big enough to slide over the end of the copper pipe, while the outer piece hole diameter is a bit smaller so that it doesn't slide over the pvc. With both end caps in place, the copper pipe is hels firmly in the middle.
Limit Sliders: The limit sliders are built using two pieces of acrylic. The 1/4" piece is cut on the laser cutter and then shaped using sandpaper match the inside of the pvc. It has a slot in it to receive the 1/8" thick piece, which is glued in place. slide up and down in tracks cut into the PVC stem. On each end of the tracks, a momentary pushbutton is installed (with hot glue) so that as each limit slider arrives at the end of the track, it depresses the pushbutton. These buttons are wired up to the Arduino so that the program can turn off the motors when the neck reaches the end of its travel. Tie a 3 foot section of the 25lb test fishing line to each side of each limit slider, and install the sliders in the PVC tube and run the fishing line through the corresponding holes in the end caps.
Step 7: Control Circuits
Here are the two custom circuit boards that we designed for the project. The first board handles the limit switches and the photo resistors. There are 2 photoresistors and 2 limit switches per axis. The axes are designated North/South and East/West.
The second board is a dual variable-voltage regulator with MOSFET switches to control the muscle wire petals. This board serves two purposes. The variable voltage regulator is needed because we have two different diameters of Flexinol muscle wire (200 um and 250 um), which require 11.5V / 600mA and 12V / 1A respectively. Since the muscle wire pulls more current than the Arduino can handle (500 mA max), we use a MOSFET to turn on each circuit with the Arduino.
Step 8: Custom Wiring
We had to make several custom cables to make the project look nice and allow easy disassembly and reassembly. We used mostly Cat-5 single stranded cable since it allowed for easy identification of sensors by color.
We ended up using 4 power supplies, connecting all of their grounds to each other as well as the arduino and our control circuits.
Step 9: Assembly
This was the most challenging part of the process. We had to fish all the cabling through the neck and stem (through the conduit), and then we neatly routed and secured it in the base. The really difficult part was doing this while neatly routing the monofilament control line through the stem and attaching to the head and motors. These series of pictures give a good idea of the general assembly process.
Step 10: Finishing Touches
To make our sunflower look real, we painted it and 'flocked' it. Flocking is the fuzzy stuff that you see on the surface of fake flowers or christmas decorations. This involves a few steps:
1. Masking - Taping off areas that you don't want to paint. We used plastic bags to cover the bigger areas (the pot and the flower head) and masking tape for the smaller areas.
2. Painting* - We used ordinary spay paint, with a few coats. While it was still wet, we applied the...
3. 'Flocking' - This stuff comes in a shaker bottle (similar to kitchen spices) and is sprinkled on the paint as it is drying. The instructions recommend using spray adhesive, but applying it directly to the wet paint worked perfectly.
4. Removing masking - When the paint has dried and you are done flocking, pull off the masking, being careful not to pull up the paint.
5. Touch up - Use a paintbrush or a toothpick to paint in any areas that you missed with the spray paint. We just sprayed the paint into a cup and used that to touch up. Remember to flock the areas that you touched up!
*Paint in a well-ventilated area, and wear proper saftey gear, like a respirator.
To make the mossy grass for the flower pot, we cut out a piece of cardstock paper so that it sits on top of the acrylic pase and fits inside the rim of the flower pot. We cut a hole in the middle for the stem and a slit from the outside to the center so that we could put it on and take it off. We then used hot glue (or hot goo, as we like to call it) to apply the moss to the paper.
Step 11: It's Alive!
It was a lot of work over the 6 week time period. We have a few improvements we'd like to add to the sunflower. We'd like to clean up the power supply situation. We plan on using an ATX power supply harvested from an old desktop computer to avoid all the unnecessary AC to DC converters we're using now. We would like to reduce the torque requirements from the motors by adding a gear drive to each of the motors. The main issue we had requiring more torque was the use of a thermal camera in our prototype. The sunflower's hardware and firmware currently support the use of a thermal camera to track warm objects (ie: humans and other mammals), but the added weight of the head with the camera mounted overpowered our motors.
We hope you have enjoyed our project as much as we have creating it! Please post comments with questions/suggestions/etc as we would love some feedback!
Participated in the
Participated in the
Make It Real Challenge
Participated in the