x10 question.

Hi, I have 2 x10 modules: Appliance AM466 and 2-way powerline interface PSC05. I use http://arduino.cc/en/Tutorial/x10 to wire x10 to Arduino. No luck. Any help very appreciated.

Thanks, Alex.

Are you sure your appliance module works?

First I connected appliance module to lamp in 1st outlet, it seemed appliance module was OFF. Then connected it to another outlet it was ON. It's strange. All these happened without using powerline module.

When using Arduino to send signals appliance module is NOT responding to them.

Thanks, Alex.

Alex2010: First I connected appliance module to lamp in 1st outlet, it seemed appliance module was OFF. Then connected it to another outlet it was ON. It's strange. All these happened without using powerline module.

This can happen with X10 stuff. Plug a lamp into a module, assume the module is off and the lamp is on. The lamp will be initially dark because the module is off. Turn the switch on the lamp off and then on, or unplug it from the module and plug it back in again, the module will sense this and turn on for you.

When using Arduino to send signals appliance module is NOT responding to them.

Were the appliance module and the PSC05 plugged into the same outlet for your initial testing? If not, start there. There is no guarantee that the X10 signals can propagate to all outlets in your home or building.

Did your module address and house code match what you were trying to send?

I tried to connect powerline module with appliance one in the same wall outlet, verified unit/house codes. It does not work.

What are my options to make it work?

Buy other x10 modules/remotes to check if appliance module works? Use oscilloscope to verify signals?

Thanks.

Show us your sketch.

For example if you send "ALL_LIGHTS_ON" instead of "ON" it won't work because you are using an appliance switch.

// include the X10 library files:
#include <x10.h>
#include <x10constants.h>

#define zcPin 2         // the zero crossing detect pin
#define dataPin 3       // the X10 data out pin
#define repeatTimes 1   // how many times each X10 message should repeat
// in an electrically noisy environment, you  
// can set this higher.


// set up a new x10  library instance:
x10 myHouse =  x10(zcPin, dataPin);

void setup() {
  // Turn off all lights:
  myHouse.write(E, ALL_UNITS_OFF,repeatTimes);
}

void loop() {
  // Turn on first module:
  myHouse.write(E, UNIT_5,repeatTimes);               
  myHouse.write(E, ON,repeatTimes);  
  
  delay(1500);
  // Turn off first module: 
  myHouse.write(E, UNIT_5,repeatTimes);
  myHouse.write(E, OFF,repeatTimes);
  delay(500);

}

And you shorted together the middle two wires of the RJ11 AND grounded them to the Arduino ground?

EDIT: I just noticed that the X10 reference (http://www.x10pro.com/pro/pdf/technote.pdf) says that each code block should be sent twice. Perhaps the library takes care of that for you but just in case you may want to try setting "repeatTimes" to 2 instead of 1.

Thanks for the help. I did exactly as described in last post. It's pity doesn't work.

Maybe I don't need resistor on data pin or it should have different value?

Alex.

Alex, The diagram in the official X10 tutorial is a POS (has problems). See this post.

Thank you very much, bHogan

It is working now. :) :) :)