Сенсорный радио выключатель на батарейках. Livolo + Z-Uno
Я полюбил сенсорные выключатели! Мне нравится их внешний вид, блестящее стекло, подсвечивающиеся кнопочки, смотрятся элегантно!
Т.к. моя квартира автоматизирована технологией Z-Wave, то и сенсорные выключатели должны поддерживать эту технологию. С переделкой кнопочного радио выключателя в сенсорный я справился в прошлый раз. Теперь мне нужен пульт на батарейках в виде сенсорного выключателя, который я смогу приклеить на двухсторонний скотч на кухне, чтобы дети доставали.
Если вы хотите свой уникальный сенсорный выключатель, да еще и не дороже 4К ₽, добро пожаловать под кат.
- В качестве декоративной панели я использовал стекло от выключателя Livolo (Aliexpress — 250₽)
- Крепление стекла Livolo (Aliexpress — 50₽)
- Z-Wave плата Z-Uno (Rus.Z-Wave.Me — 3500₽)
- Радио-детальки (Chipdip.ru — 50₽)
Мозгом выключателя является Z-Wave плата Z-Uno. С помощью ЛУТ я сделал шилд нужного размера с двумя проводящими поверхностями, которые выполняют роль сенсорной панели. Для измерения емкости сенсорной поверхности используется микросхема TTP-223.
Z-Uno питается от одной батарейки CR2032 и по предварительным расчетам проработает около года (места хватает на 4 батарейки).
Две сенсорные кнопки подключены к пинам 0 и 20, и к пину 18 через диоды. При подаче низкого уровня на пин 18 происходит прерывание, которое будит Z-Uno и запускает код опроса кнопок. Если сработала нижняя кнопка, отправляется команда ВЫКЛЮЧИТЬ, если верхняя — ВКЛЮЧИТЬ. После опроса кнопок отправляем Z-Uno в сон, чтобы не тратить заряд батареи.
Скетч пишется в среде Arduino и занимает всего 45 строк, ничего сложного даже для начинающего ардуинщика. Почитать о специфичных Z-Uno функциях можно здесь http://z-uno.z-wave.me/reference
#define BTN_INT_PIN 18 // INT pin
#define BTN_PIN 20 // button pin
#define BTN_PIN1 0 // button pin
#define CONTROL_GROUP 1 // number of Association Group
#define SWITCH_ON 0xff
#define SWITCH_OFF 0
ZUNO_SETUP_ASSOCIATIONS(ZUNO_ASSOCIATION_GROUP_SET_VALUE); // Send Turn On/Off command to associated devices
ZUNO_SETUP_SLEEPING_MODE(ZUNO_SLEEPING_MODE_SLEEPING); // SLEEPING MODE
byte lastValue = 0;
byte lastValue1 = 0;
// the setup routine runs once when you press reset:
void setup() {
pinMode(BTN_PIN, INPUT);
pinMode(BTN_PIN1, INPUT);
}
// the loop routine runs over and over again forever:
void loop() {
byte buttonState = digitalRead(BTN_INT_PIN);
if (buttonState == HIGH) {
byte currentValue = digitalRead(BTN_PIN);
byte currentValue1 = digitalRead(BTN_PIN1);
// Button Up
if (currentValue != lastValue) { // if state changes
lastValue = currentValue; // save new state
if (lastValue) {
zunoSendToGroupSetValueCommand(CONTROL_GROUP, SWITCH_ON); // if button pressed - send switch ON command
}
}
// Button Down
if (currentValue1 != lastValue1) { // if state changes
lastValue1 = currentValue1; // save new state
if (lastValue1) {
zunoSendToGroupSetValueCommand(CONTROL_GROUP, SWITCH_OFF); // if button pressed - send switch OFF command
}
}
}
zunoSendToSleep(); // Go to sleep
}
После сборки устройства и заливки скетча, выключатель нужно добавить в сеть Z-Wave контроллера, у меня RaZberry, добавить в ассоциации выключателя устройства которыми хотим управлять, у меня свет на кухне.
Лепим на двухсторонний скотч в удобное место и радуемся!
Благодаря тому, что плата Z-Uno имеет очень компактные размеры, а именно: 21×40х6 мм, получилось разместить ее целиком внутри крепежной пластины Livolo и стекла. Толщина готового выключателя вместе с батарейкой составляет 12 мм. Соседние розетки Legrand с рамкой отстают от стены на 13 мм. Выключатель отлично вписался в дизайн моей кухни, а ребенок приучается выключать свет за собой.
Z-Uno можно приобрести за 3500₽ в розничном магазине http://5smart.ru или у производителя http://rus.z-wave.me