Arduino Sun Tracking / Heliostat Program Download Page


Subscribe to my Feed!

On this page you will find the download location for the Arduino Sun Tracking / Heliostat Program. There are two versions, one for the Arduino Uno and another for the Arduino Mega which has more accurate Sun Position Calculations.

The feature list for this program is here.

If you have never used an Arduino before, I recommend that you first go through the official “Getting Started with the Arduino” documentation found at this link.

Make sure that you understand how to upload programs (AKA sketches), how to install libraries, and how to open the Serial Monitor before you continue.

Fair Warning

Although this program has been tested and used extensively by numerous individuals, there is absolutely no warranty for this program and there is absolutely no guarantee that it will preform as expected.

You are downloading the program and using it at entirely your own risk!

Keeping up with Program Updates and Bugs Fixes

The latest versions of the program are oftentimes posted on the forum before they are added to this page.

You can check for newer versions on this forum page.

EEPROM Format Program

Before attempting to use the Sun Tracking / Heliostat Program, you should first format the Arduino’s EEPROM. This can be done by downloading the “EEPROM_FLOAT_FORMAT” program below and then uploading it to the Arduino. Once this has been done, open the Serial Monitor. You should see “Writing to EEPROM” displayed first and then “Finished” a short while later. (Make sure you have the Serial Monitor’s Baud Rate set to 9600 if you only see gibberish.)

EEPROM_FLOAT_FORMAT

You should only have to do this once per Arduino as long you don’t upload another program besides the Sun Tracking / Heliostat Program that uses EEPROM.

Note: All the EEPROM format program does is format the EEPROM so that it contains nothing but the number 0 as a float repeated over and over again. When using one or several heliostats, the targets for each heliostat are stored in the EEPROM, so this program makes sure the altitude and azimuth for each one defaults to 0, not gibberish.

Set the Time on the Real Time Clock

To accurately calculate the position of the sun, the Sun Harvester Shield’s Real Time Clock (RTC) must have the correct time uploaded to it. This link will show you how to do it.

Setting the Time on the Real Time Clock

Arduino Uno Program Download

Here is the download link for the Sun Tracking / Heliostat Program that is able to fit on the Arduino Uno.

Updates!: Work is currently being done to add even more features to this program and fix a few bugs. Check out this forum page for the latest (although possible less stable) version of the program.

Warning! The Arduino Sun Harvester Program is not yet compatible with the latest version of the Arduino IDE.  Keep using version 1.0.6 until I have a chance to fix it.

Newest Version of the Program: SunTracking_Heliostat_Program_V098

Previous Version of the Program: SunTracker_Heliostat_Program_V097_e

Note: There is a bug with some of the older Arduino Unos that keeps them from uploading programs over 30kb. This is a pain since the Uno version of the Sun Tracking / Heliostat Program is larger than this. The problem can be fixed by using the method described on this post on the Arduino forum, but you will need another Arduino to do it.

Arduino Mega Program Download

Here is the download link for a Sun Tracking / Heliostat Program which is able to use more accurate sun position calculations  by utilizing the extra space available on the Arduino Mega.

Updates!: Work is currently being done to add even more features to this program and fix a few bugs. Check out this forum page for the latest (although possible less stable) version of the program.

Warning! The Arduino Sun Harvester Program is not yet compatible with the latest version of the Arduino IDE.  Keep using version 1.0.6 until I have a chance to fix it.

Newest Version of the Program: Mega_SunTracking_Heliostat_Program_V098

Previous Version of the Program: Mega_SunTracker_Heliostat_Program_V097_e

For now at least, the Uno and Mega programs are almost identical except for the fact that they use different algorithms for calculating the position of the sun. That may change in the future however since there is still a lot of space leftover on the Mega which may be utilized for future improvements.

 Install Libraries

Inside both of the above programs, you will find a folder named “libraries.” Make sure all of the folders inside this folder are installed in the Arduino IDE’s library folder before trying to upload either of the programs to the Arduino. The upload will fail if they are not installed.

Remember that you can find information on installing libraries at the “Getting Started with Arduino” link.

License / Acknowledgements

If you were curious, everything (unless stated otherwise) on my site is released under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States License.

Some of the included libraries were written by individuals other than myself. Credit goes to them.

Flash.h Library by Mikal Hart

Arduino Arbitrary Precision (Big Number) Library ported by Nick Gammon: Links are here and here.

Code for controlling the RTC by Maurice Ribble

Also, a huge thanks to Bob101 (unfortunantely I don’t know his last name) on this site’s forums for helping to get the more accurate sun calculations working smoothly on the Arduino Mega.

Another huge thanks to all of the many individuals who have helped test the program and squash all of the bugs!

Relevant Links

Main Project Page

Arduino Sun Tracking / Heliostat Program Setup

Setting the Time on the Real Time Clock

Forum Link

Sun Harvester Shield Wiring

Using the Arduino Sun Tracking / Heliostat Program

Subscribe to my Feed!