В сегодняшней статье хочу поделится с вами новым проектом. На этот раз это сенсорный выключатель с стеклянной панелью. Устройство компактное, размерами 42х42мм(стандартные стеклянные панель имеет размеры 80х80мм). История этого устройства началась давно, около года назад.



Первые варианты были на микроконтроллере atmega328, но в итоге все закончилось микроконтроллером nRF52832.



Сенсорная часть устройства работает на микросхемах TTP223. Оба сенсора обслуживает одно прерывание. Питание от батарейки CR2477, через повышающий преобразователь на микросхеме TPS610981 | Даташит.




В устройстве реализована схема отключения питания на полевых транзисторах. После нажатия на кнопку микроконтроллер сам перехватывает управление питанием и далее кнопка может использоватся для сервисных режимов(в моем случает это сопряжение с другими устройствами, отключение питания и сброс к заводским установкам(factory reset)).


Присутствуют 2 rgb светодиода для индикаций состояний и сервисных режимов. Так же добавлен пьезоизлучатель для имитации клика при прикосновении к сенсорным кнопкам и звуковой индикации сервисных режимов. Светодиоды и пьезоизлучатель можно включать и отключать по желанию пользователя. Делается это через контроллер умного дома, отправкой команд на технические сенсоры, так же реализована возможность изменения пользователем интервалов отправки заряда батареи и уровня сигнала так же через контроллер умного дома. В моем случае это МАЖОРДОМО.


Потребление в режиме передачи 7мА(250кбит, 10мс), потребление во сне 40мкА, потребление в выключенном состоянии менее 1мкА(=потреблению повышающего преобразователя в «холостом» режиме). Выведен rx, tx, swd разьем для программирования. Используется миниатюрный разьем 2х3p с шагом 1.27. Для программирования изготовлен специальный переходник.



Как и всегда в основе работы устройства лежит протокол MySensors. Данный сенсорный выключатель планируется применять в системе управления рулонными шторами. Но в целом применение ограничено только вашей фантазией. Например уже сейчас сын(7 лет) сделал 3 заказа на версии выключателя: для включения и выключения света в туалете с ванной(крепиться будет невысоко от пола), для включения света в длинном и темном коридоре при путешествии в туалет с ванной и еще один как прикроватный, для быстрого включения света в своей комнате чтобы монстры разбежались.





Корпус по традиции печатался на SLA принтере, устройство миниатюрное, корпус получился небольшой, применение даной технологии печати оправдано.


Посмотреть отпечатанную модель



В корпус и крышку батарейного отсека вклеены магнитики.


Видосики с тестами данного устрройства:





Для желающих повторить:


Код тестовой программы выключателя в системе управления рулонными шторами для Arduino IDE


Ардуино Виринг
int8_t timer_status = 0;
boolean sens_flag1 = 0;
boolean sens_flag2 = 0;
boolean switch_a = 0;
boolean switch_b = 0;
uint16_t temp;
float vcc;
int battery;
int old_battery;
uint32_t oldmillis;
uint32_t newmillis;
uint32_t interrupt_time;
uint32_t SLEEP_TIME = 7000;
uint32_t SLEEP_TIME_W;
uint32_t SLEEP_TIME_W2;
int NrfRSSI;
uint16_t NrfRSSI2;
boolean wait_off;

#define MY_DEBUG

#define MY_RADIO_NRF5_ESB
#define MY_PASSIVE_NODE
#define MY_NODE_ID 120
#define MY_PARENT_NODE_ID 0
#define MY_PARENT_NODE_IS_STATIC
#define MY_TRANSPORT_UPLINK_CHECK_DISABLED
#define POWER_CHILD_ID 110
#define UP_POWER_SWITCH_ID 1
#define DOWN_POWER_SWITCH_ID 2
#define CHILD_ID_nRF52_RSSI_RX 3

#define BAT_COOF 0.0092957746478873
#define BAT_MIN 200
#define BAT_MAX 290

#include <MySensors.h>
MyMessage upMsg(UP_POWER_SWITCH_ID, V_STATUS);
MyMessage downMsg(DOWN_POWER_SWITCH_ID, V_STATUS);
MyMessage powerMsg(POWER_CHILD_ID, V_VAR1);
MyMessage msgRF52RssiReceiv(CHILD_ID_nRF52_RSSI_RX, V_VAR1);

void preHwInit() {
  //delay(1000);
  pinMode(31, OUTPUT);
  digitalWrite(31, HIGH);
  delay(3000);
  pinMode(3, INPUT);
  pinMode(25, OUTPUT);
  pinMode(26, OUTPUT);
  pinMode(27, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);

  pinMode(28, OUTPUT); // bizzer

  pinMode(2, INPUT);
  pinMode(9, INPUT);
  pinMode(10, INPUT);

  pinMode(29, INPUT);

  digitalWrite(28, LOW); // off bizzer
  digitalWrite(27, HIGH);
  digitalWrite(26, HIGH);
  digitalWrite(25, HIGH);
  digitalWrite(6, HIGH);
  digitalWrite(7, HIGH);
  digitalWrite(8, HIGH);
}

void before()
{
  //digitalWrite(31, HIGH);
  NRF_POWER->DCDCEN = 1;
  //NRF_UART0->ENABLE = 0;
  analogReadResolution(12);
  disableNfc();
  turnOffAdc();
  //wait(2000);
  digitalWrite(25, LOW);
  digitalWrite(6, LOW);
  wait(200);
  digitalWrite(25, HIGH);
  digitalWrite(6, HIGH);
  wait(100);
  playSound0();
  wait(100);
  digitalWrite(25, LOW);
  digitalWrite(6, LOW);
  wait(200);
  digitalWrite(25, HIGH);
  digitalWrite(6, HIGH);
  wait(3000);

  digitalWrite(27, LOW);
  digitalWrite(8, LOW);
  wait(200);
  digitalWrite(27, HIGH);
  digitalWrite(8, HIGH);
  wait(400);
  digitalWrite(6, LOW);
  digitalWrite(25, LOW);
  wait(200);
  digitalWrite(6, HIGH);
  digitalWrite(25, HIGH);
  wait(400);
  digitalWrite(26, LOW);
  digitalWrite(7, LOW);
  wait(200);
  digitalWrite(26, HIGH);
  digitalWrite(7, HIGH);
  wait(1000);
  digitalWrite(26, LOW);
  digitalWrite(7, LOW);
}

void setup()
{
  digitalWrite(26, HIGH);
  digitalWrite(7, HIGH);
  wait(50);
  playSound();
  wait(2000);
  readBatLev();
  wait(200);
  SLEEP_TIME_W = SLEEP_TIME;
}

void presentation()
{
  sendSketchInfo("Power on|off Node", "1.0");
  wait(100);
  present(POWER_CHILD_ID, S_CUSTOM, "BATTERY DATA");
  wait(100);
  present(UP_POWER_SWITCH_ID, S_BINARY, "UP SWITCH");
  wait(100);
  present(DOWN_POWER_SWITCH_ID, S_BINARY, "DOWN SWITCH");
}

void loop()
{
  if (sens_flag1 == 0 && sens_flag2 == 0) {
    if (switch_a == 0 && switch_b == 0) {
      timer_status = sleep(digitalPinToInterrupt(2), RISING, digitalPinToInterrupt(3), RISING, 3600000, false);
      wait_off = 1;
    } else {
      //oldmillis = millis();
      timer_status = sleep(digitalPinToInterrupt(2), RISING, digitalPinToInterrupt(3), RISING, SLEEP_TIME_W, false);
      wait_off = 0;
    }
  }
  if (timer_status == 3) {
    wait(100);
    digitalWrite(27, LOW);
    digitalWrite(8, LOW);
    wait(2000);
    digitalWrite(27, HIGH);
    digitalWrite(8, HIGH);
    wait(100);
    digitalWrite(31, LOW);
  }

  if (timer_status == 2) {

    if (digitalRead(9) == HIGH && sens_flag1 == 0 && switch_b == 0) {
      sens_flag1 = 1;
      if (switch_a == 0) {
        oldmillis = millis();
        SLEEP_TIME_W = SLEEP_TIME;
        switch_a = 1;
        send(upMsg.set(switch_a));
        //wait(200);
        digitalWrite(6, LOW);
        wait(10);
        playSound1();
        wait(20);
        playSound2();
        wait(50);
      } else {
        switch_a = 0;
        send(upMsg.set(switch_a));
        //wait(200);
        digitalWrite(6, HIGH);
        wait(10);
        playSound2();
        wait(20);
        playSound1();
        wait(50);
      }
      //sleep_not_pasible = 1;
      //digitalWrite(25, HIGH);
      //wait(100);

    }
    if (digitalRead(10) == HIGH && sens_flag2 == 0 && switch_a == 0) {
      sens_flag2 = 1;
      if (switch_b == 0) {
        oldmillis = millis();
        SLEEP_TIME_W = SLEEP_TIME;
        switch_b = 1;
        send(downMsg.set(switch_b));
        //wait(200);
        digitalWrite(25, LOW);
        wait(10);
        playSound1();
        wait(20);
        playSound2();
        wait(50);
      } else {
        switch_b = 0;
        send(downMsg.set(switch_b));
        //wait(200);
        digitalWrite(25, HIGH);
        wait(10);
        playSound2();
        wait(20);
        playSound1();
        wait(50);
      }
      //sleep_not_pasible = 1;
      //digitalWrite(6, HIGH);
      //wait(100);
    }

    if (digitalRead(9) == LOW && sens_flag1 == 1) {
      sens_flag1 = 0;
      //digitalWrite(6, HIGH);
      //playSound2();
      //wait(50);
    }

    if (digitalRead(10) == LOW && sens_flag2 == 1) {
      sens_flag2 = 0;
      //digitalWrite(25, HIGH);
      //playSound2();
      //wait(50);
    }
    if (switch_a == 1 || switch_b == 1) {
      if (wait_off == 0) {
        newmillis = millis();
        wait(10);
        SLEEP_TIME_W2 = SLEEP_TIME_W;
        wait(10);
        interrupt_time = newmillis - oldmillis;
        wait(10);
        SLEEP_TIME_W = SLEEP_TIME_W2 - interrupt_time;
        wait(10);
        Serial.print("WAS IN A SLEEP: ");
        Serial.print(newmillis - oldmillis);
        Serial.println(" MILLISECONDS");

        if (SLEEP_TIME_W < 1000) {
          if (switch_a == 1) {
            switch_a = 0;
            digitalWrite(6, HIGH);
            //wait(10);
            //playSound2();
            //wait(20);
            //playSound1();
            //wait(50);
            //send(upMsg.set(switch_a));
            //wait(200);
          }
          if (switch_b == 1) {
            switch_b = 0;
            digitalWrite(25, HIGH);
            //wait(10);
            //playSound2();
            //wait(20);
            //playSound1();
            //wait(50);
            //send(downMsg.set(switch_b));
            //wait(200);
          }
          SLEEP_TIME_W = SLEEP_TIME;
          wait(50);
        }
        Serial.println(SLEEP_TIME);
        Serial.println(SLEEP_TIME_W);
        Serial.println(SLEEP_TIME_W2);
        Serial.print("GO TO SLEEP FOR: ");
        Serial.print(SLEEP_TIME_W);
        Serial.println(" MILLISECONDS");
      }
      oldmillis = millis();
    }
  }

  if (timer_status == -1) {
    if (switch_a == 1 || switch_b == 1) {
      if (switch_a == 1) {
        switch_a = 0;
        digitalWrite(6, HIGH);
        wait(10);
        playSound2();
        wait(20);
        playSound1();
        wait(50);
        send(upMsg.set(switch_a));
        wait(200);
      }
      if (switch_b == 1) {
        switch_b = 0;
        digitalWrite(25, HIGH);
        wait(10);
        playSound2();
        wait(20);
        playSound1();
        wait(50);
        send(downMsg.set(switch_b));
        wait(200);
      }
    } else {
      readBatLev();
    }
  }
}

void disableNfc() {
  NRF_NFCT->TASKS_DISABLE = 1;
  NRF_NVMC->CONFIG = 1;
  NRF_UICR->NFCPINS = 0;
  NRF_NVMC->CONFIG = 0;
}

void turnOffAdc() {
  if (NRF_SAADC->ENABLE) {
    NRF_SAADC->TASKS_STOP = 1;
    while (NRF_SAADC->EVENTS_STOPPED) {}
    NRF_SAADC->ENABLE = 0;
    while (NRF_SAADC->ENABLE) {}
  }
}

void myTone(uint32_t j, uint32_t k) { // Определяем функцию myTone
  j = 500000 / j;                                // Меняем значение переменной j на время одного полупериода в мкс
  k += millis();                                 // Меняем значение переменной к на время завершения вывода сигнала
  while (k > millis()) {                         // Выводим сигнал, пока не истечёт указанное время
    digitalWrite(28, HIGH); delayMicroseconds(j); // Устанавливаем на выходе i уровень логической  «1» на время j
    digitalWrite(28, LOW ); delayMicroseconds(j); // Устанавливаем на выходе i уровень логического «0» на время j
  }
}

void playSound0() {
  //wait(500);
  myTone(1300, 50);                    // Выводим звуковой сигнал длительностью 0,1 сек с частотой 2048 Гц
  wait(20);                                  // Ждём 0,1 сек
  myTone(1300, 50);
  wait(50);
}

void playSound() {
  //wait(500);
  myTone(700, 30);                    // Выводим звуковой сигнал длительностью 0,1 сек с частотой 2048 Гц
  wait(10);                                  // Ждём 0,1 сек
  myTone(700, 30);
  wait(10);
  myTone(700, 30);
  wait(50);  // Ждём 0,1 сек
  //myTone(500, 30);
  //wait(500);
}

void playSound1() {
  //wait(500);
  myTone(200, 10);                    // Выводим звуковой сигнал длительностью 0,1 сек с частотой 2048 Гц
  wait(10);                                  // Ждём 0,1 сек
  myTone(400, 5);
  wait(30);                                  // Ждём 0,1 сек
  //myTone(500, 30);
  //wait(500);
}

void playSound2() {
  //wait(500);
  myTone(400, 10);                    // Выводим звуковой сигнал длительностью 0,1 сек с частотой 2048 Гц
  wait(10);                                  // Ждём 0,1 сек
  myTone(200, 5);
  wait(30);                                  // Ждём 0,1 сек
  //myTone(500, 30);
  //wait(500);
}

void readBatLev() {
  //NRF5_ESB_startListening();
  wait(200);
  temp = analogRead(29);
  vcc = temp * 0.0033 * 100;
  battery = map((int)vcc, BAT_MIN, BAT_MAX, 0, 100);
  if (battery < 0) {
    battery = 0;
  }
  if (battery > 100) {
    battery = 100;
  }
  sendBatteryLevel(battery);
  wait(200);
  send(powerMsg.set(temp));
  wait(200);
  NrfRSSI = transportGetReceivingRSSI();
  NrfRSSI2 = map(NrfRSSI, -85, -40, 0, 100);
  if (NrfRSSI2 < 0) {
    NrfRSSI2 = 0;
  }
  if (NrfRSSI2 > 100) {
    NrfRSSI2 = 100;
  }
  send(msgRF52RssiReceiv.set(NrfRSSI2));
  wait(200);
}

> Файлы корпуса в stl


> Gerber файлы печатной платы


На вопросы по данной разработке, по трудностям в ваших разработках на ардуинках и Mysensors всегда придут на помощь в нашем телеграмм чате.

Комментарии (102)


  1. BalinTomsk
    28.05.2019 18:21

    Скажите где можно купить?


    1. Berkseo Автор
      28.05.2019 21:55

      у меня


      1. Alex_nakhodka
        29.05.2019 07:20

        Цена и где именно?


      1. prilichny
        29.05.2019 18:41

        и сколько стоит?


  1. Sleuthhound
    28.05.2019 20:22

    Классно, что тут сказать. Осталось разработать какие-нибудь силовые блоки с диммированием и без, патрон для лампы и самые основные кубики для домашней автоматизации будут готовы. А схема выключателя доступна или я поглядел ссылку?


    1. Berkseo Автор
      28.05.2019 21:55

      все уже давно разработано


  1. olartamonov
    28.05.2019 22:40

    1) TTP223 не нужны
    2) повышающий преобразователь не нужен
    3) 40 мкА — это очень много


    1. dernuss
      28.05.2019 22:55

      потребление во сне 40мкА

      Это реально странный сон


      1. olartamonov
        28.05.2019 23:02

        Там либо половина периферии в nRF включена зачем-то во сне, либо автор измерял с подключённым SWD (частая ошибка; через него течёт).


        1. Berkseo Автор
          28.05.2019 23:12
          -2

          ни то ни другое, угомонитесь,..


          1. olartamonov
            28.05.2019 23:18

            Ну так расскажите заинтересованной публике, что же конкретно у вас там жрёт столько.

            Вы же ведь знаете ответ на этот вопрос?


            1. Berkseo Автор
              28.05.2019 23:38

              я естественно знаю, но лично вам желания обьяснять это нет, вроде бы "знайка" должен уметь понимать даташиты?


              1. olartamonov
                28.05.2019 23:49
                +1

                В даташите сон с RTC и full RAM retention — 2,2 мкА (раздел 17.1.1 на стр. 75).

                По 3 мкА максимум у вас жрёт каждый из TTP223. Около 1 мкА у вас жрёт спящая TPS610981.

                Всё, что свыше этого, жрёт какой-то неизвестный нам говнокод или… all, как это же называется применительно к схемотехнике?

                Лежащее прямо сейчас передо мной на столе устройство, в котором ещё есть GPS, FDC1004 (вы таки хотите поговорить за калибровку емкостных датчиков?), акселерометр, LoRa, линейный LDO, операционник для измерения напряжения аккумулятора и чёрт в ступе, и то жрёт во сне меньше ваших 40 мкА.


                1. Berkseo Автор
                  28.05.2019 23:59

                  ну вот что у вас там лежит на столе то и " курите", а к первому добавите два прерывания через gpio, тк на встроенном компораторе два не реализовать, ко второму добавьте фаст мод., не ленитесь еще почитать даташит на повышайку, питаник которое держит мк эио еще 4 мка в ту кучу. А вообще я и в этой теме повторяю снова Вам — Отец это раздел DIY, слелано руками, энтузиастами. Примите новопаситику и успокойтесь, вам еще ваши лекции читать. За сим откланиваюсь...


                  1. olartamonov
                    29.05.2019 00:04

                    ну вот что у вас там лежит на столе то и " курите", а к первому добавите два прерывания через gpio, тк на встроенном компораторе два не реализовать, ко второму добавьте фаст мод.


                    Раздел 21.5.1 «GPIOTE Electrical Specification» того же документа чёрным по белому сообщает мне, что на два прерывания мне надо добавить аж целых 0,1 мкА.

                    Так что всё-таки, боюсь, штаны с рукавами.


                    1. dernuss
                      29.05.2019 00:12

                      Да ладно. Как хочет, 40 мкА, так 40.
                      Мне больше импонирует идея с кинетическими выключателями, чтобы вообще без батареек…


                      1. olartamonov
                        29.05.2019 00:17

                        Дорого.

                        Когда батарейка распространённая (т.е. строго CR2032, без вариантов) и живёт по 2-3 года, покупатель предпочтёт батарейку.

                        А при виде дизайна того же EnOcean он ещё и расплачется, вспомнив босоногое детство (и тут возникает вторая проблема: блок с батарейным питанием можно сделать в виде коробки, к которой подключаются внешние кнопки и которая убирается под выключатель любого нравящегося покупателю дизайна).


                        1. dernuss
                          29.05.2019 00:24

                          Согласен, дороговато. Но дороговато просто потому что не массово.
                          Если будет массово, то (по моему мнению) будет сравнимо с решениями на CR2032. Так как ни чего особенного в этом решении нет.

                          Есть кстати дизайны лучше, например например


                          1. olartamonov
                            29.05.2019 00:26

                            Не будет; держатель под батарейку стоит единицы центов, других расходов нет — а energy harvesting всегда дорогой, ибо там преобразователи и накопители с весьма экзотическими характеристиками нужны.


                            1. dernuss
                              29.05.2019 00:32

                              держатель под батарейку стоит единицы центов, других расходов нет

                              Есть, сама CR2032. Ну и кроме того сам элемент ещё и менять надо, что тоже время\деньги

                              а energy harvesting всегда дорогой, ибо там преобразователи и накопители с весьма экзотическими характеристиками нужны.

                              Да там что то вроде фонарика жучка. Ни чего сверхестественного


                              1. olartamonov
                                29.05.2019 00:54

                                Есть, сама CR2032


                                Меньше 10 центов оптом.

                                Да там что то вроде фонарика жучка. Ни чего сверхестественного


                                При ходе в районе 2-4 мм — это весьма короткий импульс сложной формы, который надо всосать и запасти с минимальными потерями, а потом отдать в виде постоянного напряжения (если вы имели когда-либо дело даже с банальным резервным источником на ионисторе, без всякого харвестинга, вы уже представляете себе, какие это песни с плясками — вытащить из него хотя бы 50 % паспортной энергии в реальном устройстве).


                                1. dernuss
                                  29.05.2019 01:03

                                  Меньше 10 центов оптом.

                                  А если таких выключателей в доме штук 20?
                                  Время (чтобы поменять элемент) и нервы (при его отказе) дороже, ну как мне кажется.

                                  При ходе в районе 2-4 мм

                                  Вполне достаточно чтобы дать короткий радиоимпульс.
                                  Посмотрите на плату, я не вижу ни чего особенно дорогово. Всё дело в массовости


                                  1. olartamonov
                                    29.05.2019 01:16

                                    Тут такое дело: во всех этих тредах про умный дом я — один из очень немногих людей, у которых это реально стоит и работает а) далеко не первый год, б) на всех без исключения выключателях и лампах в квартире и в) не из готовых покупных зигбишных коробок с полки в Леруа-мерлене.



                                    Мне лень в час ночи ходить считать, но в конфигураторе 29 каналов, в каждом выключателе 3 канала, в некоторых выключателях используются не все — т.е. всего у меня должно быть 10-12 выключателей.

                                    Живут они на CR2032 от 2-3 до 4-5 лет, в зависимости от частоты использования, и это совершенно не напрягает (тем более, в нормальной системе мы подразумеваем, что выключатель сам умеет заранее сообщать, что скоро пора поменять батарейку).

                                    Вполне достаточно чтобы дать короткий радиоимпульс


                                    Нет. Вам надо разбудить процессор и приёмопередатчик (а любое радио в качестве источника опорной частоты использует кварцы, которые раскочегариваются не мгновенно), достоверно определить, какая кнопка нажата, отправить пакет в радио, подождать подтверждения доставки, при его отсутствии отправить повторный пакет…

                                    Собственно, уже на перепосылке недошедшего у харвестеров начинаются большие проблемы.

                                    А ведь есть ещё кнопки, которые пользователь хочет удерживать.

                                    Посмотрите на плату, я не вижу ни чего особенно дорогово. Всё дело в массовости


                                    Массовость — это в электронике как минимум сотни миллионов экземпляров. Экзотический харвестер, используемый ровно в одном приложении, никогда до реальной массовости не поднимется.


                                    1. dernuss
                                      29.05.2019 01:31

                                      Тут такое дело: во всех этих тредах про умный дом я — один из очень немногих людей

                                      Да, я понимаю что с CR2032 девайсы пока (возможно ещё долго) будут в теме.

                                      (тем более, в нормальной системе мы подразумеваем, что выключатель сам умеет заранее сообщать, что скоро пора поменять батарейку)

                                      Честно говоря, в моём понимании умный дом, это не дом, который мне сообщает о необходимости сменить батарейку в выключателе. Но, это только моё скромное мнение.

                                      Нет. Вам надо разбудить процессор и приёмопередатчик
                                      Скорее запустить процессор… Ну и далее всё конечно понятно…

                                      Собственно, уже на перепосылке недошедшего у харвестеров начинаются большие проблемы.

                                      У некоторых подобного рода выключателей первый радиопакет отправляется при нажатии, второй при отпускании кнопки. Так что варианты есть.


                                      1. olartamonov
                                        29.05.2019 01:47

                                        У некоторых подобного рода выключателей первый радиопакет отправляется при нажатии, второй при отпускании кнопки


                                        Это вообще про другое.

                                        Есть три варианта отработки выключателем воздействия:
                                        1) нажатие
                                        2) удержание
                                        3) отпускание

                                        Они не взаимозаменимы, это раз, и каждый пакет должен доставляться с подтверждением, это два.

                                        То есть, например, на опускании жалюзи или плавной регулировке яркости вы не можете рассчитывать на пакет при отпускании, потому что начало и конец воздействия — это два разных действия, и случиться должны оба.

                                        И да, при среднем потреблении устройства в пределах 10 мкА (среднем — это значит с учётом расходов энергии на отправку пакетов, обнаружение нажатий и т.п., а не просто в глухом сне), в чём нет совершенно ничего нереалистичного, CR2032 с её 260 мА*ч хватит на 3 года.

                                        Это значит, одну батарейку при 20 выключателях в доме вы будете менять примерно раз в пару месяцев — если выключатель сконструирован так, что это можно сделать быстро, то это, мягко говоря, не самое напряжное действие по уходу за домом. По крайней мере, сильно менее затратно, чем любая уборка, стирка, глажка и вытряхивание жмыха из кофемашины.


                                        1. dernuss
                                          29.05.2019 01:54

                                          Они не взаимозаменимы, это раз, и каждый пакет должен доставляться с подтверждением, это два.

                                          А что если базовая станция не отвечает? Сколько раз нужно слать пакеты? сколько ждать ответа? CR2032 быстро сядет если слать запросы постоянно…

                                          Так может есть слать пакет 2 раза без подтверждения не сильно хуже?

                                          Это значит, одну батарейку при 20 выключателях в доме вы будете менять примерно раз в пару месяцев

                                          Честно говоря… Я пока не готов к такому умному дому, чтобы раз в пару месяцев менять батарейки. Лучше пусть у меня будет глупый дом)


                                          1. olartamonov
                                            29.05.2019 07:48

                                            А что если базовая станция не отвечает? Сколько раз нужно слать пакеты?


                                            Два-три.

                                            сколько ждать ответа?


                                            Зависит от типичных задержек в используемой сети. Для «звезды», например, задержка ответа почти нулевая.

                                            Так может есть слать пакет 2 раза без подтверждения не сильно хуже?


                                            Во-первых, это увеличенный расход батарейки (и ваш харвестер уже не потянет). Во-вторых, двукратная загрузка эфира. В-третьих, увеличение времени отклика системы, т.к. шлюз вызванную принятым пакетом команду не может отправить в эфир раньше, чем устройство выдаст оба пакета, даже если он принял первый же — иначе будут коллизии.

                                            Так, как вы хотите, сделано в оригинальной прошивке самой первой версии Ноолайта (там нет обратной связи вообще) — и работает оно посредственно.


                                            1. dernuss
                                              29.05.2019 08:55

                                              Так я предлагаю да, без обратной связи просто слать два пакета, один при нажатии, второй при отпускании. Не вижу большой разницы если и вы шлёте 2..3 пакета с подтверждением.
                                              По сути двухкратная загрузка эфира и у вас, так как подтверждение требуется.


                                              1. olartamonov
                                                29.05.2019 09:04

                                                И что у вас будет с жалюзи с алгоритмом «едем, пока кнопку держат», если второй пакет потерялся? Уедут в пол?


                                                1. dernuss
                                                  29.05.2019 09:08

                                                  Так и у вас второй (третий) может потеряться.
                                                  Не вижу разницы


                                                  1. olartamonov
                                                    29.05.2019 10:26

                                                    Вероятность потери трёх пакетов достаточно невысока.

                                                    С единичными потерями в умном доме с 2-3 десятками устройств при не слишком удачном протоколе вы будете встречаться практически ежедневно.


                                                    1. dernuss
                                                      29.05.2019 11:19

                                                      ну 3 пакета конечно лучше чем 2, нет сомнений.

                                                      С батарейкой я бы вообще 5...10 повторений сделал, если бы не дождался ответа.


                                                1. batman12345
                                                  29.05.2019 11:35

                                                  В таком случае обязателен концевик


                      1. gresolio
                        29.05.2019 13:20

                        Мне тоже больше нравится вообще без батареек. Недавно наткнулся на толковый канал «Электроника в объективе», там есть парочка обзоров таких выключателей с подробным техническим разбором:

                        Беспроводные выключатели без батареек
                        2018-10-22 Беспроводной выключатель от Zemismart без батареек


                        1. dernuss
                          29.05.2019 13:35

                          Было бы вообще классно, если бы ещё и в исполнительном устройстве не было электролитов) по крайней мере алюминевых


                    1. Berkseo Автор
                      29.05.2019 00:15

                      ну это вам сообщает, вы мне чем то сказочника местного напоминаете, в реале иначе.… на ваши девайсы аля "руки из плеч" думаю посмоиреть будет затруднительно, тк подозреваю что их нет в природе.


                      1. olartamonov
                        29.05.2019 00:21

                        Конечно, откуда им в природе-то взяться.


                        1. Berkseo Автор
                          29.05.2019 00:29

                          ну вот его и тестируйте, а я бы потом почитал статейку о разработке сего девайса, где было бы понятно что вы автор.


                          1. olartamonov
                            29.05.2019 00:33

                            Я несколько сомневаюсь, что у меня когда-либо возникнет какое-либо желание рассказывать вам про этот проект, но в рамках «закину вам еше чтоб бомбануло сильнее» скажу, что во всей вселенной пахнет нефтью.


                            1. Berkseo Автор
                              29.05.2019 00:36

                              я так почему то и предпологал;)


                              1. olartamonov
                                29.05.2019 00:50

                                Да вы запомните просто логотип и форму устройства. В новостях будет ещё появляться неоднократно.


                                1. Berkseo Автор
                                  29.05.2019 00:56

                                  логотип запомню, «крест во все пузо». боюсь спросить… какова ваша роль в данном проекте? что тестируем?… или любуемся образцом/


                                  1. olartamonov
                                    29.05.2019 01:19

                                    Роль руководителя проекта и главного конструктора, а что?

                                    Ничего не тестируем, зачем нам что-то тестировать? Наша задача — устройство сделать в соответствии с пожеланиями заказчика, а не тестировать что-то там.


                        1. x893
                          29.05.2019 11:32

                          Такие LORA тоже бывают
                          image


      1. Berkseo Автор
        28.05.2019 23:04

        много хотелок, все пытается немного подожрать, но есть куда стремится, там реально мка 15 скинуть…


    1. RathemSerg
      29.05.2019 16:08

      TTP и повышающий преобразователь — «не нужны» они для чего? для какого изделия они не нужны и чем это обоснованно?
      40мкА потребление — это очень много для каких целей и при каких условиях?


      1. olartamonov
        29.05.2019 16:22

        Очевидно, для изделия, целей и условий, описываемых в данной статье.


        1. RathemSerg
          29.05.2019 16:29

          если оценивать объективно — это совершенно неверные по своей сути и по подаче претензии. описан в теории и воплощён на практике нормальный «набор» технологий и\или компонентов. и кнопки сенсорные и повышайка.
          просто не следует смотреть на вещи однобоко и со своей колокольни.


          1. olartamonov
            29.05.2019 16:33

            Если задачей автора было «у меня есть TTP223, мне надо сделать кнопку с их использованием», то он мог самостоятельно сообщить нам об этом.

            Ну, не знаю, в качестве курсовой в институте ему такое задание дали. Так себе задание, но что делать, не отчисляться же.

            Автор нам, однако, вместо этого сообщил, что TTP223 он использует потому, что без них не умеет.

            Это не значит, что без них нельзя, а также что если кто-то не умеет делать круглые колёса — то велосипед с квадратными на практике тоже вполне нормальный получится.


            1. Berkseo Автор
              29.05.2019 16:52

              Ну так «дядя» научи, сделай это на nRF52, запили видосик, пока все что я увидел это кастомная наклейка на старый неолайт, недоадминка очень впечатлила, можете эти ваши наработки сделать темой вашей будующей лекции. Что действительно у вас выросло так это скил троля :))) может Вам профиль в реале сменить?


              1. olartamonov
                29.05.2019 17:10

                Всему свое время, и время всякой вещи под небом:
                время рождаться, и время умирать; время насаждать, и время вырывать посаженное;
                время убивать, и время врачевать; время разрушать, и время строить;
                время плакать, и время смеяться; время сетовать, и время плясать;
                время разбрасывать камни, и время собирать камни; время обнимать, и время уклоняться от объятий;
                время искать, и время терять; время сберегать, и время бросать;
                время раздирать, и время сшивать; время молчать, и время говорить;
                время любить, и время ненавидеть; время войне, и время миру.


                Придёт время и для статьи.


            1. RathemSerg
              30.05.2019 09:36

              задачей автора было что-то слепить, он это сделал. так или иначе, но это работает, причём применённые компоненты использованы согласно их предназначению. никаких намёков про массовое изготовление или обучение других электронике или про изготовление убийцы ноолайта нет… вообще нет. пост из раздела «диайвай», каким вообще боком тут можно осуждать человека, что он не до конца выжал микроамперы и батарейка будет работать год вместо 3?

              вообще же, конкретно с вами, складывается просто фантастическая ситуация, раньше такого наверное не было или уж во всяком случае сложно было представить. это или пижонство или проф-деформация на фоне круглосуточного обсуждения одной темы.
              с одной стороны — есть адекватные посты про технологии или тонкости вроде ардуины и электродов на голову без изоляции. с другой — совершенно дурные комментарии к постам о самоделках о том, что автор говно и вообще можно поставить батарейку за 10 центов. то, что стоимость головняка от оптимизаций и доработок в домашнем применении никогда не окупится — тихо умалчивается.
              другой пример — лекции. с одной стороны есть вроде как много полезной информации, подаваемой в хорошем формате. с другой — совершенно неуместные баталии «arduino и стм32» + подмена понятий и сравнение вещей из разных областей применения.

              ну а чтобы не слушать непонятных ноунеймов из интернетов — у автора EEVBlog есть замечательное видео на эту тему, AVR vs STM vs PIC. и там он озвучивает ровно то, чему учили в правильных вузах — инженер подбирает инструмент под задачу. тот, который подойдёт под проект и под разработчика. все остальные — не инженеры а просто фанбои, и не важно сколько беспроводных платок на NRF и с потреблением 2мкА было собрано.


              1. olartamonov
                30.05.2019 21:36

                задачей автора было что-то слепить, он это сделал


                «Сделяль». При такой задаче правильно писать «сделяль».

                При этом автор со своими статьями сюда ходит рекламировать сообщество MySensors, в котором нам должны помочь решить наши проблемы (решать будут с таким же уровнем, как у автора?), а также абсолютно нетерпимо относится к любому намёку на критику.


                1. RathemSerg
                  31.05.2019 13:12

                  допустим мастер спорта в зале набьет лицо начинающему тренеру. с постановкой объяснения «при становой тяге можно ногу вывернуть на 3 градуса, мне так удобнее». как можно назвать такого человека… быдло? урод?
                  а я вот зашёл почитать про сенсорные выключатели и увидел полную аналогию такого цирка но просто в области электроники. если автор пытается продать какой-то шлак в группе или ещё где-то то нужно просто так и написать. либо конкретно указать какие костыли можно переделать «правильно» либо хотя бы указать в чём именно проблема. а вместо этого получаем просто пафосные отсылки почитать даташит, какие-то сравнения с дипломами и яростное желание показать что «сделяль наколенке».

                  p.s. просмотрел «рекламу». да, возможно озвученные девайсы действительно сделаны не топово (по виду), но они себя позиционируют в т.ч. и как опенсорс. какие тут могут быть претензии, хотя бы в теории....?


  1. Berkseo Автор
    28.05.2019 22:58

    1) покажите пример стабильной реализации внутренних тачев, даташиты мы все умеем читать, сенсорники и на аврах есть, таже атмега 328.
    2) видимо по вашему мнению это вытекает из даташита свежепрочитанного, ну так на борту ттпшка, а у нее номинальное 3в, пьезоизлучатель, у него 3в, ржб леды, как вы красиво предлагаете ограничить их потребление, да что бы они светили как надо через стекло. А так да, нрфка может и от 1.8 робить.
    3) Ну как смогли, не будьте голословными, покажите Ваш пример реализации.
    ps… где то у меня скрин завалялся с вашим коментом из другой моей темы…


    1. olartamonov
      28.05.2019 23:10

      покажите пример стабильной реализации внутренних тачев


      А чего там нестабильного может быть? Есть две типовые реализации, работающие на практически любом контроллере — заряд-разряда пада через высокоомный резистор или емкостной делитель чисто на переключении входа АЦП. ЕМНИП у nRF52 любой AIN можно подключить на VDD (для измерения напряжения питания), соответственно, реализация с емкостным делителем здесь наиболее уместна — 0 (ноль) внешних компонентов.

      Алгоритм обработки сигнала в случае выключателя прост как валенок — читаем каждые 100 мс, любое запороговое изменение уровня, наблюдающееся в трёх последовательных чтениях, считаем срабатыванием.

      ну так на борту ттпшка, а у нее номинальное 3в, пьезоизлучатель, у него 3в, ржб леды


      ТТП не нужна, пьзоизлучатель раскачивается мостовым включением (но вообще-то я несколько сомневаюсь, что вам в выключателе его номинальные децибелы вообще нужны — вы им по ночам родных и близких будить собираетесь?), RGB-светодиоды — так вам шашечки или ехать? Пользователь вашего чуда задолбается же батарейки менять.


      1. Berkseo Автор
        28.05.2019 23:20

        рассуждать это одно дело, реализовать совсем другое, ткните хотя бы в невашу реализацию. меня устраивает внешний тач, который сам по себе и колибруется и стабильно работает.


        раскачивается, ну ну, раскачайте что бы на паре вольт отчетливо через корпус 40 милисекундный клик сделать отчетливо.


        мне и шашечки и ехать, мне нужны леды, поэиому они там. закину вам еше чтоб бомбануло сильнее, в следубщей версии и вибро будет..


        1. olartamonov
          28.05.2019 23:36

          Какое к чёрту «колибруется», что вы вообще несёте? У вас устройство, работающее при комнатной температуре с событиями продолжительностью в единицы секунд, там нечему «колиброваться».

          Возьмите в руки копеечный ноолайтовский выключатель с сенсорными кнопками, сделанный на убогом 8-ногом PIC12 с 25 байтами ОЗУ и работающий по три года на одной CR2032, и сравните со своим творением.


          1. Berkseo Автор
            28.05.2019 23:46

            ну я вас опять к даташитам отправляю.
            ненашел выключателя с заявленными характеристиками, ткните, нестесняйтесь. а там посмотрим что там у них влияет на три года жизни на 200 мА. думаю не в сенсорниках дело.


            1. olartamonov
              28.05.2019 23:51

              Вас в гугле совсем-совсем забанили?

              habr.com/ru/company/boxowerview/blog/165131


          1. lenz1986
            29.05.2019 10:52

            Ноолайт на старте был копеечный… И не три года он работает… я его как воткнул в 2013… так и пашет :) в двух квартирах освещение полностью с него управляется. Щас штука дорогая…


            1. olartamonov
              29.05.2019 11:06

              Ну он на старте был и примитивным также весьма, я был сильно удивлён, обнаружив, что его некоторые инсталляторы умных домов за деньги всерьёз используют в оригинальном виде.

              Но меня в данном случае удивляет, как люди на жирнейшем Cortex-M4, увешанном периферией вообще на любой вкус, не могут повторить то, что было давно сделано на крохотном PIC12, и считают это своим достижением.

              Ещё года три — и дойдём до того, что нажатие кнопки в выключателе нейросеть определять будет.


              1. siargy
                29.05.2019 11:39

                поколение ардуинщиков скоро в промышленность пойдет)


                1. Polaris99
                  29.05.2019 14:33

                  Уже пошла


  1. alexesDev
    28.05.2019 23:28

    Завидую прямоте ваших рук, только как программисту больно смотреть на море копипасты в коде =)


  1. Berkseo Автор
    28.05.2019 23:39

    спасибо, как програмист вы про функции отрубающие ненужный функционал?


  1. nikerossxp
    29.05.2019 00:48

    Тупой вопрос, но зачем оно надо, когда есть:
    ru.aliexpress.com/item/EU-UK-standard/32845066316.html

    И даже с поддержкой умного дома\собсвенным пультом. Правда, с пультом очень вифи не любит, у меня сам включался\выключался.


  1. Berkseo Автор
    29.05.2019 00:52

    там по ссылке того чего мне нужно было нет. в два раза меньше, нужные мне характеристики, програмируемый


  1. Coriolis
    29.05.2019 08:13

    А это удобно, проходя мимо целитсья по маленькому кружку пальцем? Большой-то выключатель удобмен тем что достаточно зацепить край кнопки чтобы нажать.


    1. olartamonov
      29.05.2019 08:32

      Нет, неудобно.

      У меня сенсорные выключатели — все с выступающей рамкой и кнопками по углам, т.е. ткнуть надо внутрь угола рамки, и это можно сделать на ощупь.


      1. Coriolis
        29.05.2019 08:34

        Поделитесь моделью, будьте добры. Мне предстоит закупать на всю квартиру, муки выбора.


        1. olartamonov
          29.05.2019 08:39

          У меня не совсем покупные — на базе первой модели Ноолайта, в которой перепилен весь софт, ибо родной был ужасен, и я его никому не порекомендую.

          Нынешние вроде удовлетворяют требованию, но в руках я их не держал — и насколько хорошо работают, не знаю.

          Да, ещё один плюс их конструкции — поверх платы лежит не красивое стекло, а пластиковая плёнка, которую можно легко поменять на свою, распечатав на ней, что делает каждая кнопка. Ибо в умном доме, где конкретная кнопка может вызывать сценарии, групповые события, управлять чем-то через половину квартиры и т.п., запоминать, что делает каждый из вот этих неподписанных красивых кружочков на очередном Livolo — развлечение почище попадания в них пальцем в темноте.


          1. lenz1986
            29.05.2019 10:55

            А что в софте изменено и что не понравилось, у меня как работал так и работает. Ну и если вдруг софтом поделитесь… ;)


            1. olartamonov
              29.05.2019 11:11

              Вся привязка датчиков, силовых модулей, реализация логики их взаимодействия и настройка — через центральный шлюз, для которого пришлось нормально переписать драйвера их USB-ресиверов и набросать простой веб-интерфейс.

              Драйвера: github.com/olegart/noolite
              Интерфейс: github.com/olegart/noolite-php

              NB: по дате последнего коммита очевидно, что проект давно не поддерживается, поэтому, если у них какие-то новые ресиверы, API и т.п. — это не ко мне. Ну и кривизну их радиопротокола это не лечит, но там уже надо поддерживать свою прошивку на пики, что я точно делать не буду уже никогда.


              1. lenz1986
                29.05.2019 11:13

                ааа… эту часть я сам в первые же дни переделывал… я уж шальным делом про протокол в пиках подумал было. :)


        1. olartamonov
          29.05.2019 08:46

          Иллюстрация:



          Это корпус от старого, первого ещё Ноолайта, висит на кухне, при этом левая нижняя кнопка выключает свет в прихожей в нескольких метрах от.

          Многие не задумываются, но если такое сделать на Livolo, в котором три кнопки — просто три кружочка, то родные и близкие любить вас сильнее не станут, а гости будут тупо нажимать каждый раз наугад.


          1. Coriolis
            29.05.2019 08:49

            Понятно, спасибо за информацию.
            Жаль у ноолайта обратной отдачи нет, просто сенсор. Этим выгодно отличается вариант автора.
            Вот бы здорово чтобы вместо зумера был вибратор, как в мобильных телефонах. Звук громкий а вот вибрация не такая громкая зато тактильно как буд-то бы нажал.


            1. olartamonov
              29.05.2019 08:53

              Там светодиоды яркие, их вспышку очень хорошо видно.

              Ну и главной проблемой, повторюсь, у ноолайта был софт — протокол кривоват, а шлюз тогда вообще был бессмысленным недоразумением. Что сейчас — не знаю, утратил интерес к чужому железу.


              1. lenz1986
                29.05.2019 10:54

                Вроде как они сделали наконец с полноценной обратной связью.


                1. olartamonov
                  29.05.2019 11:12

                  Да вроде как года два назад. Но я чужим железом более не интересуюсь.


  1. lenz1986
    29.05.2019 11:01

    А в целом по железке. Пару вопросов. Штука прикольная, но для чего повышайка? Пару раз прошелся и не понял, вроде вся периферия успешно работает от 2вольт, а это по сути нижний порог.
    А так реализация классная, только ужать бы потреб поменьше, нрфка 3мка когда дрыхнет, два сенсора по 2 мка. 11ма на передачу. пару тройку лет проживет. Ну и по хорошему убрать майсенсорс, там никак не выходит 10мс передача. Голый код на С выдает 10мс при 2мбит канале, если слать 20 байт.


  1. siargy
    29.05.2019 11:16

    грамарняша смотрит на тебя с осуждением
    выключатель c стеклянной

    со стеклянной


  1. peanut
    29.05.2019 11:39

    Со стеклянной панелью


  1. augorelov
    29.05.2019 15:06

    Я понимаю, что Berkseo пришел на Хабр рекламировать свои изделия, как и на другой сайт. Я ничего против этого не имею. Но для «DIY или Сделай сам» хочется видеть схему электрическую для изучения, повторения, изменения и т.п.

    P.S.
    Я прекрасно понимаю, что карму мне могут подпортить за такой комментарий.


    1. Berkseo Автор
      29.05.2019 16:06
      -1

      Ну Вы тогда не правильно понимаете, смысл их рекламировать??? что бы продавать?… что то да продавал поначалу из своего через ебай, но это настолько геморойно, что сейчас если только голые платы. А вообще мне нравятся ваша логика — выкладывать исходники что бы рекламироватся :))
      Меня больше интересуют новые люди в сообществе…


      1. augorelov
        29.05.2019 16:52

        выкладывать исходники что бы рекламироваться

        Знаю ряд компаний ведущих коммерческую деятельность по изготовлению и продаже под своими брендами электронных и электротехнических изделий с открытыми исходными кодами для микроконтроллеров, применяемых в изделиях. У одних компаний они доступны в полном объеме, у других только некоторые модули.

        Обрисую Вам несколько ситуаций:
        1. Разработчик встраиваемых систем никогда не использовал в своей работе IDE от Arduino и начинать использовать не собирается, как ему быть без схемы электрической?
        2. Самодельщика не устроил форм-фактор предлагаемого Вами изделия, как ему быть без схемы электрической?
        3. Самодельщика не устроило питание от батарейки “таблетка” предлагаемого Вами изделия и хочет перевести на питание от “пальчиковых” или “мизинчиковых”, как ему быть без схемы электрической?
        4. Схемотехника не устроила трассировка платы, как быть без схемы электрической?

        Понятно, что разработчику встраиваемых систем и схемотехнику не составит труда разработать свою схему или преобразовать из файлов Gerber в схему электрическую, с потерей на это время. Но как быть самодельщику?!


        1. Berkseo Автор
          29.05.2019 16:55
          -1

          такие развлечения никто не отменял —


          1. augorelov
            29.05.2019 17:00

            И после данного подхода вы хотите видеть новых людей?!

            И будете утверждать, что пост не рекламный?!


            1. Berkseo Автор
              29.05.2019 17:08
              -1

              И после данного подхода вы хотите видеть новых людей?!
              Вы думаете все кто заинтересуется Майсенсорс сразу платы начнут разводить? Я пытаюсь показать что можно сделать на ардуино, и как прост сам Майсенсорс.
              И будете утверждать, что пост не рекламный?!
              Ну да!!! буду продолжать утверждать. Сейчас их действительно купить можно только у меня, недели через 2 теоретически возможно что уже не только. Ниже я писал, что паять серии мне не интересно, это утомительно и совсем не бьется с моими заработками. По началу это было больше интересно ради самого факта что кому то это нужно. Сейчас мне по барабану.


              1. augorelov
                29.05.2019 17:33

                Вы думаете все кто заинтересуется Майсенсорс сразу платы начнут разводить?

                А почему бы и нет?
                Я пытаюсь показать что можно сделать на ардуино, и как прост сам Майсенсор

                В данной статье этого не замечено.

                Данная статья по содержанию именно рекламная. В статье Вы описываете о готовом устройстве. Схемы электрической нет. Есть только код, который может подойти не всем (например, не всем нужен MySensor, кто-то использует свой проприетарный протокол) или по ряду других причин. И Gerber файлы, которые также не всех устроят, например, форм-фактор, питание, трассировка и т.п.
                Как Вы заметили купить пока можно только у Вас или у посредника в дальнейшем.


                1. Berkseo Автор
                  29.05.2019 18:04
                  -1

                  :), ну я далее не вижу смысла это перетерать, считаете что рекламная :) уважаю ваше мнение,… пожелайте тогда мне профита что ли…


                  1. augorelov
                    29.05.2019 19:15

                    А тут и нечего “перетирать”, как Вы выразились.

                    Вывод: сообщество Хабра не дождётся схемы электрической и перечня элементов.
                    Закрадывается мысль, что У Вас нет схемы электрической и перечня элементов.


                    1. Berkseo Автор
                      29.05.2019 19:23

                      Ок, не мешайте ей закрадыватся…
                      BOM скорее всего сегодня залью если время будет. В любом случае оно точно будет и с повторением устройства проблем не будет у желающих.


  1. j8kin
    29.05.2019 15:23

    Видел такие выключатели на Али стоят в районе 1000р, к сожалению надо подводить рабочий ноль, т.е. простая замена обычных не получается без перепротягивания проводов.

    Тут разве что форм-фактор меньше.


    1. Berkseo Автор
      29.05.2019 15:58

      вообще это скорее пульт, примерно как проходные на батарейках например у соноффа.


  1. puariha
    29.05.2019 18:44

    а зачем использовать микроконтроллер и к нему приблуды в виде TTP223? программно нельзя было сделать сенсорную кнопку? и жрать будет меньше


    1. augorelov
      29.05.2019 19:03

      Можно, но это сложнее применения TTP223.


    1. iig
      30.05.2019 08:49

      Можно ещё поинтересоваться, зачем собственно в 21 веке нужно именно сенсорную кнопку. Гостей озадачивать? :) Механические кнопки стоят почти ничего, нажимать можно не только пальцем, и есть киллер-фича — щелчок при нажатии.


  1. Karlson_rwa
    30.05.2019 01:16


    А почему у вас герберы с фоткой не совпадают?


    1. Berkseo Автор
      30.05.2019 01:28

      Там впоследствии был добавлен еще один IRLML6402TRPBF тк был упущен момент с рессетом, слишком долгое удержание кнопки reset приводило к сбросу пинания. а этот полевик перехватывает управление питанием


    1. Berkseo Автор
      30.05.2019 01:59

      Возьмите архив снова с гугл драйва, что то меня заливка насторожила у Q2 и Q4


    1. Berkseo Автор
      30.05.2019 02:09

      Щас уже скоро BOM добавлю