Introduction: Arduino Sun Tracker Turret

About: The RobotGeek team is a 6-man operation that wants to make it even easier to use Arduino to make electronics and robots. Check out our instructables and robotgeek.com for all of our awesome kits.

Follow the sun with Arduino! In this tutorial, we'll be building an Arduino based Solar Tracking Turret. Most commonly, these are used in Photovoltaic systems to maximize the surface area of sun exposure on solar panels. This is an easy build, so let's get started!

Step 1: Project Parts List

You can use any variety of light sensor, potentiometer, or hobby servo, but for this guide, we recommend the following parts for ease of use.

Step 2: Assemble the Turret

Follow the Desktop RoboTurret Assembly Guide. Once your turret is built, there are many ways to build the top portion of the tracker. General advice for building the top portion: Attach your sensors to the top plates as close to center as possible. Shown in the first picture is the simplest way to get all of your sensors near center. Notice the wiring through the plate, kept loose so that there aren't any snags as the turret aims itself. The fins are 8 inches tall, which should be plenty to cast shadow on the sensors. I've used scrap cardboard for the fins, but you can use whatever material suits you best, so long as it is opaque and can throw a shadow. At the back of the turret base, there is plenty of room to mount your two potentiometers. one controls speed, the other controls the sensitivity threshold for the light sensors. Mounting them to the base allows you to fiddle with them to easily dial in your settings once you have it running.

Step 3: Wiring

Follow the Wiring Diagram carefully to hook up your electronics. Mind the position of your Light Sensors, as putting them in the wrong spot will cause strange behavior. Also mind that your jumper for the servo pins 9, 10, and 11 is set to VIN, so that your servos function properly. (note: a 6V power supply will work just fine, and is included in the RoboTurret Kit)

DeviceSensor Shield Port
Top Left Light Sensor RobotGeek Light SensorAnalog 0
Top Right Light Sensor RobotGeek Light SensorAnalog 1
Bottom Left Light Sensor RobotGeek Light SensorAnalog 2
Bottom Right Light Sensor RobotGeek Light SensorAnalog 3
Turret Speed RobotGeek Rotation KnobAnalog 4
Light Sensor Sensitivity RobotGeek Rotation KnobAnalog 5
Pan RobotGeek 180 Degree ServoDigital 9
Tilt RobotGeek 180 Degree ServoDigital 10

Step 4: Programming

Download the desktopRoboTurretV3 sketches from Github if you haven't already, and extract it to your arduino folder. Open up:

File → Sketchbook → desktopRoboTurretV3 → roboTurret3_solarTracker

and upload it to your arduino.

Power up your turret, get a lamp ready, and start fiddling with the knobs! You'll notice as you adjust one of the knobs, the turret will turn faster or slower. As you adjust the other, the light sensitivity will rise and fall, giving you different behavior. Adjust these knobs until your turret tracks the light smoothly, and you're ready to get some sunburn!

Step 5: Let There Be Light!

You've made a robot that just can't help but stare directly at the sun! What will you do now? We'd suggest looking into making your own solar panel to throw on it so you can reclaim the energy lost by the servos and maybe charge a cell phone while you're at it? What would happen if you swapped out the Light Sensors for something like a Flame Sensor or UV Sensor? Let us know what you come up with, we'd love to see it!