8 апреля 2014 г.

Easy Home V2.0 - Первые шаги

В прошлый раз я рассказывал о блоке, позволяющем управлять работой света в прихожей, совмещенным с домофоном. В связи с грядущим переездом в новую квартиру (новой она считается условно - только из-за того, что сейчас в ней идет ремонт), встала необходимость создать или повторить нечто подобное. Не так давно ко мне в руки попал Arduino DUE и широкоформатный монитор 3.2" размером - именно то, на чем я буду делать новую версию.

Для начала, пару слов о составляющих. В качестве корпуса я использовал стандартный блок наружного крепления для пакетников. Монитор стал в него как родной без дополнительных доработок (после снятия защитной пленки смотрится очень даже неплохо).
Экранчик - стандартный TFT01-32WD (400х240 рх) шилд для ардуино. Ничего примечательного, за исключением того, что тач в нем работает отвратительно. Хотя, возможно, я просто отвык от резистивных экранов. А вот сам контролер заслуживает отдельного упоминания. Arduino DUE - это первая плата на базе 32-битного процессора с ядром ARM Cortex-M3. Сам Бог велел использовать его еще и потому, что работает это чудо от 3.3В, а это значит, что для подключения монитора, который тоже на дух не переваривает богомерзкие 5В, не придется городить "будербродов" с преобразованием уровней сигнала. Ну и все же 32-бита плюс 84МГц частоты процессора позволяют отрисовывать графику совершенно незаметно для глаз.
Постановка задачи:

  1. Повторить алгоритм управления светом. Вкратце напомню: автоматическое включение при открытии входной двери и "интеллектуальное" выключение.
  2. Сделать возможным выключение всего света одной кнопкой. С задержкой. очень полезная функция для меня. По утрам, перемещаясь работать в офис, я частенько забываю выключить свет то там то тут, что что и получаю от моей любимой половинки.
  3. Отображение информации о температуре и влажности на улице.
  4. Отображение информации о температуре и влажности в квартире.
  5. Постановка квартиры на охрану (включение видеонаблюдения, подключение к службе охраны, включение режима SMS-оповещений).
  6. Отображение логов всяких прочих датчиков (датчик протечки, датчики движения, датчики огня и утечки газа... да мало ли какие еще идеи возникнут?!).
После нескольких дней экспериментов с тачем, я окончательно решил от него отказаться и реализовать все по принципу банкомата: рядом с экраном разместить несколько физических кнопок управления, а на экране отображать их функциональное назначение в данный момент.
Выглядит это примерно вот так:
Что реализовано на данный момент:
  1. Загрузка с ожиданием инициализации датчика движения.
  2. Запилил небольшую библиотечку, позволяющую декларативно объявлять для разных экранов кнопки и фреймы для отображения информации.
  3. Ессно, реализовал простое добавление обработчиков нажатия кнопок.
В ближайших планах (на эти выходные) подключение модуля от метеостанции и датчика температуры и влажности в квартире. А еще надо бы все это собрать в корпус...
А вот так выглядит экран загрузки:
P.S. А еще отказ от стандартного переходника между экраном и контролером позволил реализовать программное включение и выключение подсветки.

Комментариев нет:

Отправить комментарий