Проходные выключатели через слаботочку.
- Войдите на сайт для отправки комментариев
Сб, 01/07/2017 - 21:07
Код для организации проходных выключателей.
Может кому пригодится.
Скетч использует 1042 байт.
Глобальные переменные используют 9 байт.
А можно както еще проще?
void setup() { pinMode(4, INPUT); // сюда подключаем переключатель №1 pinMode(5, INPUT); // сюда подключаем переключатель №2 pinMode(6, INPUT); // сюда подключаем переключатель №3 pinMode(7, OUTPUT); // сюда я подключил реле размыкающее цепь освещения } void loop() { boolean lamp1; //для преключателя №1 boolean key1 = digitalRead(4); boolean key1prew; if (key1 != key1prew) { // здесь определяем, произошло ли переключение if (lamp1 == 0) {lamp1 = 1;} else {lamp1 = 0;} } key1prew = digitalRead(4); //считываем состояние пина для отслеживания в следующем цикле //для преключателя №2 boolean key2 = digitalRead(5); boolean key2prew; if (key2 != key2prew) { if (lamp1 == 0) {lamp1 = 1;} else {lamp1 = 0;} } key2prew = digitalRead(5); //для преключателя №3 boolean key3 = digitalRead(6); boolean key3prew; if (key3 != key3prew) { if (lamp1 == 0) {lamp1 = 1;} else {lamp1 = 0;} } key3prew = digitalRead(6); // и можно еще добавить переключатели //переключаем реле if (lamp1 == 0) {digitalWrite(7, HIGH);} if (lamp1 == 1) {digitalWrite(7, LOW);} }
Сергей, а зачем эмулиировать проходные выключатели на микроконтроллере, чем плох натюр-продукт сам по себе?
Цена вопроса?
Моя получается такой:
ардуино нано 130р
блок притания к ардуино 130р
реле 35р
Экономия на проводах 20р.\метр
+ получение данных в сисиему умного дома.
Не, ну провода-то всё равно нужны - к Вашему девайсу тянуть же надо. Сами выключатели, не знаю, у того же Legrand цена не сильно отличается проходного от непроходного. А умный дом, это да - о нём я не подумал, т.к. у меня нету такой штуки. Не люблю когда техника умнее меня :)
Для уменьшения откомпилированного варианта, если известен конкретный контроллер, можно наменить работу с пинами на работу с портами.
Перекиньте тему в "Проекты"
Процетирую вторую строчку:
"Может кому пригодится."
Процетирую вторую строчку:
"Может кому пригодится."
А не проще две строчки написать самому, чем разыскивать по форуму?
Цена вопроса?
Моя получается такой:
ардуино нано 130р
блок притания к ардуино 130р
реле 35р
Экономия на проводах 20р.\метр
+ получение данных в сисиему умного дома.
Честно говоря, проект мне кажется "некрасивым". Приделывать Нану с БП к выключателю - это все равно как приматывать изолентой второй АКБ к телефону :) Это называется "колхоз" и так можно делать только что-то временное и ерундовое.
Если вопрос "проще" - то готовые проходные выключатели вне конкуренции, есть в любом крупном строймаге. И стоят, в общем-то, недорого... особенно если посчитать еще цену времени на монтаж "умных схем".
Если вопрос "дешевле" и с меньшими ресурсами - совершенно неясно, к чему для такого "сложного" кода брать Нану. Есть более дешевые варианты - Про мини за 95 рублей, Дигиспарк за 80 рублей. Но вообще правильнее взять голый контроллер - Атмегу8 или Атини2313 по 50р. А самый оптимальный, имхо, вариант - Атини13 - 20р на Али.
Кроме цены, на голых МК размеры схем будут мизерными и легко поместятся внутри стандартного выключателя. Нану с БП вы туда не запихнете. Не вполне понимаю, какое у вас реле, но вот всю микропроцессорную часть легко можно питать по той же слаботочке, поставив 1 БП на этаж или даже на целый дом. Вам же все равно придется вести общую землю от датчика к датчику - так положите один лишний провод для VCC
Нет, ну с "Проектами" - это ТС погорячился. Думаю, вопрос стоял, как реализовать алгоритм, названный ТС "проходной выключатель" возможно короче и проще. Не как самостоятельный проект, а как часть какого-либо другого проекта.
В некоторых случайх проще и дешевле прикрутить котролер чем проходные выключатели. Для каждого проходного необходимо тянуть 2 жилы. Если их три как в описанном проеткте это надо завязывать все выключатели тремя двухжильными проводами и это все надо делать на этапе строительства, пока проложены штробы и не заштукатурено все. А если выключатели уже стоят, то штробить все и делат ремонт заново не вариант.
Например в моем случае, проект этот то, что нужно, ибо к проходникам у меня завязываются электромагнитные замки к которым в свою очередь подвязано освещение с задержкой по времени. Это обычными электротехническими способами не сделаешь.
Так что автору спасибо за скетч:)
Может кому пригодится.
А можно както еще проще?
Если нужно попроще и это комуто пригодилось, тогда можно так
А что делает PIND & 0x70; ?
Вот вариант попроще. Не так конечно как у vosara но зато не использовал PIND ( в котором я не особо шарю :) )
0x70 - это маска в двоичном формате 01110000, единички указывают на пины 4, 5, 6.
pin456 = PIND & 0x70; // поразрядное логическое И - в pin456 заносим только состояние пинов 4, 5, 6, а все остальные биты будут всегда 0