value of 100 to every temperature reading and then storing the
converted temperature. When the FIRES subroutine reads from
EEPROM, I subtract 100 to get the proper value to display. See
Figure 5 for an example of the display’s output.
was making, I noticed that sometimes disconnecting power
or program restarts might corrupt the EEPROM data.
LCD Display Code
There are five different display modes that may be selected
with the manual switches.
The default LCD mode shows: inside, outside, and fire
temperatures; time and date; exhaust vent stepper position and
what mode the vent may be in; opening, closing, or stable (refer
back to Figure 2). Note in the figures
there are two different lines
of text for the buttons. The upper line is
for the temperature mode and the lower
line is for the clock setting mode.
Pushing the right hand Daily Log
switch accesses the second mode.
This mode shows yearly low and high
temperatures, as well as daily low and
high temperatures (Figure 5).
Pushing the left or right hand lower
and raise buttons will select the fire
temperature limit display and show the
fire’s current burning time and how many
fires you have lit this year (Figure 6).
Holding either the lower or raise
button down for more than three
seconds will enable the temperature
setting subroutine. The subroutines
Raise TempLimit and Lower TempLimit
will change the low and high limit
temperatures, and thereby change the
display output, as well.
As you can see, controlling the temperature of a wood
fire is not as simple as it might appear. This project is quite
involved and I have only touched upon the majority of the
software code. In the next article, I will go into details of
hardware design, schematics, and parts sources for actual
Manual Switch Code
Holding down the right hand Set &
Hold switch and either one of the Hours
or Minutes switches accesses the final
program mode. This mode will not be
used very often; it is designed to set the
daily time of the clock if it should ever
lose accuracy (Figure 7).
Order Your Web-Enabled
Initial program setup and runtime
is also straightforward. Variables and
constants are declared and then setup
subroutines are called. As mentioned
earlier, the exhaust damper position
must be set and — in case something
drastic has happened and all EEPROM
values have been corrupted — the
setup routine will input initial EEPROM
values for temperatures.
This was simply done because
with all the constant code changes I
Buying electronic components can be
difficult with hundreds of thousands of
products to choose from. Jameco
solves the problem of finding the
products you need with the industry's
first and only web-enabled catalog.
The Jameco Catalog... Presents our
most popular products in a way that
makes it easy to compare
everything from franchise sourced
brands to house brands and
For More Information
Call 1-800-731-4242 or
The Jameco Website...
Once you've found the section you like
in the catalog, just use the product
category web code found on each
page to continue your search at
Jameco.com where you’ll find more
information, more choices, the latest
pricing and availability with none of the
complications that other websites have.
Jameco has everything you
would expect from a components
distributor, plus a few surprises.
Reach for Jameco first.
October 2008 39