В этом устройстве установлен микроконтроллер PIC16F84(A), но вместо него без всяких изменений в схеме может быть применён PIC16F628(A).
При разработке этой схемы основной упор делался на простоту и минимальное количество деталей. Поэтому предусмотрено подключение лишь одного датчика. Несколько датчиков подключить вполне возможно, но в этом случае потребуется установить переключатель для выбора активного датчика вручную. Переключатель может коммутировать выводы DQ датчиков (вывод 2 DS18B20). Программа не позволяет подключать несколько датчиков на одну шину одновременно. Только по очереди.
В программе не предусмотрена индикация номера активного датчика. Отображается только температура, с точностью 0,5oС. Если температура превышает 100oС, точность ухудшается до 1oС. При отрицательной температуре отображается знак "минус" в крайнем левом разряде индикатора. Если датчик не подключен, или в линии слишком большие помехи, то на индикаторе отображается надпись "OFF". Светодиодный индикатор повышенной яркости (применить можно любой подходящий с общими анодами) подключен напрямую к порту микроконтроллера. PIC вполне в состоянии обеспечить требуемый ток. Перегрузки портов при этом не происходит.
Собранный термометр вот уже год исправно функционирует у меня на работе.
Есть также и вариант печатной платы. Но я считаю его не очень удачным. Индикатор с одной стороны, PIC и остальные детали с другой стороны. Монтаж плотный, SMD-резисторы, перемычек много, в общем - паять неудобно. Зато плата получилась очень компактная. Чуть больше индикатора по размерам. Если посмотреть на фото, то можно увидеть, что она поместилась в корпусе вертикально и расположена прямо за передним светофильтром. Много места в корпусе заняли три батарейки АА. Переключателем выбирается активный датчик, кнопкой включается питание от батареек. А большую часть времени термометр питается от сети через малогабаритный отдельный блок питания (в виде сетевой вилки).
Гнездо для подключения датчика и внешнего питания расположено на правой боковой стенке. По эстетическим соображениям оно на фотографию не попало. Каждый желающий сможет поставить разъём по своему вкусу и возможностям.
По многочисленным просьбам выкладываю бета-вариант платы в форматах bmp и Sprint-Layout. Увы, этот вариант далек от совершенства. Индикатор установлен с лицевой стороны, а PIC, кварц и резисторы - со стороны фольги. Пришлось применить много дополнительных перемычек, их можно проследить по принципиальной схеме, на самом рисунке платы показаны не все.
Исходник и прошивка для PIC16F84A -
скачать в одном архиве! И соответствующая модель для проверки в Proteus 6.9.5 -
скачать в одном архиве! Исходник и прошивка для PIC16F628(A) -
скачать в одном архиве! И соответствующая модель для проверки в Proteus 6.9.5 -
скачать в одном архиве! (не забудьте правильность указания пути к hex-файлу проверить для модели PIC в Протеусе)
В пути к модели для проверки в Proteus не должно быть символов кириллицы (русских букв)! Распаковывайте в папку, например, D:\thermometer