ARDUINO Термометр для бани

Эдуард Анисимов

★★★★✩✩✩
23 Сен 2019
908
268
54
Марий-Эл
Всем привет.
Заколебали меня спиртовые термометры для бани. Решил сделать электронный. Получилось то, что получилось.

Основной функционал:

Это просто приборчик, который показывает:
1. Текущее время;
2. Температуру в парилке;
3. Температуру и влажность в моечном отделении.

Алгоритм работы прост:
При включении опрашиваются датчики и измеренные значения выводятся на графический дисплей.
Верхние цифры соответственно часы, стрелочный индикатор показывает температуру в парилке, а нижние две строчки температуру и влажность в моечном отделении соответственно.​

В качестве часов используется DS3231, датчик температуры в парилке DS18B20 (чёрный хвост на фотке) устанавливается через отверстие в стене парилки, датчик влажности и температуры DHT-11.​

TFT дисплей 1.8“ 120х160 RGB с I2C шиной и некоторыми дополнительными сигналами.

IMG_1526.JPGIMG_1527.JPG

Схема очень простая.
Схема.png
Бипер, который там стоит, не задействован. Енкодер нужен только один раз, что бы выставить время, но при доработке программы может использоваться для вызова из спячки, установки будильника и т. д. При отключении питания, часы продолжают идти. Об этом заботится батарейка рядом с микросхемой. В качестве «пламенного мотора» используется Arduino Nano.​

Плата разведена с минимальным количеством переходных отверстий. В них придётся запаять перемычки. Сама ардуина стоит так, что перекрывает площадки для пайки. Но, если, вставить её не до конца, можно запаять. Чертежи платы даны в формате PCAD и в pdf файлах. Верхний слой уже отзеркален. Все необходимые файлы будут даны в конце статьи.​

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

IMG_1528.JPGIMG_1529.JPG
На фотографии видна надстройка над ардуинкой. Это микросхема часов. Это временное решение из за ошибки трассировки. В готовом проекте ошибка исправлена и огород городить не придётся.​

Программная часть проста. Используются стандартные библиотеки, которые свалены в каталог Lib. Основной код в каталоге Src. Сама программа проста до безобразия. В начале инициализируется вся периферия. В цикле производится опрос енкодера. Если он молчит, читаются датчики и выводятся на монитор. Моргание двоеточия сделано по прерыванию от микросхемы часов. Тест на обрыв и отказ датчиков не производится.​

Батареек с этим дисплеем хватает на 20 — 25 часов непрерывной работы. Я обхожу это неудобство очень просто. Затапливаю баню. Когда чувствую, что температура в бане приближается к норме, подаю питание. После заседания в бане, отключаю питание. Хватает на пару месяцев. Дальнейшую модернизацию я вижу в следующем. Нужно уменьшить потребление отключением узлов контроллера, которые не учавствуют в работе. Перевод в «спящий» режим узлов которые учавствуют и будить их по прерыванию от микросхемы часов. Гасить экран, когда он не нужен. Включать его можно поворотом енкодера и при достижении определённой температуры в парилке. Так же можно ввести функцию будильника. Биппер для этого есть.​

Замечание по библиотекам. Все библиотеки из стандартных репозиториев кроме uRTCLib. Изначально в ней содержались ошибки в функциях для работы с будильниками и прерыванием. Автор на мои письма не среагировал, поэтому пришлось поправить самому. Идея стрелочного индикатора не моя. Она мною только немного доработана. Найду автора, скажу спасибо.​

Файлик со схемой платами и внешним видом : SCH.zip​
Файлик с прошивкой и исходниками : Termo.zip
Можно скачать по ссылке : https://yadi.sk/d/ya0kp_C8Ss9mPQ
 

Вложения

  • 134.9 KB Просмотры: 13
Последнее редактирование:
  • Лойс +1
Реакции: Mike_Levin_

Эдуард Анисимов

★★★★✩✩✩
23 Сен 2019
908
268
54
Марий-Эл
@Эдуард Анисимов, м.б. прошивку и исходники разнести по разным файлам?
Всё равно не лезет.
У меня файл со схемами содержал ещё картинки, которые в тексте и размер был 10Мб., а файл с программой и прошивкой занимал 3Мб. и всё залилось. Сейчас никак. После стирания прошивки и служебных файлов уменьшился до1,5Мб и всё равно не лезет. Такое ощущение, что в админке движка сайта кто то уменьшил разрешённый размер заливаемых файлов.

Да и стоит ли заморачиваться, всё равно никого не заинтересовало.
 

Wan-Derer

★★★★✩✩✩
Команда форума
31 Июл 2018
1,458
295
Москва
wan-derer.ru
@Эдуард Анисимов, не думаю что в этом есть какая-то проблема. Надо просто приложить коротенькую инструкцию как залить хекс, не морочась с компиляцией и пр. А кто захочет разбирать код, тот будет разбирать код :)
 

Эдуард Анисимов

★★★★✩✩✩
23 Сен 2019
908
268
54
Марий-Эл
@Эдуард Анисимов, не думаю что в этом есть какая-то проблема. Надо просто приложить коротенькую инструкцию как залить хекс, не морочась с компиляцией и пр. А кто захочет разбирать код, тот будет разбирать код :)
В данном случае устройство сделано на ардуине под PlatformIO. Те кто с ней разобрался смогут и залить. У меня PlatformIO заработало на раз.
Остальные проекты сделаны на PIC контроллерах, а это выходит за рамки тематики сайта.
Сейчас занялся STM32,