44 #define SKETCH_NAME "Binary Sensor"
45 #define SKETCH_MAJOR_VER "1"
46 #define SKETCH_MINOR_VER "0"
48 #define PRIMARY_CHILD_ID 3
49 #define SECONDARY_CHILD_ID 4
51 #define PRIMARY_BUTTON_PIN 2 // Arduino Digital I/O pin for button/reed switch
52 #define SECONDARY_BUTTON_PIN 3 // Arduino Digital I/O pin for button/reed switch
54 #if (PRIMARY_BUTTON_PIN < 2 || PRIMARY_BUTTON_PIN > 3)
55 #error PRIMARY_BUTTON_PIN must be either 2 or 3 for interrupts to work
57 #if (SECONDARY_BUTTON_PIN < 2 || SECONDARY_BUTTON_PIN > 3)
58 #error SECONDARY_BUTTON_PIN must be either 2 or 3 for interrupts to work
60 #if (PRIMARY_BUTTON_PIN == SECONDARY_BUTTON_PIN)
61 #error PRIMARY_BUTTON_PIN and BUTTON_PIN2 cannot be the same
63 #if (PRIMARY_CHILD_ID == SECONDARY_CHILD_ID)
64 #error PRIMARY_CHILD_ID and SECONDARY_CHILD_ID cannot be the same
69 MyMessage msg(PRIMARY_CHILD_ID, V_TRIPPED);
70 MyMessage msg2(SECONDARY_CHILD_ID, V_TRIPPED);
75 pinMode(PRIMARY_BUTTON_PIN, INPUT_PULLUP);
76 pinMode(SECONDARY_BUTTON_PIN, INPUT_PULLUP);
82 sendSketchInfo(SKETCH_NAME, SKETCH_MAJOR_VER
"." SKETCH_MINOR_VER);
87 present(PRIMARY_CHILD_ID, S_DOOR);
88 present(SECONDARY_CHILD_ID, S_DOOR);
95 static uint8_t sentValue=2;
96 static uint8_t sentValue2=2;
101 value = digitalRead(PRIMARY_BUTTON_PIN);
103 if (value != sentValue) {
109 value = digitalRead(SECONDARY_BUTTON_PIN);
111 if (value != sentValue2) {
118 sleep(PRIMARY_BUTTON_PIN-2, CHANGE, SECONDARY_BUTTON_PIN-2, CHANGE, 0);