【问题标题】:Connecting Arduino to a light switch via X10通过 X10 将 Arduino 连接到电灯开关
【发布时间】:2012-04-24 23:06:45
【问题描述】:

我有兴趣制作一个蓝牙供电的 Arduino 灯开关,当我进入办公室时(通过我的 iPhone)感应并自动打开灯。我的理解是,最安全的方法(即不玩 220 V 电灯开关电源)是使用 X10 遥控/电力线系统打开电灯开关。

X10 连接到 Arduino 的库可以在 X10 Library 找到。

连接到 Arduino 的盒子(需要焊接)可以在 Connecting Arduino to Lightswitch via X10 找到。

我无法弄清楚如何使用 X10 库以及如何对其进行编码以打开电灯开关。我有一个部分,一旦蓝牙配对,它就会发送 X10 命令。问题是我不知道要发送哪个 X10 命令。

【问题讨论】:

    标签: automation bluetooth arduino x10


    【解决方案1】:

    Arduino X10 ZIP 库中包含的示例非常有用。基本上,您只需要包含以下几行:

    // Initialize and create an X10 instance
    x10 myHouse =  x10(zcPin, dataPin);  // Where these pins are what you connected the X10 transmitter to.
    

    所有 X10 设备都有两个识别属性:房屋代码和单元代码。这个想法是你可以控制你家里的所有插座,每个房间都有一个房屋代码和每个设备的单元。实际上,在这个实验中,您只需将一个设备设置为容纳代码“A”。 您实际上并不需要在房屋代码中从多个设备中仅寻址一个设备的精细控制。只需发送命令“房屋代码'A'上的所有内容都打开(或关闭)”就可以了。它不会发送多个命令,只会发送单个 ON 命令格式,例如通配符地址。 假设您的开关设置为房屋代码“A”和单元“1”,然后打开它:

     myHouse.write(A, ALL_LIGHTS_ON, 3);  // The 3 means send the same command three times to overcome any potential noise in the circuit. 
    

    而且显然是:

    myHouse.write(A, ALL_LIGHTS_OFF, 3);
    

    使用 X10 时的另一个提示是,通过电源线传输的信号非常脆弱。大多数现代电路(例如使用电源浪涌保护器和多个断路器)可以过滤掉房屋一侧与另一侧之间的单个电路。因此,为了获得最佳效果,请将 X10 发射器和 X10 设备放在同一电路上,或尽可能靠近。

    【讨论】:

    • "很明显,关闭是:myHouse.write(A, ALL_LIGHTS_ON, 3);"。我猜这实际上不是你的意思
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多