This article provides an example of how the HomeVision? home automation controller might be used by a handicapped individual. Some such persons are limited to a "puff and sip" switch for controlling their home.
Television Control Interface For Handicapped Users
This article provides an example of how the HomeVision̉ home automation controller might be used by a handicapped individual. Some such persons are limited to a "puff and sip" switch for controlling their home.
This article provides an example of how the HomeVision̉ home automation controller might be used by a handicapped individual. Some such persons are limited to a "puff and sip" switch for controlling their home. One of the challenges with such a device is providing access to a variety of automation functions (lights, infrared, etc.) using only two switch inputs. This example shows how the HomeVision video system can be used with such a device to provide powerful control options through a television.
HomeVision is an automation controller that provides two-way X-10, two-way infrared, 24 digital input/output ports, and a very powerful programming/scheduling capability. It also has many expansion options (extra serial ports, telephone interface, analog inputs, etc.). It is programmed from a PC, after which it may be disconnected from the PC. One of its unique capabilities is to display video screens on a television. These screens can be used to control your home and display status information. There are more than 50 built-in screens, including screens for thermostats, security systems, X10, and macros. The video screens are normally controlled through an infrared remote. If the user is limited to a "puff and sip" switch, it is more difficult to control these built-in screens. However, HomeVision's powerful programming capability allows users to create their own screens and control them in any way they desire. This article shows how to create custom screens that can be controlled with a simple "puff and sip" switch.
Note: An example HomeVision schedule file implementing this system can be downloaded from our web site. It can be easily modified by an installer/programmer to provide additional functions.
This example schedule uses two video screens, each with eight command options. One switch (we'll assume it is the "puff" switch) is used to move a cursor through the command list, and the other switch (the "sip" switch) selects the command. The "puff" switch is also used to start the video screens if they are off. The two video screens appear as shown below:
The cursor (an arrow) on the left edge shows which line is selected. Each time the "puff" switch is activated, the cursor moves down one line. If you go past the last line, the other screen is displayed. Selecting one of the command lines (using the "sip" switch) performs the command. It also briefly displays the message "COMMAND BEING PERFORMED" to provide visual feedback to the user, and then returns to the previous screen. Selecting the "EXIT" line shuts off the video system.
The "sip" and "puff" switches can be connected directly to two HomeVision digital input ports (on Port B or C). For each switch, one wire goes to an input port, the other to ground. When a switch is inactive, the input port will be "high". When the switch is activated, the input port will go "low".
The complete example program is shown at the end of this article. The main points are described below.
Two variables are used:
- Variable #0, "Current screen number", indicates which screen is being displayed. In this example, the only valid numbers are 1 and 2.
- Variable #1, "Current line number", indicates which line the cursor is currently on. In this example, the only valid numbers are 2 through 10 (line 1 is the screen title line, which can't be selected).
- Macro #4, "Start video screens", turns the HomeVision video system on. It also initializes the two variables so that the first screen is displayed and the cursor is on the first command line. This macro should be run whenever the user wants to turn the screens on.
- Macro #0, "Draw video screen", draws the video screen indicated by the "Current screen number" variable. If you want to change the screen appearance or add more screens, this is the place to do it.
- Macro #1, "Draw cursor", draws the cursor to the left of the selected line. It first erases the start of each line (where the old cursor might be), and then draws the new cursor.
- Macro #2, "Scroll 1 line", should be performed when the user activates the "puff" switch to scroll one line. The macro looks at the "Current line number" variable. If the line number is less than or equal to 9, it increments the variable, then runs the "Draw cursor" macro to draw the cursor on the new line. If the line number is higher than 9 (which only occurs on the last line, number 10), it changes the current screen number variable to the number of the next screen (either 1 or 2), then runs the "Draw video screen" and "Draw cursor" macros to draw it.
- Macro #3, "Select line", should be performed when the user activates the "sip" switch to perform the selected command. The macro looks at the current screen and line number to determine what command to perform. In the example schedule, no real actions are performed. However, the "Indicate performing command" macro is run to show a brief message indicating the command was performed. If the EXIT line (line 10) was selected, the "Stop video system" command is performed to shut off the video system. This macro is the place to put all the actions you want the video screen commands to perform.
- Macro #5, "Indicate performing command", displays the message "COMMAND BEING PERFORMED" for two seconds, and then returns to the previous screen. This provides feedback to the user confirming that the command was performed.
Two X-10 "events" are used to perform actions when HomeVision receives the corresponding X-10 signal. These are only for demonstration purposes to simulate the "sip" and "puff" switches. In a real user's system, the actions in these events would be put in the "low actions" for the input ports that the two switches are connected to. Thus, the actions would be performed whenever the switches are activated (causing the input port to go low). The X-10 events in the example program are as follows:
- P-1 ON simulates the "puff" switch. It turns the video system on if it is off. If the video is already on, it runs macro 2, "Scroll 1 line", to scroll the video screen one line.
- P-1 OFF simulates the "sip" switch. It runs macro 3, "Select line", to perform the command on the selected line
This example shows a simple way to control your home using only two switch inputs. It could easily be expanded to show many more video screens and perform dozens (or hundreds!) of commands. You could make other changes such as adding a "Return to previous screen" command to each screen to make it easy to go backwards. If you have a lot of screens, you might use the first page as a menu to select more screens from. For example, the first line might select a "Lighting" page, the next line might select an "Infrared remote" page, and so on. You could also display status information (such as the current thermostat setpoint) on one or more pages. You are only limited by your imagination!
MACRO # 0 'Draw video screen'
MACRO # 1 'Draw cursor'
MACRO # 2 'Scroll 1 line'
MACRO # 3 'Select line'
MACRO # 4 'Start video screens'
MACRO # 5 'Indicate performing command'
X-10 SIGNAL 'ON' EVENT # P 1 'X10 P 1'
X-10 SIGNAL 'OFF' EVENT # P 1 'X10 P 1'
This post does not have any comments. Be the first to leave a comment below.
Post A Comment
You must be logged in before you can post a comment. Login now.