Как-то устанавливал клиенту умный дом: задача состояла в том, чтобы объединить все пульты в один и этим пультом стал телефон. Пультов было три, два из них были с инфракрасным сигналом, а вот третий — от штор — оказался на радиосигнале. Ик сигнал я могу записать и передать с помощью устройства ztx-120, а вот радиосигнал не запишешь. Что делать в этом случае я и хочу рассказать в этой статье. Только в примере будет не радиопульт, а сотовый телефон, смысл от этого не поменяется.

Для этого я взял плату z-uno, залил на нее свой код при помощи usb-кабеля через программу arduino IDE 1.6.5 (как установить arduino для z-uno на windows, я прочитал на z-uno.z-wave.me/install — инструкция на английском, но по картинкам все понятно). Так как язык «Cи» я не знаю, взял код от стандартной розетки, он есть в программе arduino в виде шаблона (называется «SimpleSwitch») и размножил его на пины 13,14,15. Ниже приведен тот код, который я залил на плату z-uno.

посмотреть код
/*
 * That is a Simple Sensor Multilevel example
 * It measures the value on the potentiometer
 * And sends report to the controller if changed
 */
 
// LED pin number
#define LED_PIN 13
#define LED_PINN 14
#define LED_PINNN 15

// Last saved LED value
byte currentLEDValue;
byte currentLEDValuee;
byte currentLEDValueee;

// next macro sets up the Z-Uno channels
// in this example we set up 1 switch binary channel
// you can read more on http://z-uno.z-wave.me/Reference/ZUNO_SWITCH_BINARY/
ZUNO_SETUP_CHANNELS(ZUNO_SWITCH_BINARY(getter, setter),
                    ZUNO_SWITCH_BINARY(getterr, setterr),
                    ZUNO_SWITCH_BINARY(getterrr, setterrr));

// next macro sets up the Z-Uno frequency
ZUNO_SETUP_FREQUENCY(ZUNO_FREQ_RU);

void setup() {
  pinMode(LED_PIN, OUTPUT); // setup pin as output
  pinMode(LED_PINN, OUTPUT); // setup pin as output
  pinMode(LED_PINNN, OUTPUT); // setup pin as output
}

void loop() { 
  // loop is empty, because all the control comes over the Z-Wave
}

// function, which sets new relay state
// this function runs only once the controller sends new value
 void setter (byte value) {
  // value is a variable, holding a "new value"
  // which came from the controller or other Z-Wave device
  if (value > 0) {    // if greater then zero
    digitalWrite (LED_PIN, HIGH); //turn LED on
  } else {            // if equals zero
    digitalWrite(LED_PIN, LOW);   //turn LED off
  } 
  // let's save our value for the situation, when the controller will ask us about it
  currentLEDValue = value;
}

void setterr (byte valuee) {
  // value is a variable, holding a "new value"
  // which came from the controller or other Z-Wave device
  if (valuee > 0) {    // if greater then zero
    digitalWrite (LED_PINN, HIGH); //turn LED on
  } else {            // if equals zero
    digitalWrite(LED_PINN, LOW);   //turn LED off
  } 
  // let's save our value for the situation, when the controller will ask us about it
  currentLEDValuee = valuee;
}

void setterrr (byte valueee) {
  // value is a variable, holding a "new value"
  // which came from the controller or other Z-Wave device
  if (valueee > 0) {    // if greater then zero
    digitalWrite (LED_PINNN, HIGH); //turn LED on
  } else {            // if equals zero
    digitalWrite(LED_PINNN, LOW);   //turn LED off
  } 
  // let's save our value for the situation, when the controller will ask us about it
  currentLEDValueee = valueee;
}

// function, which returns the previously saved relay value
// this function runs only once the controller asks
byte getter (){
  return currentLEDValue;
}
byte getterr (){
  return currentLEDValuee;
}
byte getterrr (){
  return currentLEDValueee;
}


На момент написания статьи пульта под рукой у меня не оказалось, но для примера я взял свой старенький мобильный с кнопками, разобрал и припаялся к кнопкам «один», «два» и «сброс». Далее решил взять с кнопок телефона всю «землю» и скрутить в один, а плюсы раскидал на пины 13,14,15.

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



Для таких случаев используется транзисторная оптопара.

Для того, чтобы было удобнее все это объединять, я взял макетную плату и соединил её с оптопарами. Нужно учесть, что там на оптопаре стоит кружочек или выемка — это та ножка оптопары, где расположен плюс диода, соответственно к этим ножкам мы будем присоединять плюсы от z-uno, а это у нас пины 13,14,15. «Землю» на оптопарах со стороны диода мы объединяем на макетной плате все в один и присоединяем их к порту gnd на z-uno.



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



Далее добавляем z-uno в сеть z-wave, и проверяем его на работоспособность. Как мы видим, все работает.



Удачных вам изобретений. В видео ниже вы можете посмотреть весь процесс.

Поделиться с друзьями
-->

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


  1. PKav
    05.07.2016 13:05

    Радиосигнал, как раз, записать и воспроизвести довольно просто при помощи копеечных пар радиомодулей на 433 или 315 МГц. Более того, я бы рассмотрел перевод ИК-управляемых устройств на радиоуправление с модификацией пультов — это было бы гораздо удобнее в повседневном использовании, не приходилось бы направлять пульт точно в приемник.

    И где плюс где земля всё-таки имеет значение — ведь при замыкании по кнопке потечет ток через подтягивающий резистор в землю или питание.


    1. alexeev1988
      05.07.2016 13:23

      Радиосигнал, как раз, записать и воспроизвести довольно просто при помощи копеечных пар радиомодулей на 433 или 315 МГц.

      Можно, но я рассматривал как это сделать с помощью z-wave устройств, а у них, как я отметил на видео, таких устройств нет.

      И где плюс где земля всё-таки имеет значение — ведь при замыкании по кнопке потечет ток через подтягивающий резистор в землю или питание.

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


      1. PKav
        05.07.2016 13:30

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


        1. alexeev1988
          05.07.2016 13:35
          -2

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


          1. Praktik
            05.07.2016 21:08

            вы описали работу реле, но не оптопары


            1. alexeev1988
              05.07.2016 21:09

              Оптопара это твердотельное реле!!!


              1. zabadal
                05.07.2016 22:43

                Как же все плохо. А наличие двух p-n переходов в реле вас не смущает?


                1. alexeev1988
                  05.07.2016 23:01

                  Материал из Википедии — свободной энциклопедии
                  Ссылка на материал
                  https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%BB%D0%B5

                  Реле? (фр. relais) — электрическое или электронное устройство (ключ), предназначенное для замыкания или размыкания электрической цепи при заданных изменениях электрических или неэлектрических входных воздействий.

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

                  Часто реле также называют самые различные устройства, замыкающие или размыкающие контакты при изменении некоторой, не обязательно электрической величины. Это, например, устройства, чувствительные к температуре (тепловые реле), освещённости (фотореле), уровню звукового давления (акустические реле) и др. Также, часто реле называют различные таймеры, например, таймер указателя поворота автомобиля, таймеры включения/выключения различных приборов и устройств, например, бытовых приборов (реле времени).

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

                  При подачи тока на две ножки, вторые две от этого замыкаются, чем не реле?


                  1. zabadal
                    05.07.2016 23:59
                    +1

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

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

                    То что у вас что-то случайно заработало, не значит что из этого уже можно с кем то делиться «опытом». Вы знаете, какой примерно ток у вас течет через фототранзистор? Максимально допустимый в 50mA не превышаете? Тут даташит на оптопару с примером включения.
                    http://www.farnell.com/datasheets/73758.pdf

                    К чему я это всё. Я за то, чтобы авторы статей описывали свои работы, сначала разобравшись в вопросе и не давали вредных советов. А то получается Си не знаю — скопирую скетч, английский не знаю — там по картинкам все понятно, в электронике не разбираюсь — припаяю чего-нибудь куда-нибудь.


                    1. alexeev1988
                      06.07.2016 00:08

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

                      Часто реле также называют самые различные устройства, замыкающие или размыкающие контакты при изменении некоторой, не обязательно электрической величины. Это, например, устройства, чувствительные к температуре (тепловые реле), освещённости (фотореле), уровню звукового давления (акустические реле) и др.


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

                      Ниже видео в котором я демонстрирую все это.
                      https://youtu.be/U9hwsU7r1Qs


                      1. zabadal
                        06.07.2016 00:32

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


                        1. alexeev1988
                          06.07.2016 00:47

                          Привожу цитату из статьи

                          Для того, чтобы было удобнее все это объединять, я взял макетную плату и соединил её с оптопарами. Нужно учесть, что там на оптопаре стоит кружочек или выемка — это та ножка оптопары, где расположен плюс диода, соответственно к этим ножкам мы будем присоединять плюсы от z-uno, а это у нас пины 13,14,15. «Землю» на оптопарах со стороны диода мы объединяем на макетной плате все в один и присоединяем их к порту gnd на z-uno.


                          Читайте внимательней, перед тем, как задавать вопросы. Делайте, как написано в статье и у Вас все заработает. А что именно Вы припаивать собираетесь, телефон или пульт от кондиционера, мне все равно. Идея разложена, в статье все написано, дальше дело только за Вами.


                          1. alexeev1988
                            06.07.2016 00:53

                            Кстати видео, которое привел в комментарии выше

                            https://youtu.be/U9hwsU7r1Qs
                            , так и не посмотрели, так что вывод такой, что из этой статьи, Вам нужна только критика в комментариях и не более. А людям, которые разбираются в сети z-wave, есть что из нее подчеркнуть.


            1. alexeev1988
              05.07.2016 22:22

              Что такое оптопара https://www.youtube.com/watch?v=7LR1i1ILqFA&feature=youtu.be


  1. alexeev1988
    05.07.2016 13:20

    .


  1. zabadal
    05.07.2016 18:04

    Из статьи непонятно, зачем вообще понадобились оптроны. Ведь, как я понял, входы платы требуют, чтобы их просто замыкали на землю.
    Получается, что в статье описан способ, как на коленке подключить три кнопки к готовой плате? И всё?

    И да, эмиттер фототранзистора должен быть подключен на землю. Если у вас все заработало, это не значит что подобную небрежность нужно приводить в пример. Тем более, что в статье больше ничего и нет.


    1. alexeev1988
      05.07.2016 18:05

      Если просто замыкать на землю то работать не будет, так как у z-uno есть еще и свои 3,5 вольта, которые мешают телефону работать. У телефона на каждой кнопке свой вольтаж.
      Статья полезна для людей, которые занимаются сетями z-wave, я лично припаивал к z-uno пульт от штор, в конечном итоге смог их закрывать и открывать их с телефона.


      1. letun16
        07.07.2016 12:08

        У телефона есть своя земля — даю наводку: их нужно между собой согласовать по уровню с z-вэйвом. Матрица клавиатуры не подразумевает «на каждой кнопке свой вольтаж» — там либо замыкание на высокий/низкий уровень, либо (что встречается редко) замыкание портов микроконтроллера.


        1. alexeev1988
          07.07.2016 13:15

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