Code: Select all
// Pins
#define SensorPin1 10
#define SensorPin2 11
#define SensorPin3 12
#define SensorPin4 13
// variables
byte lastSensor1Value = 0;
byte lastSensor2Value = 0;
byte lastSensor3Value = 0;
byte lastSensor4Value = 0;
ZUNO_SETUP_SLEEPING_MODE(ZUNO_SLEEPING_MODE_ALWAYS_AWAKE);
ZUNO_SETUP_CHANNELS(
ZUNO_SENSOR_BINARY_DOOR_WINDOW(getter1),
ZUNO_SENSOR_BINARY_DOOR_WINDOW(getter2),
ZUNO_SENSOR_BINARY_DOOR_WINDOW(getter3),
ZUNO_SENSOR_BINARY_DOOR_WINDOW(getter4)
);
void setup() {
pinMode(SensorPin1, INPUT_PULLUP);
pinMode(SensorPin2, INPUT_PULLUP);
pinMode(SensorPin3, INPUT_PULLUP);
pinMode(SensorPin4, INPUT_PULLUP);
}
void loop() {
byte currentSensor1Value;
byte currentSensor2Value;
byte currentSensor3Value;
byte currentSensor4Value;
currentSensor1Value = digitalRead(SensorPin1);
if (currentSensor1Value != lastSensor1Value) {
lastSensor1Value = currentSensor1Value;
zunoSendReport(1);
}
currentSensor2Value = digitalRead(SensorPin2);
if (currentSensor2Value != lastSensor2Value) {
lastSensor2Value = currentSensor2Value;
zunoSendReport(2);
}
currentSensor3Value = digitalRead(SensorPin3);
if (currentSensor3Value != lastSensor3Value) {
lastSensor3Value = currentSensor3Value;
zunoSendReport(3);
}
currentSensor4Value = digitalRead(SensorPin4);
if (currentSensor4Value != lastSensor4Value) {
lastSensor4Value = currentSensor4Value;
zunoSendReport(4);
}
}
// Getters
byte getter1(void) {
return lastSensor1Value ? 0xff : 0;
}
byte getter2(void) {
return lastSensor2Value ? 0xff : 0;
}
byte getter3(void) {
return lastSensor3Value ? 0xff : 0;
}
byte getter4(void) {
return lastSensor4Value ? 0xff : 0;
}
Что я делаю не так?