Нано, сеть 220, наличие напряжения
- Войдите на сайт для отправки комментариев
Ср, 28/11/2018 - 08:12
Здравствуйте.
Подскажите пожалуйста. Нужно ардуинкой передавать по mqtt статус наличия 220в в сети. Использую нано, 4 пин цифра, реле с катушкой 220в. При наличии 220в реле замыкается и на 4 пин ардуинки приходит +5в. Она в свою очередь шлет по mqtt статус 1. 4 пин притянул 10 кОм к земле, использую библиотеку Bounce.
Ардуинка работает очень нестабильно. Очень часто пропускает вкл\выкл наблюдаемой 220 сети.
Вот код:
void loop()
{
//проверка состояния Кситала
if ( bouncer3.update() )
{
if (bouncer3.read() == HIGH)
{
client.publish("ihouse/security", String(0).c_str());
}
else
{
client.publish("ihouse/security", String(1).c_str());
}
}
}
Может есть более рациональный способ решения этой задачи?
благодарю
Есть... Убрать delay() из остального кода.
Хрена-се!
client.publish("ihouse/security", String(0).c_str());Это уже не просто гланды через анальное отверстие, а, наверное, тоже самое, но ещё и не снимая штанов и сидя на велике :)
Хрена-се!
client.publish("ihouse/security", String(0).c_str());Это уже не просто гланды через анальное отверстие, а, наверное, тоже самое, но ещё и не снимая штанов и сидя на велике :)
покажите как лучше.
А чего тут показывать? Выражение String(0).c_str() (требующее запроса памяти, пробразования и освобождения памяти!!!) эквивалентно простой строке "0" (ну, может тип придётся преобразовать, если потребуется).
А чего тут показывать? Выражение String(0).c_str() (требующее запроса памяти, пробразования и освобождения памяти!!!) эквивалентно простой строке "0" (ну, может тип придётся преобразовать, если потребуется).
Осталось от:
client.publish("ihouse/svet/holl", String(flag_holl).c_str());
где flag_holl тип boolean.
Осталось от:
client.publish("ihouse/svet/holl", String(flag_holl).c_str());
где flag_holl тип boolean.
такой же идиотизм.
Осталось от:
client.publish("ihouse/svet/holl", String(flag_holl).c_str());
где flag_holl тип boolean.
такой же идиотизм.
Как не по идиотски сделать?
Как не по идиотски сделать?
Вот так:
client.publish("ihouse/svet/holl", flag_holl ? "1" : "0");И для стабильности подавай 5В (подтягивай) при наличии наряжения в сети и замыкай на ноль при его отсутствии. Еще-бы посоветовал зашунтировать контакт реле конденсатором.