Имеется датчик состояния ворот (геркон-триггер на состояние открыто) + 2 реле на закрытие и открытие
Я совсем не программер, но написал (переписал с примеров) код, но в HC2 не отображается датчик состояния. Реле работают нормально.
Прошу помощи.В чем проблема?
Code: Select all
//
#define LedPin1 9
#define LedPin2 10
#define LED_PIN1 13
#define BTN_PIN1 17
#define ZUNO_CHANNEL_NUMBER_ONE 1
// Variables
byte switchValue1 = 1;
byte switchValue2 = 1;
byte lastButton1State;
// Always connect
ZUNO_SETUP_SLEEPING_MODE(ZUNO_SLEEPING_MODE_ALWAYS_AWAKE);
//Channels setup
ZUNO_SETUP_CHANNELS(
ZUNO_SWITCH_BINARY(getterSwitch1, setterSwitch1),
ZUNO_SWITCH_BINARY(getterSwitch2, setterSwitch2),
ZUNO_SENSOR_BINARY(ZUNO_SENSOR_BINARY_TYPE_GENERAL_PURPOSE, getter1)
);
void setup()
{
pinMode(LedPin1, OUTPUT);
pinMode(LedPin2, OUTPUT);
pinMode(LED_PIN1, OUTPUT);
pinMode(BTN_PIN1, INPUT_PULLUP);
}
void loop() {
byte currenButton1State = digitalRead(BTN_PIN1);
if (currenButton1State != lastButton1State)
{lastButton1State = currenButton1State;
zunoSendReport(ZUNO_CHANNEL_NUMBER_ONE);
if (currenButton1State == LOW)
{digitalWrite(LED_PIN1, HIGH);}
else {digitalWrite(LED_PIN1, LOW);}
}
}
byte getter1()
{if (lastButton1State == 0)
{return 0xff;}
else
{return 0;}
}
void
setterSwitch1(byte value)
{digitalWrite(LedPin1, (value > 0) ? LOW : HIGH);
switchValue1 = value;}
byte getterSwitch1()
{return switchValue1;}
void
setterSwitch2(byte value)
{digitalWrite(LedPin2, (value > 0) ? LOW : HIGH);
switchValue2 = value;}
byte getterSwitch2()
{return switchValue2;}