Часы + термометр на pic16f628a и led индикаторах

PicHobby.lg.ua

Полезные изобретения на микроконтроллерах

Термометр на микроконтроллере PIC16F628A и DS18B20(DS18S20)

  • Автор: Ерёмин Антон
  • Комментарии (134)

Термометр на микроконтроллере PIC16F628A и DS18B20(DS18S20) – статья с подробным описанием схемы запоминающего термометра и, вдобавок, — логическое продолжение ранее опубликованной мною статьи на яндекс сайте pichobbi.narod.ru. Этот термометр довольно неплохо себя зарекомендовал, и было принято решение немного его модернизировать. В этой статье расскажу, какие изменения внесены в схему и рабочую программу, опишу новые функции. Статья будет полезна новичкам. Позже переделал текущую версию термометра в термометр с коррекцией.

Термометр на микроконтроллере PIC16F628A и DS18B20(DS18S20) умеет:

  • измерять и отображать температуру в диапазоне:
    -55. -10 и +100. +125 с точностью 1 градус(ds18b20 и ds18s20)
    -в диапазоне -9,9. +99,9 с точностью 0,1 градус(ds18b20)
    -в диапазоне -9,5. +99,5 с точностью 0,5 градус(ds18s20);
  • Автоматически определять датчик DS18B20 или DS18S20;
  • Автоматически проверять датчик на аварию;
  • Запоминать максимальную и минимальную измеренные температуры.

Также в термометре предусмотрена легкая замена 7 сегментного индикатора с ОК на индикатор с ОА. Организована щадящая процедура записи в EEPROM память микроконтроллера. Вольтметр, который неплохо себя зарекомендовал, описан в этой статье — Вольтметр на PIC16F676.

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

Принципиальная схема термометра показана на рисунке 1

Рисунок 1 — Принципиальная схема термометра на PIC16F628A + ds18b20/ds18s20

Описывать всю принципиальную схему термометра не стану, так как она довольно проста, остановлюсь только на особенностях.

В качестве микроконтроллера применяется PIC16F628A фирмы Microchip. Это недорогой контроллер и к тому же не дефицитный.

Для измерения температуры используются цифровые датчики DS18B20 или DS18S20 фирмы Maxim. Эти датчики не дорогие, малые по размеру и информация о измеренной температуре передается в цифровом виде. Такое решение позволяет, не тревожиться о сечении проводов, о их длине и прочем. Датчики DS18B20, DS18S20 способны работать в диапазоне температур от -55… +125 °С.

Температура выводится на 7-ми сегментный 3-х разрядный LED индикатор с общим катодом (ОК) или с (ОА).

Для вывода на индикатор максимальной и минимальной измеренных температур нужна кнопка SB1. Для сброса памяти так же нужна кнопка SB1

Кнопкой SA1 можно оперативно переключать датчики(улица, дом).

Jamper необходим для переключения общего провода для LED индикатора. ВАЖНО! Если индикатор с ОК – то ставим jamper на нижнее по схеме положение, а транзисторы VT1-VT3 впаиваем p-n-p проводимости. Если LED индикатор с ОА, то jamper переводим в верхнее по схеме положение, а транзисторы VT1-VT3 впаиваем n-p-n проводимости.

В таблице 1 можно ознакомиться со всем перечнем деталей и возможной их заменой на аналог.

Таблица 1 – Перечень деталей для сборки термометра

Позиционное обозначение Наименование Аналог/замена
С1, С2 Конденсатор керамический — 0,1мкФх50В
С3 Конденсатор электролитический — 220мкФх10В
DD1 Микроконтроллер PIC16F628A PIC16F648A
DD2,DD3 Датчик температуры DS18B20 или DS18S20
GB1 Три пальчиковых батарейки 1,5В
HG1 7-ми сегментный LED индикатор KEM-5631-ASR (OK) Любой другой маломощный для динамической индикации и подходящий по подключению.
R1,R3,R14,R15 Резистор 0,125Вт 5,1 Ом SMD типоразмер 0805
R2,R16 Резистор 0,125Вт 5,1 кОм SMD типоразмер 0805
R4,R13 Резистор 0,125Вт 4,7 кОм SMD типоразмер 0805
R17-R19 Резистор 0,125Вт 4,3 кОм SMD типоразмер 0805
R5-R12 Резистор 0,125Вт 330 Ом SMD типоразмер 0805
SA1 Любой подходящий переключатель
SB1 Кнопка тактовая
VT1-VT3 Транзистор BC556B для индикатора с ОК/ транзистор BC546B для индикатора с ОА KT3107/КТ3102
XT1 Клеммник на 3 контакта.

Для первоначальной отладки работы цифрового термометра применялась виртуальная модель, построенная в протеусе. На рисунке 2 можно увидеть упрощенную модель в протеусе

Рисунок 2 – Модель термометра на микроконтроллере PIC16F628A в Proteus’e

На рисунке 3-4 показана печатная плата цифрового термометра

Рисунок 3 – Печатная плата термометра на микроконтроллере PIC16F628A(низ) не в масштабе.

Рисунок 4 – Печатная плата термометра на микроконтроллере PIC16F628A(верх) не в масштабе.

Термометр, собранный рабочих деталей начинает работать сразу и в отладке не нуждается.

Результат работы рисунки 5-7.

Рисунок 5 — Внешний вид термометра

Рисунок 6 — Внешний вид термометра

Рисунок 7 — Внешний вид термометра

ВАЖНО! В прошивку термометра не вшита реклама можно пользоваться в свое удовольствие.

Поправки, внесенные в рабочую программу:

1 автоматическое определение датчика DS18B20 или DS18S20;

2. снижено время перезаписи в EEPROM(если выполнилось условие для перезаписи) с 5 минут, до 1 минуты.

3. увеличена частота мерцания точки;

Более подробное описание работы термометра можно посмотреть в документе, который можно скачать в конце этой статьи. Если скачивать нет желания, то на сайте www.pichobbi.narod.ru также отлично расписана работа устройства.

Готовая плата отлично поместилась в китайский будильник (рисунки 8, 9).

Рисунок 8 – Вся начинка в китайском будильнике

Рисунок 9 — Вся начинка в китайском будильнике

Как использовать датчик температуры и влажности воздуха DHT11 с PIC16F628A и LCD

В данной статье мы рассмотрим, как, используя PIC-контроллер, можно считать из DHT11 значения температуры и относительной влажности воздуха и показать их на LCD. В этом примере мы будем использовать микроконтроллер PIC16F628A.

Нам потребуется

Чтобы выполнить этот проект вам понадобится следующее:

  • компьютер с установленными MPLAB X IDE и компилятором XC8 версии 1.34 от Microchip (я использую MPLAB X версии 3.05 и XC8 версии 1.34);
  • микроконтроллер PIC16F628;
  • LCD (HD44780 или аналог);
  • датчик температуры и относительной влажности воздуха DHT11;
  • инструмент для прошивки микроконтроллера (я испльзую PICkit3);
  • компоненты, перечисленные в перечне элементов из Eagle;
  • если вы хотите собрать макет схемы, то вам понадобится макетная плата и несколько перемычек.

Введение

DHT11 – это датчик температуры и влажности воздух, который использует один провод для передачи 40 бит данных. Первые 16 бит – это целая и дробная части значения влажности, следующие 16 бит – целая и дробная части значения температуры, и последние 8 бит – это контрольная сумма.

Чтобы DHT11 и микроконтроллер начали общаться друг с другом, их необходимо засинхронизировать. Чтобы засинхронизировать их, микроконтроллер посылает сигнал старта, который представляет собой импульс длительностью 20 мкс на выводе данных. После импульса, микроконтроллер ждет получения данных. В программе мы должны изменить направление вывода данных. Вы можете прочитать подробности о DHT11 в техническом описании. У вас может быть датчик, как в 4-выводном, так и в 3-выводном корпусе; но мы используем 3-выводную версию. Между этими версиями нет никакой разницы, а дополнительный вывод ни к чему не подключен.

Датчик температуры и относительной влажности воздуха DHT11

Аппаратная часть

Первая умная вещь, которую стоит сделать при создании гаджета, это нарисовать его структурную схему. Это поможет вам увидеть, что вам необходимо, и как это реализовать. Ниже приведена структурная схема нашего термометра.

Читайте также  Инвертор с пониженным питанием

Структурная схема термометра на PIC16F628, DHT11 и LCD
(может показаться избыточным, составлять структурную схему для каждой мелочи, но это может быть полезно)

Мы хотим, чтобы DHT11 передавал данные микроконтроллеру.

Мы хотим, чтобы микроконтроллер обрабатывал данные и отображал их на LCD дисплее.

Мы хотим, чтобы у нас была возможность прошивать микроконтроллер через ICSP.

Принципиальная схема

Принципиальная схема разделена на блоки.

Принципиальная схема термометра на PIC16F628 и DHT11 Блок питания Приводит входное напряжение к значению 5 вольт. Использует стабилизатор напряжения LM7805. ICSP Это 5-пиновый разъем, подключенный к выводам программирования микроконтроллера. Мы используем этот разъем для прошивки микроконтроллера. DHT11 Это 3-пиновый разъем, к которому подключен датчик. Средний вывод подключен к микроконтроллеру для передачи данных. MCU Это PIC16F628, который принимает данные от DHT11 и выводит их на LCD дисплей. Дисплей LCD дисплей (2 строки по 16 символов), который показывает влажность и температуру воздуха.

Микроконтроллер у нас будет работать от внутреннего тактового генератора с частотой 4 МГц. Поэтому на схеме нам не нужен кварцевый резонатор.

Eagle сгенерировала нам следующий перечень элементов:

Термометр на PIC16F628 и DHT11. Перечень элементов

Позиционное обозначение Номинал Элемент Корпус Библиотека Лист
C1 0.1uF C-EU025-050X050 C025-050X050 rcl 1
C2 100uF CPOL-EUE2.5-5 E2,5-5 rcl 1
C3 0.1uF C-EU025-050X050 C025-050X050 rcl 1
C4 100uF CPOL-EUE2.5-5 E2,5-5 rcl 1
C5 0.1uF C-EU025-050X050 C025-050X050 rcl 1
D1 1N4004 1N4004 DO41-10 diode 1
IC2 7805TV 7805TV TO220V linear 1
IC3 PIC16F628 DIL18 DIL18 ic-package 1
JP1 ICSP PINHD-1X5 1X05 pinhead 1
JP2 16×02 LCD PINHD-1X16 1X16 pinhead 1
JP3 DHT11 PINHD-1X3 1X03 pinhead 1
R1 10K R-EU_0204/7 0204/7 rcl 1
R2 5K TRIM_EU-LI10 LI10 pot 1
R3 4K7 R-EU_0204/7 0204/7 rcl 1
S1 Reset TAC_SWITCHPTH TACTILE-PTH SparkFun 1
X1 7-35vDC W237-10 W237-102 con-wago-500 1

Теперь, когда мы разобрались с аппаратной частью, пришло время заняться программным обеспечением.

Программа

При установке компилятора XC8 вы также добавили и некоторые заголовочные и исходные файлы. В этом руководстве мы используем файлы библиотеки по работе с LCD, которые идут с компилятором XC8: XLCD.H и несколько исходных файлов. Чтобы всё немного упростить, я скопировал содержимое всех исходных файлов в один файл. На моей установке Ubuntu исходные файлы XLCD находятся в каталоге:

/opt/microchip/xc8/v1.34/sources/pic18/plib/XLCD

Там было 10 файлов, bysyxlcd.c , openxlcd.c , putrxlcd.c и т.д.. Я поместил содержимое всех этих файлов в один файл и назвал его my_xlcd.c . Этот файл теперь содержит все функции. Файлы my_xlcd.c и xlcd.h необходимо скопировать в каталог проекта (файл xlcd.h находился в каталоге /opt/microchip/xc8/v1.34/include/plib ). Файл xlcd.h – это стандартный файл, который нуждается в небольшом редактировании. Нам необходимо изменить данные о подключении LCD к микроконтроллеру, чтобы они совпадали с нашей схемой:

Теперь связь между LCD дисплеем и микроконтроллером задана. С этими двумя файлами ( my_xlcd.h и my_xlcd.c ) больше ничего делать не требуется.

Далее основная программа. Она начинается с включения нескольких заголовочных файлов, битов конфигурации, определений, объявления переменных и функций:

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

Пользователь должен обеспечить три функции задержки:

  • DelayFor18TCY() обеспечивает задержку в 18 циклов;
  • DelayPORXLCD() обеспечивает задержку в 15 мс;
  • DelayXLCD() обеспечивает задержку в 5 мс.

Мы должны добавить еще и четвертую функцию задержки, Delay10KTCYx

Ниже приведены функция инициализации LCD и функции задержек:

Далее на очереди функции подачи стартового сигнала, чтения байта и проверки ответа:

Чтобы узнать, когда микроконтроллер передает сигнал старта, и когда DHT11 закончил передачу своих 40 бит, нам нужна функция прерывания:

И наконец, основная часть программы:

Это был один из способов использования DHT11 совместно с PIC контроллером и LCD дисплеем.

Заключение

Мы использовали микроконтроллер PIC16F628A совместно с датчиком DHT11 и отобразили значения температуры и относительной влажности воздуха на LCD дисплее. Вы можете, приложив немного усилий, преобразовать/подстроить код для какого-либо другого микроконтроллера. Программа занимает в микроконтроллере 32% памяти данных и 55% памяти программ. Это потому, что микросхема довольно низкого класса.

Разница между PIC16F628 и PIC16F628A в том, что версия с буквой «A» обладает внутренним тактовым генератором. Версия без буквы «A» нуждается во внешнем кварцевом резонаторе или RC цепи. Если вы покупаете PIC16F628, то убедитесь, что он с буквой «A». Другой контроллер является устаревшим.

Фото и видео

Проекты : Часы, будильники, календари, таймеры

Часы-будильник-термометр на светодиодных матрицах (матричные часы)

Конструктивно часы состоят из двух плат: управления и индикации. К плате управления подключаются кнопки управления, звуковой излучатель (динамик), разъем питания.

На плате индикации смонтированы 5 шт светодиодных матриц TA 12-11 EWA красного цвета свечения, которые образует поле светодиодов размерностью 25х7. На этом поле отображается текстовая и графическая информация. Автор реализовал вариант, в котором поочередно выводится значение времени и температуры. Анимация выглядит следующим образом: значение времени «выползает» сверху вниз, текущая температура «выбегает» справа налево.

Наличие матрицы светодиодов и реализация бегущей строки предполагает определенное включение и управление. Вывод данных может быть по строкам или по столбцам (для каждой матрицы). В нашем случае вывод данных построчный. Данные выводятся через сдвиговый регистр КР1533ИР8.

Автору удалось реализовать относительно простой рисунок печатной платы с использованием светодиодных матриц TA 12-11 EWA и КР1533ИР8. Рисунок платы монотонный и может легко мультиплицироваться до разумно-неограниченного числа матриц. Кроме этого, плата индикации по размерам сопоставима с размерами используемых светодиодных матриц, что позволяет сделать компактный корпус.

Плата управления собрана на 8-разрядном микроконтроллере PIC 16 F 628 A фирмы Microchip. Это наиболее популярный у радиолюбителей микроконтроллер, отличающийся широким распространением и низкой стоимостью.

Учет времени реализован на DS 1307 – это часы реального времени с последовательным интерфейсом. Точность часов зависит от точности кварцевого резонатора и точности соответствия между ёмкостной нагрузкой схемы тактового генератора и внутренней ёмкостью кварцевого резонатора. Дополнительная погрешность будет вноситься дрейфом частоты кварцевого резонатора, происходящим из-за температурных перепадов. Помехи и шум внешней схемы могут привести к убыстрению синхронизации.

Контроль температуры осуществляется микросхемой DS 18 B 20 в корпусе TO -92. Широко распространенная микросхема цифрового термометра DS18 B 20 выпускается фирмой DALLAS, обеспечивает измерение температуры в диапазоне –55..+125°C с дискретностью 0,5°C.

Регистр сдвига с защелкой 74 hc 595 увеличивает число выходов для управления строками. 74hc595 представляет собой последовательный регистр сдвига с выходной блокировкой. Для управления этой микросхемой достаточно трёх сигнальных линий. Принцип работы микросхемы 74hc595 заключается в последовательной записи логических сигналов высокого и низкого уровней и одномоментному выводу записанных данных в параллельном коде.

Сигналы с 74hc595 подается на сборку транзисторов ULN2003. Это очень популярная и легко доступная микросхема , которая состоит из семи составных транзисторов (Дарлингтона). ULN2003 способна коммутировать до 500 мА каждым из своих сборных транзисторов.

Платы индикации и управления соединены ленточным шлейфом. На плате управления ленточный шлейф закреплен клеем из термопистолета. Для подключения к плате индикации шлейф оконцован кабельным гнездом типа BLS . Плата индикации имеет ответную часть – вилку типа PLS .

Во время работы часов мигает двоеточие: разделитель часов и минут. Во время настройки будильника отображается статичная точка. Если часы останутся в режиме настройки будильника, то через несколько секунд они автоматически перейдут в режим отображения времени.

Кнопкой «часы/будильник» переключается режим работы. Кнопками «уменьшить» и «увеличить» меняется параметр времени (в зависимости от выбранного режима – для часов или для будильника). Во время срабатывания будильника прервать его звук можно нажатием на кнопку «часы/будильник».

Датчик температуры DS 18 B 20 смонтирован непосредственно на плату управления. Для адекватности показаний температуры необходимо исключить тепловой контакт с микросхемным стабилизатором напряжения 7805 на 5 вольт. При входном напряжении питания в 7 вольт ток потребления часами составляет в среднем 200-210 мА и, в свою очередь, стабилизатором напряжения 7805 разогревается примерно до 60 градусов.

Использованы матрицы TA 12-11 EWA (свечение красного цвета), TA 12-11 YWA (менее яркое свечение желтого цвета) из утилизированных игровых автоматов.

Микросхемный стабилизатор 7805 заменим на КР142ЕН5А, КР142ЕН5Б. Составные ключи ULN 2003 заменимы на ULN 2004. Регистры сдвига КР1533ИР8 на 74 hc 164, SN 74 ALS 164 N . Микроконтроллер PIC 16 F 628 A можно запрограммировать с помощью программатора Extra — PIC .

Конструктивно на плате индикации светодиодные матрицы находятся со стороны компонентов, а сдвиговые регистры и сопротивления на стороне пайки (используется односторонняя печатная плата).

Отдельного внимания заслуживает выбор светодиодных матриц. Фирмой Kingbright выпускается широкая номенклатура светодиодных индикаторов. Светодиодные матрицы матрицы TA 12-11 бывают следующих типов: TA12-11EWA (красный), TA12-11SRWA (красный супер яркий), TA12-11YWA (желтый), TA12-11GWA (зеленый). Каждый из этих вариантов различный по цвету и яркости может использоваться в конструкции.

Печатные платы под компоненты в отверстия изготовлены из односторонне фольгированного текстолита любым доступным способом, например, методом ЛУТ (лазерно-утюжная технология).

Для будильника может использоваться динамическая головка или звуковой излучатель (используется в системных блоках ПК).

При правильной сборке часы-будильник не требуют налаживания; необходимо лишь выставить текущее время и время срабатывания будильника. Предусмотрено условное отключение будильника. Если будильник выставить на 00:00, то он не сработает в это время.

Часы + термометр на PIC16F628A и LED индикаторах

Настольные и настенные часы с термометрами выполнены в корпусах от стрелочных часов. Часы и термометр изготовлены как отдельные, самостоятельные устройства.

Термометр описывать не буду, он выложен на этом же сайте термометр на PIC16F628A и FYD5622FS-11. Схема, печатная плата и прошивка там есть, все без изменений.

Датчик температуры DS18B20 настольных часов выведен за окно на улицу. Провода изолированные 0,35мм, длиной примерно 10 метров

Часы собраны на одинарных 7-ми сегментных светодиодных индикаторах зеленого цвета. Размер цифры 14х25,4мм – хорошо различимы с любого уголка комнаты. Обратите внимание, что индикатор подключен без гасящих резисторов. Это связано с тем, что каждый сегмент состоит из 2-х соединенных последовательно светодиодов и номинальное напряжение 3,8 вольта. При динамической индикации токи не превышают допустимые.

Стабилизатор напряжения находится в вилке — адаптере. Он собран на 3 ваттном трансформаторе и высокочастотном преобразователе – стабилизаторе LM2575T-5.0 по стандартной схеме. Микросхема без радиатора, практически не греется. Разъём для блока питания 3,5мм. Кварц 4 МГц.

Транзисторы n-p-n любые маломощные. Кнопки 6×6 H=14/10мм припаяны со стороны проводников. Длина толкателя кнопок выбирается исходя из требований конструкции. При каждом нажатии на кнопку добавляется единичка. При удержании – счет ускоряется до разумной скорости.

Резисторы МЛТ – 0,25. R3 – R6 1-3 кОм.

Аккумуляторы: 4 штуки из GP- 170, или подобные. При отключении сетевого напряжения они питают лишь микроконтроллер.

Диоды желательно подобрать с наименьшим падением напряжения в прямом направлении.
Платы изготовлены из одностороннего фольгированного стеклотекстолита.
НЕХ файл, схема, печатки в папке №1.

Вариант 2: на одной плате

В этот корпус не помещались две платы: часов и термометра. Уменьшать размеры индикатора часов не хотелось.

Отображать время и температуру одним индикатором по очереди в настольных часах мне не нравится.
Пришлось взять для термометра другой индикатор меньшего размера и нарисовать новую печатную плату. Потому схема и прошивка для термометра другие.

НЕХ файл и схема термометра в папке № 2. Печатная плата там же.
Схема часов без всяких изменений взята из первого раздела.

Ниже вы можете скачать прошивки и печатные платы в формате HEX

Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

Вариант 1
МК PIC 8-битPIC16F628A1
VR1
DC/DC импульсный конвертерLM25751
5ВVT1-VT4
Биполярный транзисторКТ31024
VD1, VD2, VD4
ДиодД3103
VD3
Диод Шоттки1N58191
VS1
Диодный мостDB1571
С1, С2
Конденсатор20 пФ2
С3, С5
Конденсатор0.1 мкФ2
С4
Электролитический конденсатор330 мкФ 16 В1
С6
Электролитический конденсатор100 мкФ 35 В1
R1, R2
Резистор10 кОм2
R3-R6
Резистор1 кОм4
R7, R10
Резистор100 Ом2
L1
Катушка индуктивности330 мкГн1
Tr1
Трансформатор1
F1
Предохранитель100 мА1

Батарея4.8 В1
HL1, HL2
Светодиод2
S1, S2
Кнопка2
Z1
Кварц4 МГц1

ИндикаторFYS10012BG211
Вариант 2
МК PIC 8-битPIC16F628A1
VT1-VT4
Биполярный транзисторКТ31021
С1, С2
Конденсатор20 пФ2
С3
Конденсатор0.1 мкФ1
R1
Резистор4.7 кОм1
R2, R3, R5, R6
Резистор1.5 кОм4
R4
Резистор10 кОм1
R7-R9, R11-R14
Резистор300 Ом7
R10
Резистор360 Ом1

Простейший термометр на PIC 16F628A

Доброго времени суток уважаемые читатели. Как видно из названия статьи , речь в ней пойдет о термометре собранном на PIC. Итак. Почему и как всё начиналось?!
Понадобилась мне схема простейшего термометра для подвала гаража. Начал искать подходящую схему в Интернете. Важным критерием было применение минимального количества элементов в схеме. Сразу скажу, что таких схем термометров в сети навалом. Но! Чаще всего они выполнены на AVR с которыми я к глубокому своему сожалению не дружу. Поэтому стал искать схему на PIC. Но и тут меня ожидало разочарование. Схемы термометров на PIC есть. Но там применяют, то транзисторы для индикаторов, то внешний кварц, либо еще что то, что усложняло схему и было неприемлемо в моем случае. Наконец, после долгих поисков, подходящая мне схема была найдена тут:

http://www.labkit.ru/html/show_meter?id=38
И была успешно повторена неоднократно. Всё прекрасно работает. (на сайте автора этой схемы есть и прошивка и печатная плата для повторения данного термометра). Время шло. И в одно прекрасное время во первых выяснились недочеты данной схемы и еще мне понадобилось применить индикатор с Общим Катодом (на сайте автора прошивка была только под Общий Анод). Теперь о недочете схемы в первоисточнике. Изначально в схеме автора нет резистора подтяжки у датчика температуры. Тоесть резистор на 4,7К в схеме отсутствует. Да действительно при таком исполнении схемы термометр может работать, но только при условии, если датчик температуры впаян сразу в плату, либо длина провода на котором находится датчик не должен превышать длины провода метр, полтора метра. Не более. В противном случае индикатор начинает показывать какую- то ерунду, а не температуру.
Такой поворот событий меня совсем не обрадовал. Потому как длинна провода с датчиком мне была нудна не менее 10 метров.
Эта проблема решилась очень просто и быстро, именно установкой подтягивающего резистора 4,7К на датчике. После чего датчик стал работать стабильно при любой длине провода. Но как быть, если у меня есть индикаторы только с общим катодом! А прошивка сделана под анод… Вот тут мне и помог Станислав Дмитриев. За что ему огромнейшее спасибо. Он не только написал прошивку под общий анод. Но так же и под общий катод и под разные типы датчиков температуры (DS18S20 или DS18B20). Что позволило еще более унифицировать данную схему. И рекомендовать её к повторению. Также можно применить в схеме как четырех разрядные семисегментники так и трех разрядные семисегментники. Что является не большим, но все, же плюсом.
Теперь сама схема

Как вы видите, схема не отличается от той, что представлена, была на сайте http://www.labkit.ru
Так и было задумано изначально. Единственное изменение в схеме это установка дополнительного резистора. Схему я не стал перерисовывать с нуля. Просто добавил недостающий элемент схемы. По сути если Вы хотите еще более упростить схему и у вас есть стабильный источник питания 5В, то Вы можете исключить из схемы и линейный стабилизатор. И запитать МК сразу от 5В.
Теперь поговорим немного о том, как самому настроить прошивку под нужный вам индикатор или датчик. Тут всё просто.

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

В моём варианте печатной платы в плате предусмотрено место не только для линейного стабилизатора, но и для диодного моста (что позволит запитывать схему напряжением от 7,5В до 12В. А так же на плате предусмотрено место для установки клемника, который позволяет не впаивать датчик температуры в плату, а зажать его зажимами. Это удобно при смене датчика, либо при установке датчика на длинный провод. Позволяет быстро сменить провод.

Как Вы можете видеть термометр собран на двух платах. На одной устанавливается семисегментный индикатор (трех или четырех разрядный). На второй плате устанавливаются все остальные элементы схемы. Платы между собой соединяются, по средствам гребенки, либо как в моем случае проводами..
В конце фото моего готового термометра.

Подводя итог скажу.
Благодаря трудам, проделанным Станиславом Дмитриевым, в данной схеме стало возможным применять;
Датчики температуры DS18S20 или DS18B20
Семисигментные индикаторы, как с общим анодом, так и с общим катодом.

Бонусы:
Отображение на дисплее информации без десятых долей, либо с десятыми долями градуса.
Без знака градуса, либо со знаком градуса.