4 декабря 2016 г.
Textual description of firstImageUrl

Рукожопим вентиляцию на балконе на базе датчика температуры DS18b20 и Arduino UNO R3 MEGA328P

Проектирую элемент "умного дома": охлаждение (проветривание) балкона (может пригодиться для любых других помещений).

Задача:
  • научиться работать с датчиком DS18b20
  • построить оптимальный алгоритм для анализа данных с датчика
Исходные материалы:

Введение

Безусловно вначале необходимо приобрести данные девайсы (ссылки выше) и конечно же проверить:

Начала работы

Для начала нам необходимо поставить соответствующее ПО (Arduino Software). Найти его можно здесь. Впоследствии, когда я делал библиотеку, я понял что Ардуино Software это полная лажа (слишком все урезано, очень много нужно совершать "телодвижений", где могла быть автоматизация) и перешел на Arduino IDE, на чем я собственно пока и остановился.

Собираем стенд для отладки

Схема без реле, ну там все просто, сами сообразите

Алгоритм

О причинах я рассказываю в видео.

Замеры выполняются на 5-минутных интервалах, по окончании 30-минутных "отрезков" времени алгоритм выносит решение о включении или выключении вентиляторов. Дабы избежать дребезга, порог для включения 29 градусов, для выключения 25.
Если вентиляторы включены и подошел к концу, то выполняется анализ тенденции изменения температуры:
  • если не меняется или растет, то нет смысла тратить энергию, вентиляторы выключаются и повторная попытка делается через час
  • если снижается, то выполняется анализ тенденции снижения (подробнее в видео)

Библиотеку для датчика DS18b20 я взял в интернете и "перепилил" ее почти полностью, выбросив все лишнее и оставив только нужное, для этой конкретной модели.