Термометр с линейной шкалой выполняет функции измерителя температуры с двойной индикацией: в цифровом виде и в виде линейной шкалы. Основу термометра составляет микроконтроллер PIC12F629 и драйвер светодиодного индикатора MAX7219. Возможности микросхем позволяют реализовать термометр с различными датчиками и индикацией на 3-х разрядном цифровом дисплее и линейном индикаторе на 40 точек.
Принципиальная схема термометра с линейной шкалой изображена ниже. Все элементы используют стандартный способ включения. Индикация температуры полностью реализована с помощью MAX7219. Питание конструкции выполняется постоянным напряжением 5В.
Принципиальная схема термометра
Реализация отображения температуры.
Внешний вид
MAX7219 имеет два режима обработки и отображения входных данных. По умолчанию используется простой режим, в котором каждый бит регистра данных микросхемы, отвечает за состояние отдельного светодиода. Этот режим наилучшим образом подходит для работы с линейной шкалой. Второй режим использует декодирование входного BCD кода, и предназначен для работы с цифровыми семисегментными индикаторами. В этом случае в регистр данных записывается одноразрядное число в BCD коде, которое должно быть отображено на дисплее. Микросхема MAX7219 имеет 8 регистров данных, что позволяет работать с 8 цифровыми индикаторами, либо с 64 светодиодами. Переключение режима работы выполняется программно.
Для построения термометра принято, что температура будет отображаться на 3-х разрядном дисплее. Такой дисплей дает возможность показывать значение от 0 до 99.9 градуса в положительной части шкалы. В отрицательной части шкалы, из-за необходимости отображения знака «минус», можно работать только с целыми числами.
После реализации дисплея остается доступными 40 отдельных светодиодов, которые и образуют линейную шкалу. Ее возможностей вполне достаточно для бытовых измерений. Если ограничиться только положительными значениями, то диапазон отображаемых значений составит от 0 до +40 градусов с шагом в 1 градус. При необходимости, диапазон индикации можно расширить, увеличив шаг отображения температуры.
Конструкция
Основой термометра является двухсторонняя печатная плата размерами 130х33 мм. Светодиоды и индикаторы установлены с обратной, от остальных радиодеталей стороны.
Линейная шкала набрана из отдельных светодиодов L-383, изготавливаемых KingBright в прямоугольном корпусе 2х5 мм. Для повышения информативности, в позициях десятков установлены красные светодиоды, в позициях пятерок – оранжевые. Остальные светодиоды - зеленого свечения. В конструкции предусмотрена установка постоянно горящего светодиода диаметром 10мм, отображающего минимальное значение шкалы и имитирующего колбу жидкостного градусника.
При использовании двух датчиков предусмотрена индикация в виде светодиодов, расположенных по разные стороны шкалы. Такое расположение позволяет нанести на корпус и подсвечивать градуировку двух разных диапазонов измерений. Схемотехнически, эти светодиоды представляют собой неиспользуемые десятичные точки семисегментных индикаторов.
В качестве датчиков температуры можно использовать микросхемы с шиной 1-Wire или I2C. В обоих случаях реализация обмена выполняется программно.
Программное обеспечение
Программное обеспечение для термометра было написано в среде mikroPascal. Ниже приведенный код получает и обрабатывает значение температуры от датчика DS18B20.