Задача:
- научиться работать с датчиком DS18b20
- построить оптимальный алгоритм для анализа данных с датчика
Исходные материалы:
Введение
Безусловно вначале необходимо приобрести данные девайсы (ссылки выше) и конечно же проверить:Начала работы
Для начала нам необходимо поставить соответствующее ПО (Arduino Software). Найти его можно здесь. Впоследствии, когда я делал библиотеку, я понял что Ардуино Software это полная лажа (слишком все урезано, очень много нужно совершать "телодвижений", где могла быть автоматизация) и перешел на Arduino IDE, на чем я собственно пока и остановился.
Собираем стенд для отладки
Схема без реле, ну там все просто, сами сообразите
Алгоритм
О причинах я рассказываю в видео.
Замеры выполняются на 5-минутных интервалах, по окончании 30-минутных "отрезков" времени алгоритм выносит решение о включении или выключении вентиляторов. Дабы избежать дребезга, порог для включения 29 градусов, для выключения 25.
Если вентиляторы включены и подошел к концу, то выполняется анализ тенденции изменения температуры:
- если не меняется или растет, то нет смысла тратить энергию, вентиляторы выключаются и повторная попытка делается через час
- если снижается, то выполняется анализ тенденции снижения (подробнее в видео)
Библиотеку для датчика DS18b20 я взял в интернете и "перепилил" ее почти полностью, выбросив все лишнее и оставив только нужное, для этой конкретной модели.