Specifications
125
on the display and also reports to the main microcontroller what has been
touched on the screen. The display is composed of a home screen and several
sub screens. The home screen displays the logos of the sponsors, the current
indoor conditions, the set points for temperature and relative humidity, the max
comfort / max savings settings, and the energy usage bar.
The software design process is another obstacle to overcome. The programming
involves the “brains” of the system. The programming allows all of the
components to interact with each other and allows the system to respond to the
user exactly how it is expected to. There are three main programming tasks that
must be accomplished in order for the system to meet our expectations.
First, the microcontrollers need to be programmed. The secondary
microcontroller does not require extensive programming as it is only responsible
for passing information from the sensor to the ZigBee wireless chip. The main
microcontroller requires extensive programming. It takes input from the LCD
touch screen, the temperature and relative humidity sensor, the ZigBee wireless
chip, and the 802.11b wireless chip. Ultimately the main microcontroller is what
turns on an input / output pin to send the correct voltage to the control relays and
keeps that pin “high”, or on, until the HVAC component being controlled needs to
be turned off. The microcontrollers will be programmed using the Explorer 16
Development Kit from Microchip. The Explorer 16 allows the programming to be
done in C which is the programming language our group is most familiar with.
The ability to program in a high level language such as C or C++ make the
programming take significantly less time than if we were forced to program in a
low level language such as an assembly language.
Next, the LCD touch screen needs to be programmed. The LCD screen
communicates with the main microcontroller through a controller board. The
controller board connects to a PC through either serial connection or USB
connection. The controller board is then loaded with bitmaps and macros
through the BMPload program. The programming for the LCD touch screen will
consist of setting up a home screen and several other sub screens. The home
screen is what will be displayed when the unit is initially powered on and will
have the main options for the user to manipulate. If a button is pressed that
requires more options to be displayed, the LCD will then bring up another screen
depending on which button was pressed. The controller board reports back to
the main control unit which button has been pressed as the user is manipulating
the screen. The LCD is the main user interface for the system so the
programming is essential to the overall success of the system.
Lastly, the web server needs to be programmed. The web server is what gives
the user remote access of the system using an Internet ready mobile device.
The web server needs to communicate with the main microcontroller so that the
web server can be updated along with the rest of the system. The web server
will be set up to be display current indoor and outdoor temperature and relative
humidity and allow the user to set new values for temperature and relative