Applying a data acquisition system (DAQ) to record sunlight intensity throughout the day makes perfect sense to me. Required hardware is minimal, and working through the related software challenges is
a great learning experience.
I first considered using the standard Arduino serial
monitor as my user interface, but the MakerPlot package
as an alternate approach provides a much more visually
interesting display capability. Plus, MakerPlot can provide
Real Time Clock (RTC) services to the Arduino
microcontroller, which is an important requirement for
implementing the sort of scheduling functionally
envisioned for this project.
The hardware and software described here comprise a
small real time DAQ that currently measures and plots
sunlight intensity over a period of time. Instead of sunlight
intensity, the system could plot anything that can be
converted to a 0-5 VDC signal level for the Arduino Uno’s
analog inputs (for example, greenhouse light levels and/or
temperature, aquarium temperature, weather station data,
or even the RPM of a hamster’s exercise wheel!).
Although only one analog variable is tracked in the current
application, expansion up to 10 is trivial. Digital on/off
data can also be plotted.
The Arduino/MakerPlot/Time library package
described here is a perfect platform to collect data from
or otherwise monitor the behavior of small laboratory
Besides creating a 10 hour profile plot of sunlight
intensity, I wanted the application to provide a means to
set up the next day data collection start time the night
before, and then have it capture the required solar
intensity data for the desired 10 hour period without any
further attention from me. After the plot start time is
entered, a numeric display field shows remaining minutes
in the countdown period until plot start.
The application captures a jpg image of the data plot
and Event Log, and saves it to the PC’s hard drive prior to
shutting down at the end of the plot period. A collection
of recent 10 hour plots can be seen in Figure 1.
Finally, for reassurance that all is in sync, a display
field on the MakerPlot user interface shows what time
the Arduino is using so it can be visually checked for
agreement with PC time.
A system will be described which generates a
plot of solar intensity on a PC monitor over
the period of a 10 hour day. It can be armed to
start the plot at any specified future time.
MakerPlot (data acquisition and graphical
plotting software for microcontrollers)
replaces the Arduino built-in text based serial
monitor with a visually interesting display of
graphical components consisting of meters,
switches, and text/numeric display fields.
Data collected is preserved for further study
both graphically (automatic plot screen
captures) and in text based log files.
Significant tutorial Arduino/MakerPlot
interaction aspects will be discussed, as well
as hints to bypass delays or bugs in future
development or enhancement activity.
42 August 2017
FIGURE 1. A collection of
recently captured sunlight
Solar Intensity Monitor
An Arduino Uno/MakerPlot Data Acquisition Project