Binary switch code written for 1.5.4
-
Hi,
I found the following sketch somewhere in the forum. It is written for MySensors 1.5.4, I tried to convert it for 2.1 but ended up with code that wont compile.What needs to be changed to make it compile?
#include <MySensor.h> #include <SPI.h> #include <Bounce2.h> #define NUMBER_OF_SWITCHES 6 MySensor gw; Bounce debouncer[NUMBER_OF_SWITCHES]; int oldValue[NUMBER_OF_SWITCHES]; byte switchPin[NUMBER_OF_SWITCHES] = {3,4,5,6,7,8}; //<<<<<<<<<<< set your switch pins here MyMessage msg(0,V_STATUS); void setup() { gw.begin(); for (int i = 0; i < NUMBER_OF_SWITCHES; i++) { pinMode(switchPin[i],INPUT_PULLUP); debouncer[i] = Bounce(); debouncer[i].attach(switchPin[i]); debouncer[i].interval(5); } for (int i = 0; i < NUMBER_OF_SWITCHES; i++) { gw.present(i, S_BINARY); delay(250); } } // void loop() { for (int i = 0; i < NUMBER_OF_SWITCHES; i++) { debouncer[i].update(); int value = debouncer[i].read(); if (value != oldValue[i]) { gw.send(msg.setSensor(i).set(value == HIGH? true : false), false); } oldValue[i] = value; } }this is the original sketch without changes.
greetings
-
Hi,
I found the following sketch somewhere in the forum. It is written for MySensors 1.5.4, I tried to convert it for 2.1 but ended up with code that wont compile.What needs to be changed to make it compile?
#include <MySensor.h> #include <SPI.h> #include <Bounce2.h> #define NUMBER_OF_SWITCHES 6 MySensor gw; Bounce debouncer[NUMBER_OF_SWITCHES]; int oldValue[NUMBER_OF_SWITCHES]; byte switchPin[NUMBER_OF_SWITCHES] = {3,4,5,6,7,8}; //<<<<<<<<<<< set your switch pins here MyMessage msg(0,V_STATUS); void setup() { gw.begin(); for (int i = 0; i < NUMBER_OF_SWITCHES; i++) { pinMode(switchPin[i],INPUT_PULLUP); debouncer[i] = Bounce(); debouncer[i].attach(switchPin[i]); debouncer[i].interval(5); } for (int i = 0; i < NUMBER_OF_SWITCHES; i++) { gw.present(i, S_BINARY); delay(250); } } // void loop() { for (int i = 0; i < NUMBER_OF_SWITCHES; i++) { debouncer[i].update(); int value = debouncer[i].read(); if (value != oldValue[i]) { gw.send(msg.setSensor(i).set(value == HIGH? true : false), false); } oldValue[i] = value; } }this is the original sketch without changes.
greetings
-
thanks @mfalkvidd
I already read that post. I tried again and now it worked.Thanks again
-
thanks @mfalkvidd
I already read that post. I tried again and now it worked.Thanks again
-
No, of course not. Here you go, have fun everyone :-)
#define MY_DEBUG #define MY_RADIO_NRF24 #include <MySensors.h> #include <SPI.h> #include <Bounce2.h> #define SKETCH_NAME "Binary Sensor" #define SKETCH_MAJOR_VER "1" #define SKETCH_MINOR_VER "0" #define first_CHILD_ID 0 #define second_CHILD_ID 1 #define third_CHILD_ID 2 #define fourth_CHILD_ID 3 #define fifth_CHILD_ID 4 #define sixth_CHILD_ID 5 #define NUMBER_OF_SWITCHES 6 Bounce debouncer[NUMBER_OF_SWITCHES]; int oldValue[NUMBER_OF_SWITCHES]; byte switchPin[NUMBER_OF_SWITCHES] = {3,4,5,6,7,8}; //<<<<<<<<<<< set your switch pins here MyMessage msg(0,V_STATUS); void setup() { for (int i = 0; i < NUMBER_OF_SWITCHES; i++) { pinMode(switchPin[i],INPUT_PULLUP); debouncer[i] = Bounce(); debouncer[i].attach(switchPin[i]); debouncer[i].interval(5); } for (int i = 0; i < NUMBER_OF_SWITCHES; i++) { present(i, S_BINARY); delay(250); } } // void loop() { for (int i = 0; i < NUMBER_OF_SWITCHES; i++) { debouncer[i].update(); int value = debouncer[i].read(); if (value != oldValue[i]) { send(msg.setSensor(i).set(value == HIGH? true : false), false); } oldValue[i] = value; } }
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login