Smart House
IOT
DIY
May 2016 26

Сенсорный радио выключатель на батарейках. Livolo + Z-Uno


Я полюбил сенсорные выключатели! Мне нравится их внешний вид, блестящее стекло, подсвечивающиеся кнопочки, смотрятся элегантно!
Т.к. моя квартира автоматизирована технологией Z-Wave, то и сенсорные выключатели должны поддерживать эту технологию. С переделкой кнопочного радио выключателя в сенсорный я справился в прошлый раз. Теперь мне нужен пульт на батарейках в виде сенсорного выключателя, который я смогу приклеить на двухсторонний скотч на кухне, чтобы дети доставали.
Сенсорные Z-Wave выключатели Vitrum
Если вы можете себе позволить выключатель за 20К ₽, обратите свое внимание на Z-Wave продукцию Vitrum

Если вы хотите свой уникальный сенсорный выключатель, да еще и не дороже 4К ₽, добро пожаловать под кат.
  1. В качестве декоративной панели я использовал стекло от выключателя Livolo (Aliexpress — 250₽)
  2. Крепление стекла Livolo (Aliexpress — 50₽)
  3. Z-Wave плата Z-Uno (Rus.Z-Wave.Me — 3500₽)
  4. Радио-детальки (Chipdip.ru — 50₽)

Мозгом выключателя является Z-Wave плата Z-Uno. С помощью ЛУТ я сделал шилд нужного размера с двумя проводящими поверхностями, которые выполняют роль сенсорной панели. Для измерения емкости сенсорной поверхности используется микросхема TTP-223.


Z-Uno питается от 4-х батареек CR2032. При активном радио обмене напряжение батареек быстро проседает и если непрерывно нажимать на кнопки в течении 3 минут, напряжение упадет до критических 2.6В и Z-Wave чип отключится, через минуту батарейки восстановятся, но чтобы такого не происходило в схему питания добавлены 2 танталовых конденсатора емкостью 47мкФ каждый (на фото желтые кубики). По предварительным расчетам выключатель проработает больше года от одного комплекта батареек.


Две сенсорные кнопки подключены к пинам 0 и 20, и к пину 18 через диоды. При подаче низкого уровня на пин 18 происходит прерывание, которое будит Z-Uno и запускает код опроса кнопок. Если сработала нижняя кнопка, отправляется команда ВЫКЛЮЧИТЬ, если верхняя — ВКЛЮЧИТЬ. После опроса кнопок отправляем Z-Uno в сон, чтобы не тратить заряд батареи.


Скетч пишется в среде Arduino и занимает всего 45 строк, ничего сложного даже для начинающего ардуинщика. Почитать о специфичных Z-Uno функциях можно здесь http://z-uno.z-wave.me/reference

Z-Uno cкетч выключателя с двумя кнопками на батарейках
#define BTN_INT_PIN 18   // INT pin
#define BTN_PIN1 0       // button pin
#define BTN_PIN2 20      // 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 lastValue1 = HIGH;
byte lastValue2 = HIGH;

// the setup routine runs once when you press reset:
void setup() {
     pinMode(BTN_PIN1, INPUT_PULLUP);
     pinMode(BTN_PIN2, INPUT_PULLUP);
}

// the loop routine runs over and over again forever:
void loop() {
  byte currentValue1 = digitalRead(BTN_PIN1);
  byte currentValue2 = digitalRead(BTN_PIN2);
  
  // Button Down
  if (currentValue1 != lastValue1) {  // if state changes
    lastValue1 = currentValue1;      // save new state
    if (lastValue1 == LOW) {    
      zunoSendToGroupSetValueCommand(CONTROL_GROUP, SWITCH_OFF); // if button pressed - send switch OFF command 
    }
  }
  
  // Button Up
  if (currentValue2 != lastValue2) {  // if state changes
    lastValue2 = currentValue2;      // save new state
    if (lastValue2 == LOW) {    
      zunoSendToGroupSetValueCommand(CONTROL_GROUP, SWITCH_ON); // if button pressed - send switch ON command 
    }
  }

  // Go to sleep after release the button
   if (digitalRead(BTN_INT_PIN)){
     zunoSendDeviceToSleep(); 
   }
}


После сборки устройства и заливки скетча, выключатель нужно добавить в сеть Z-Wave контроллера, у меня RaZberry, добавить в ассоциации выключателя устройства которыми хотим управлять, у меня свет на кухне.


Лепим на двухсторонний скотч в удобное место и радуемся!


Благодаря тому, что плата Z-Uno имеет очень компактные размеры, а именно: 21х40х6 мм, получилось разместить ее целиком внутри крепежной пластины Livolo и стекла. Толщина готового выключателя вместе с батарейкой составляет 12 мм. Соседние розетки Legrand с рамкой отстают от стены на 13 мм. Выключатель отлично вписался в дизайн моей кухни, а ребенок приучается выключать свет за собой.
Z-Uno можно приобрести за 3500₽ в розничном магазине http://5smart.ru или у производителя http://rus.z-wave.me

ОБНОВЛЕНО 28.08.2016
Исправлена схемотехника и оптимизирован скетч. Протестировано на версии Z-Uno 2.0.5.

ОБНОВЛЕНО 30.08.2016
В схему добавлены 2 танталовых конденсатора на питание.

ОБНОВЛЕНО 02.10.2016
Практика показала, что одной батарейки CR2032 маловато, поэтому теперь используется 4 батарейки CR2032. Изготовил на 3D принтере корпус, где расположены батарейные отсеки и крепить к стене удобно.




+8
20.7k 94
Support the author
Comments 73
Top of the day