Термометр и измеритель влажности на PIC и DHT11

TRHMeter photo1Схема цифрового термометра-гигрометра на PIC16 с отображением температуры и относительной влажности на 4-х семисегментных индикаторах высотой 25 мм с адаптивной регулировкой яркости в зависимости от освещенности. Для измерения освещенности использован фоторезистор, а для измерения температуры и влажности - датчик DHT11. В схеме использован контроллер PIC16F688 и драйвер 7-сегментных индикаторов MAX7219.

 

Зачем нужна адаптивная регулировка яркости?

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

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

Для удобства схема разделена на 3 части: Блок питания, блок датчика и контроллера, and блок дисплея.

Блок питания состоит из стабилизатора LM7805. LED1 индицирует включение прибора.

TRHMeter sch1

На следующей схеме показаны соединения датчика DHT11 и фоторезистора photoresistor с микроконтроллером PIC16F688. DHT11 - это недорогой цифровой датчик,  измеряющий температуру в диапазоне 0-50 °C с погрешностью ±2°C и относительную влажность в диапазоне 20-95% с погрешностью  ±5%. В датчике реализован полностью откалиброванный цифровой вывод, работающий по собственному однопроводному интерфейсу. PIC16F688 подключен к датчику через вывод RC4. Заметьте, что R7 служит как pull-up, который необходим для обмена данными с DHT11. Выключателем S2 выбирается формат отображения температуры в Фаренгейтах (°F) или Цельсиях (°C). Когда выключатель разомкнут, температура отображается в Фаренгейтах, а когда замкнут - в Цельсиях.

Фоторезистор R5 и резистор R4 составляют делитель напряжения, с которого снимаются показания для регулировки яркости. Сопротивление типового фоторезистора колеблется от <1 кОм при ярком освещении до нескольких сотен кОм в темноте. Что вместе с резистором R4 дает размах напряжений на выводе RA2 контроллера от 0.1V (в темноте) до 4.0V (при ярком свете). PIC16F688 преобразует это напряжение с помошью АЦП для вычисления уровня освещенности.

TRHMeter sch2

Модуль дисплея состоит из микросхемы MAX7219, которая может напрямую управлять 8-ю 7-сегментными индикаторами с общим катодом через трехпроводной интерфейс.  Ток через все сегменты устанавливается только одним резистором, включенным между выводом ISET и плюсом питания. Микросхема имеет 16 уровней регулировки яркости, устанавливаемых программно, используя внутренний ШИМ-регулятор.  Выводы ПИКа RC0, RC1 и RC2 I/O подключены к выводам DIN, LOAD и CLK микросхемы MAX7219.

TRHMeter sch3

Прототип устройства собран на макетной плате.

TRHMeter photo2

 

Software

Для написания программы использован компилятор mikroC Pro for PIC версии 5.30. The microcontroller alternately switches the display data between temperature and relative humidity.

Скачать исходник и прошивку

PIC16F688 работает на чатоте 4.0 МГц  от внутреннего генератора. MCLR и Power-Up Timer (PWRT) включены.

 

Индикация относительной влажности в процентах (P)

TRHMeter photo3

Прибор переключается между отображением влажности и температуры.

Индикация температуры в Фаренгейтах (F)

TRHMeter photo1

Загрузка...