2012-03-01 67 views
0

我有興趣使用藍牙供電的Arduino燈光開關感知我何時進入辦公室(通過我的iPhone)並自動打開燈光。我的理解是,最安全的方法就是使用X10遙控/電力線系統來翻轉電燈開關,這種方法(即不使用220 V電燈開關電源)。通過X10將Arduino連接到燈光開關

用於將X10連接到Arduino的庫可在X10 Library中找到。

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

我無法確定如何使用X10庫以及如何對其進行編碼,以便打開燈開關。一旦藍牙配對,我就得到了一部分,它發送X10命令。問題是我不知道要發送哪個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. 

和關閉顯然是:使用X10時

myHouse.write(A, ALL_LIGHTS_OFF, 3); 

另一個FYI,是通過電力線傳輸的信號非常脆弱。大多數現代電路 - 例如使用電源浪涌保護器和多個斷路器 - 可以過濾房屋一側與另一側之間的單體。因此,爲了獲得最佳效果,請將X10變送器和X10設備放在同一電路上,或儘可能靠近。

+0

「很明顯:myHouse.write(A,ALL_LIGHTS_ON,3);」。我猜這實際上不是你的意思 – 2012-04-22 05:39:45

+0

謝謝 - 現在是真正明顯正確的文本。 – jdh 2012-04-24 15:08:18