Для этого я взял плату 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)
zabadal
05.07.2016 18:04Из статьи непонятно, зачем вообще понадобились оптроны. Ведь, как я понял, входы платы требуют, чтобы их просто замыкали на землю.
Получается, что в статье описан способ, как на коленке подключить три кнопки к готовой плате? И всё?
И да, эмиттер фототранзистора должен быть подключен на землю. Если у вас все заработало, это не значит что подобную небрежность нужно приводить в пример. Тем более, что в статье больше ничего и нет.alexeev1988
05.07.2016 18:05Если просто замыкать на землю то работать не будет, так как у z-uno есть еще и свои 3,5 вольта, которые мешают телефону работать. У телефона на каждой кнопке свой вольтаж.
Статья полезна для людей, которые занимаются сетями z-wave, я лично припаивал к z-uno пульт от штор, в конечном итоге смог их закрывать и открывать их с телефона.letun16
07.07.2016 12:08У телефона есть своя земля — даю наводку: их нужно между собой согласовать по уровню с z-вэйвом. Матрица клавиатуры не подразумевает «на каждой кнопке свой вольтаж» — там либо замыкание на высокий/низкий уровень, либо (что встречается редко) замыкание портов микроконтроллера.
alexeev1988
07.07.2016 13:15Когда мерил тестером вольтаж на кнопках телефона, он на каждой кнопке был разный.
PKav
Радиосигнал, как раз, записать и воспроизвести довольно просто при помощи копеечных пар радиомодулей на 433 или 315 МГц. Более того, я бы рассмотрел перевод ИК-управляемых устройств на радиоуправление с модификацией пультов — это было бы гораздо удобнее в повседневном использовании, не приходилось бы направлять пульт точно в приемник.
И где плюс где земля всё-таки имеет значение — ведь при замыкании по кнопке потечет ток через подтягивающий резистор в землю или питание.
alexeev1988
Можно, но я рассматривал как это сделать с помощью z-wave устройств, а у них, как я отметил на видео, таких устройств нет.
Я менял плюс и землю местами, все работало, так как кнопки работают на замыкание им не нужен ток, можно замкнуть обычной отверткой или еще чем нибудь.
PKav
Через кнопки всё-равно идет ток при замыкании, и идет в конкретном направлении. У оптопары на картинке проводимость если не односторонняя, то в одну строну явно лучше, чем в другую — не зря же там стрелочка на фототранзисторе нарисована. Видимо, подтягивающий резистор в данном случае слабый и всё работает в обоих направлениях, но не факт, что так будет при всех номиналах подтягивающего резистора и питающего напряжения управляемой схемы.
alexeev1988
У оптопары, когда подаешь ток на две лапки с одной стороны, с другой стороны лапки замыкаются, по ним не идет ток который подается на первые две лапки. Кнопки работают от замыкания, соответственно все работает, и где земля и где плюс у кнопки по этому, не имеют значения.
Praktik
вы описали работу реле, но не оптопары
alexeev1988
Оптопара это твердотельное реле!!!
zabadal
Как же все плохо. А наличие двух p-n переходов в реле вас не смущает?
alexeev1988
Материал из Википедии — свободной энциклопедии
Ссылка на материал
https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%BB%D0%B5
Реле? (фр. relais) — электрическое или электронное устройство (ключ), предназначенное для замыкания или размыкания электрической цепи при заданных изменениях электрических или неэлектрических входных воздействий.
Обычно под этим термином подразумевается электромагнитное реле — электромеханическое устройство, замыкающее и/или размыкающее механические электрические контакты при подаче в обмотку реле электрического тока, порождающего магнитное поле, которое вызывает перемещения ферромагнитного якоря реле, связанного механически с контактами и последующее перемещение контактов коммутирует внешнюю электрическую цепь.
Часто реле также называют самые различные устройства, замыкающие или размыкающие контакты при изменении некоторой, не обязательно электрической величины. Это, например, устройства, чувствительные к температуре (тепловые реле), освещённости (фотореле), уровню звукового давления (акустические реле) и др. Также, часто реле называют различные таймеры, например, таймер указателя поворота автомобиля, таймеры включения/выключения различных приборов и устройств, например, бытовых приборов (реле времени).
Существует класс электронных твердотельных полупроводниковых приборов, называемых оптореле (твердотельное реле), эти приборы в данной статье не рассматриваются.
zabadal
Вы сами себе ответили. Под обычным реле обычно подразумевается электромагнитное реле, которое при срабатывании механически замыкает контакт и он превращается в проводник. Его можно включать в цепь любой стороной, потому что у проводника, как известно проводимость в обе стороны одинаковая. Также, будучи линейным элементом, он подчиняется закону Ома.
В другом классе электронных приборов — в оптопарах (и которые в приведенной вами статье с википедии вообще не рассматриваются) используется не механический способ замыкания. При срабатывании, то есть под действием света от светодиода, фототранзистор переходит в режим насыщения (открывается) и начинает проводить ток от коллектора к эмиттеру. Но при этом он не перестает быть транзистором — полупроводниковым, нелинейным прибором. И работать с ним надо по правилам работы с транзистором, правильно включая в цепь, понимая что делаете.
То что у вас что-то случайно заработало, не значит что из этого уже можно с кем то делиться «опытом». Вы знаете, какой примерно ток у вас течет через фототранзистор? Максимально допустимый в 50mA не превышаете? Тут даташит на оптопару с примером включения.
http://www.farnell.com/datasheets/73758.pdf
К чему я это всё. Я за то, чтобы авторы статей описывали свои работы, сначала разобравшись в вопросе и не давали вредных советов. А то получается Си не знаю — скопирую скетч, английский не знаю — там по картинкам все понятно, в электронике не разбираюсь — припаяю чего-нибудь куда-нибудь.
alexeev1988
Я советую Вам почитать повнимательней, вот часть текста из статьи википедии, которая написана в предыдущем ответе.
А по поводу знаю и не знаю, скажу одно, не возможно знать все, так что пока, кто то критикует статьи, другие по этим статьям собирает умные дома с голосовым управлением.
Ниже видео в котором я демонстрирую все это.
https://youtu.be/U9hwsU7r1Qs
zabadal
Ваша изначально ошибочная фраза о том, что транзистор можно включать в цепь как угодно губит всю статью. Или вы действительно в этом убеждены?
Не было бы ее — да собирайте на здоровье, кто мешает.
alexeev1988
Привожу цитату из статьи
Читайте внимательней, перед тем, как задавать вопросы. Делайте, как написано в статье и у Вас все заработает. А что именно Вы припаивать собираетесь, телефон или пульт от кондиционера, мне все равно. Идея разложена, в статье все написано, дальше дело только за Вами.
alexeev1988
Кстати видео, которое привел в комментарии выше
, так и не посмотрели, так что вывод такой, что из этой статьи, Вам нужна только критика в комментариях и не более. А людям, которые разбираются в сети z-wave, есть что из нее подчеркнуть.alexeev1988
Что такое оптопара https://www.youtube.com/watch?v=7LR1i1ILqFA&feature=youtu.be