X10 Speech Recognition Interface
Setting House Codes
The four-position dipswitch on the printed circuit board is used to set the house codes A through P. The first position A starts with all the switches in the ON position. Using the following table to set any on the 16 House Codes for the X-10.
Switch Number House Code
4 3 2 1
0 0 0 0 A
0 0 0 1 B
0 0 1 0 C
0 0 1 1 D
1 0 0 0 E
1 0 0 1 F
1 0 1 0 G
1 0 1 1 H
0 1 0 0 I
0 1 0 1 J
0 1 1 0 K
0 1 1 1 L
1 1 0 0 M
1 1 0 1 N
1 1 1 0 O
1 1 1 1 P
Training the Speech Recognition Circuit:
Follow the directions for training the speech recognition kit. You can use the first sixteen words to control X-10 appliance modules.
Using the X-10 Interface
Set the House Code on the X-10 interface. You can only use a single house code per X-10 interface. Set the X-10 appliance module to the same house code as set on the X-10 interface.
Next set the unit number of the appliance controller. The unit number you set to the appliance module will correspond be the same target word number on the Speech Recognition Circuit. For instance, if the appliance module unit number is set to number one, then the target word number one on the speech recognition circuit will control that appliance module. Continuing in this manner, unit number two will be controlled by target word number two, and so on all the way to unit 16 and target word 16.
The X-10 Speech Interface has a ten pin receptacle for the Speech Recognition Circuit digital display output. After the speech recognition circuit is trained remove the digital display and plug the X-10 speech interface onto the speech recognition circuit. Plug a standard 4-conductor telephone line in the receptacles on the X-10 interface and the PL513 power line interface. Plug the PL523 into house wiring. Plug in and set up the X-10 appliance modules and the appliances you want to control.
Keep in mind NOT to use the speech recognition and X-10 modules for any mission critical applications or where an unidentified or missed command may cause damage or bodily harm.
First Time On, Second Time Off
I didn’t want to use two speech recognition commands to control one appliance module. However if you want that type of function, it would be easy enough to modify the PIC Basic Pro program to do just that. Instead I made a single command both turn on and off the same appliance module. To accomplish this I had the program remember the status of the last command sent to the appliance controller using the one-bit cfg# flag. So the first time a command is spoken, the flag is set to Binary “0” zero. When it enters the Checkcode routine the flag is set to “1” and the appliance module is turned on. The second time a command is spoke, the flag is set to “1”. It enters the Checkcode routine, the flag is reset to binary “0” and the appliance module is turned off.
There are a number of avenues available for updating and expansion.
The speech recognition circuit (SR-07) typically uses a headset microphone. The headset microphone provides the highest word recognition accuracy, see figure 8. However there is another microphone available, see figure 9, that allows you to talk from a few feet away (in a quite room) and control the speech recognition circuit. Accuracy isn’t as high and if you get too close to the microphone your voice will over modulate and recognition accuracy will fall into the dumpster. If the room is noisy, the speech recognition will not be accurate.
The Hi-Gain microphone is soldered to the microphone leads on the underside of the SR-07 main circuit board.
As stated earlier the PICBasic Pro program may be rewritten to allow for multiple commands to be issued to a single module. If you feel up to bit banging the X-10 communication protocol, you can add the X-10 microEngineering left out of the PICBasic Pro compiler syntax. The Dim commands and status commands. The status commands allow you to interrogate a module to see if a previous command was accepted. Like is the light connected to appliance module 1 on or off. To check status, you would need to upgrade the power line interface from the PL513 to the TW–523 two way power line interface.
PIC16F877 Microcontroller 40 pin
(2) 22 pf capacitors
330 uf 16V capacitor
4.0 MHz crystal
4-position dip switch
LM2940 Voltage Regulator
(2) Miniature red LEDs
10-position header socket
R9, R10 are 330 ohm resistors (color bands orange, orage, brown)
R1, R8 are 4.7K resistors (color bands yellow, purple, red)
R4, R5, R6 and R7 are 10K resistors (color bands brown, black, red)
R2 is a 2.2K resistor (color bands red, red, red)
R3 is a 6.8K resistor (color bands blue, grey, red)
Misc- PCB, on-off switch, power jack, bridge rectifier, modular telephone jack, 9V battery terminals.
X-10 Speech Recognition Kit (requires
* X-10 Speech Recognition interface requires the speech recognition circuit SR-06 or SR-07, see text.
SR-06 Speech Recognition
Kit (requires assembly)
SR-07 Speech Recognition Circuit (assembled and tested)
The next pages lists the PICBasic Pro program.