Продолжу тему с термометром, решил усовершенствовать предыдущую конструкцию. В итоге заменил датчики s20 на b20, можно было сделать и на старых датчиках, но новые датчики у нас в магазине дешевле на 40 руб. Вместо семисегментного индикатора поставил LCD индикатор 8х2. Всем этим управляет микроконтроллер PIC16F628a. Так как никаких функций кроме термометра не реализовано, использован 8-битный интерфейс. Питание 5 вольт, используется дешёвый китайский зарядник.
Схема представлена ниже:
Прошивку микроконтроллера и проект в протеусе можно скачать тут: http://cxema.my1.ru/load/0-0-0-2366-20 (в проекте использован дисплей 16х2, но разницы никакой, работать будет!)
Сейчас устройство собрано на макетной плате, сутки-полет нормальный. Важно! устройство не работает при температурах ниже -20 градусов, проверено в холодильнике, последняя температура, которую я успел увидеть -17,5 градусов, потом пришёл и увидел пустой экран.
Алгоритм работы: при включении питания инициализируется дисплей и добавляются собственные символы в CGRAM, это будет полезно, у кого нет дисплея с русскими символами, у меня он руссифицирован, но буквы мне не понравились, сделал свои. Затем опрашивается первый датчик и выводится показания на дисплей в первую строку, потом второй и выводятся данные во вторую строку. Далее следует задержка в 10 секунд, и цикл повторяется снова. Если нет датчика или обрыв на линии, то на дисплей выводится надпись Error. Температура выровнена по правому краю, для того чтобы не существовало записей типа "+ 1°", а выводилось "+1°".
Замерил температуру пара в чайнике: