Display and control node
The display and control node is the public face of my network.
As its name suggests, it displays information from ohter nodes
on the network and enables direct interaction with the network
nodes through menus and/or the keypad.
The node uses a Picaxe 18X chip, the 18X
has more I/O pins and more processing memory than the 08M so
it can provide more services -- for example the LCD display
and keypad live on this node, as will the DS1307 real-time
clock and other I/O devices such as switches and "blinkin'
lights."
Features
- 18X running network slave software
- LCD panel for information display.
- Keypad for direct data input.
- LOcally powered -- Displays consume more power than we
can reasonably store from the network.
- Implements passive listener processes for capturing and
displaying information off the network.
Not implemented yet, but planned for the future:
- DS1307 real-time clock with battery backup to provide
the network with time information.
- 24LC256 EEPROMS to store LCD strings and network data.
- Push buttons as required for menu scrolling and selection.
- LED indicators as required for additional "blinkin' lights."
Hardware
The LCD panel is a standard 20X4 LCD with a Hitachi controller.
It is hooked up to the 18X with the circuit
that Happy Hippy describes on his Web site. The LCD driver
subroutines are a mashup between Ron Hackett's drivers from
his Nuts & Volts article, Hippy's drivers, and my additions
and changes.
The network interface is the one designed by Jurjen for his
Serial Power network. I removed the last diode from the
circuit (D5), so the interface circuit only provides network
data and ground to the display and control node.
Node message table
The display and control node registers to send the following
message IDs.
| Message ID |
Content |
| IDcurrentTime |
The current time. Sent once per minute when the minute
value changes (not actually implemented yet, I need to hook
up the DS1307 first). |
The display and control node implements handlers for the
following message IDs, in addition to the standard slave
node message handlers for registering messages and responding
to available time slots.
| Message ID |
Action |
| IDdisplayNode |
Node identifier, responds by sending any data waiting
to be sent on the network. |
| IDtemperatureChanged |
Displays the new temperature value on the LCD. |
|
| IDlightChanged |
Displays the new LDR reading on the LCD. |