Всем привет.
Заколебали меня спиртовые термометры для бани. Решил сделать электронный. Получилось то, что получилось.
Основной функционал:
Это просто приборчик, который показывает:
1. Текущее время;
2. Температуру в парилке;
3. Температуру и влажность в моечном отделении.
Алгоритм работы прост:
При включении опрашиваются датчики и измеренные значения выводятся на графический дисплей.
TFT дисплей 1.8“ 120х160 RGB с I2C шиной и некоторыми дополнительными сигналами.


Схема очень простая.

Конструктив:


Можно скачать по ссылке : https://yadi.sk/d/NHSFaVPcqtLhNA
Заколебали меня спиртовые термометры для бани. Решил сделать электронный. Получилось то, что получилось.
Основной функционал:
Это просто приборчик, который показывает:
1. Текущее время;
2. Температуру в парилке;
3. Температуру и влажность в моечном отделении.
Алгоритм работы прост:
При включении опрашиваются датчики и измеренные значения выводятся на графический дисплей.
Верхние цифры соответственно часы, стрелочный индикатор показывает температуру в парилке, а нижние две строчки температуру и влажность в моечном отделении соответственно.
В качестве часов используется DS3231, датчик температуры в парилке DS18B20 (чёрный хвост на фотке) устанавливается через отверстие в стене парилки, датчик влажности и температуры DHT-11.
TFT дисплей 1.8“ 120х160 RGB с I2C шиной и некоторыми дополнительными сигналами.


Схема очень простая.

Бипер, который там стоит, не задействован. Енкодер нужен только один раз, что бы выставить время, но при доработке программы может использоваться для вызова из спячки, установки будильника и т. д. При отключении питания, часы продолжают идти. Об этом заботится батарейка рядом с микросхемой. В качестве «пламенного мотора» используется Arduino Nano.
Плата разведена с минимальным количеством переходных отверстий. В них придётся запаять перемычки. Сама ардуина стоит так, что перекрывает площадки для пайки. Но, если, вставить её не до конца, можно запаять. Чертежи платы даны в формате PCAD и в pdf файлах. Верхний слой уже отзеркален. Все необходимые файлы будут даны в конце статьи.
Конструктив:


На фотографии видна надстройка над ардуинкой. Это микросхема часов. Это временное решение из за ошибки трассировки. В готовом проекте ошибка исправлена и огород городить не придётся.
Программная часть проста. Используются стандартные библиотеки, которые свалены в каталог Lib. Основной код в каталоге Src. Сама программа проста до безобразия. В начале инициализируется вся периферия. В цикле производится опрос енкодера. Если он молчит, читаются датчики и выводятся на монитор. Моргание двоеточия сделано по прерыванию от микросхемы часов. Тест на обрыв и отказ датчиков не производится.
Батареек с этим дисплеем хватает на 20 — 25 часов непрерывной работы. Я обхожу это неудобство очень просто. Затапливаю баню. Когда чувствую, что температура в бане приближается к норме, подаю питание. После заседания в бане, отключаю питание. Хватает на пару месяцев. Дальнейшую модернизацию я вижу в следующем. Нужно уменьшить потребление отключением узлов контроллера, которые не учавствуют в работе. Перевод в «спящий» режим узлов которые учавствуют и будить их по прерыванию от микросхемы часов. Гасить экран, когда он не нужен. Включать его можно поворотом енкодера и при достижении определённой температуры в парилке. Так же можно ввести функцию будильника. Биппер для этого есть.
Замечание по библиотекам. Все библиотеки из стандартных репозиториев кроме uRTCLib. Изначально в ней содержались ошибки в функциях для работы с будильниками и прерыванием. Автор на мои письма не среагировал, поэтому пришлось поправить самому. Идея стрелочного индикатора не моя. Она мною только немного доработана. Найду автора, скажу спасибо.
Файлик со схемой платами и внешним видом : SCH.zip
Файлик с прошивкой и исходниками : Termo.zipМожно скачать по ссылке : https://yadi.sk/d/NHSFaVPcqtLhNA
Вложения
-
134.9 KB Просмотры: 127
Изменено: