Страница 1 из 1

[Пример] Датчик Окна/Двери (батарейка)

Добавлено: Ср мар 23, 2016 9:27 am
Ivan
Датчик Окна/Двери (батарейка)
Может применяться для контроля открытия двери и датчика вибрации. Также можно контролировать 2 датчика открытия. Контролировать 2 кнопки

Сделан на основании примера http://www.mysensors.org/build/binary

2 датчика
Подключать можно только к ножкам с обработкой прерывания во сне.
Для MSMD, Arduino Pro mini, Arduino Nano - это 2, 3 ножка

Считывание напряжение батареи и температуры
Считывание напряжение батареи (через внутренний осциллятор)
Считывание температуры (Температура процессора)
Чтобы измерения были точнее, нужно произвести калибровку, переменных tGain - множитель, tOffset - Смещение
Если хотите чтобы напряжение передавалось в % и через системное сообщение sendBatteryLevel, нужно раскомментировать #define SYSBAT и поправить MIN_V, MAX_V уровень напряжения батареи. (Не рекомендую использовать этот метод, по причине не информативности и проблемы подстройки)

Сброс настроек
Если при включении, на пин A0 подать напряжение VCC, произойдёт сброс адреса устройства, после чего оно запросит у гейта новый адрес

Данные которые передаются на гейт
  • [3] V_TRIPPED - Датчик открытия 1
  • [4] V_TRIPPED - Датчик открытия 2 (Либо датчик вибрации)
  • [254] V_TEMP - Температура устройства
  • [254] V_VOLTAGE - Напряжение источника питания
Алгоритм работы
  • Отключение ненужных систем процессора, для экономии батареи. ADC, analog comparator
  • Проверка сброса
  • Проверка и запуск NRF24
  • Презентация ноды и датчиков
  • Настройка прерываний
  • СОН
  • При срабатывании прерывания передача данных гейту
  • Если данные не переданны, передавать в следующий раз при просыпании (Уменьшать время сна)
  • СОН
Схемы подключения датчиков
Подключается на пин считывания, и на землю

Магнитный датчик http://ru.aliexpress.com/af/Wired-Door- ... tic+Switch
Датчик вибрации http://ru.aliexpress.com/af/Tilt-Vibrat ... ion+Sensor

Данный датчик можно приобрести. Смотрите раздел http://majordomo.smartliving.ru/forum/v ... =15&t=2219

Примеры
СпойлерПоказать
3ab25Ps.jpg
3ab25Ps.jpg (1.32 МБ) 5298 просмотров

Re: [Пример] Датчик Окна/Двери (батарейка)

Добавлено: Чт апр 21, 2016 3:30 pm
lanket
Красивый код. Сразу видно мастер.
Подчеркнул для себя много полезных идей по правильному подходу к программированию. Вроде как простая задачка на первый взгляд 2 кнопки обработать.
Спасибо.

Вопрос: для "кнопок" есть же библиотека Bounce2.h для исключения эффекта дребезга контактов.

Не боитесь этого эффекта?

Отправлено с моего HM NOTE 1LTEW через Tapatalk

Re: [Пример] Датчик Окна/Двери (батарейка)

Добавлено: Чт апр 21, 2016 3:40 pm
Ivan
В прерывании совтовый debounce не будет работать.

Там стоит задержка 10мс перед обработкой. Если не хватает, то рекомендую кондёр с резистором
con5.GIF
con5.GIF (2.79 КБ) 4949 просмотров
Схема для ресета. Но она же идёт для любой кнопки