Реклама ⓘ
Главная » Микроконтроллеры
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Реклама ⓘ

Датчик температуры и влажности с адаптивной регулировкой яркости индикатора

Целью данного проекта является демонстрация способа реализации адаптивного управления яркостью семи сегментных светодиодных индикаторов. Система постоянно оценивает уровень освещенности при помощи дешёвого фоторезистора (LDR) и использует полученную информацию для регулировки яркости дисплея. Для наглядности этот способ применяется в цифровом измерителе температуры и относительной влажности, в котором яркость семи сегментных индикаторов адаптируется под окружающую среду. В этом проекте используются восьми сегментные светодиодные индикаторы, которыми управляет микросхема MAX7219. Температура окружающего воздуха и относительная влажность измеряются датчиком DHT11. В этом проекте используется 8-битный микроконтроллер PIC12F683 в восьми выводном корпусе. Автоматическая настройка яркости семи сегментных индикаторов повышает удобность чтения в любых условиях.

Датчик температуры и влажности с адаптивной регулировкой яркости индикатора

Теория и схема

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

Автоматическая регулировка яркости это замкнутая система, которая оценивает уровень освещенности  и соответственно регулирует яркость дисплея. Фоторезистор (LDR) и постоянный резистор 10K соединены последовательно  + питания и GND, т.е. они образуют делитель напряжения, как показано на схеме. Обычно сопротивление фоторезистора (LDR) составляет менее 1 кОм на ярком свету и может возрасти до нескольких сотен кОм в темноте. Таким образом, напряжение на 10K резисторе возрастает пропорционально освещенности. В этом проекте напряжение на нем может изменяться от 0,1В в темноте до более чем 4В на свету.  Микроконтроллер PIC12F683 считывает этот аналоговый сигнал через AN3 (GP4) вывод АЦП, а затем посылает соответствующие сигналы драйверу семи сегментных индикаторов MAX7219 для регулировки яркости семи сегментных светодиодных индикаторов.

Схема устройства

Микросхема MAX7219 обеспечивает последовательный интерфейс для управления семи сегментными светодиодными индикаторами с общим катодом до 8 символов и требует всего 3 вывода микроконтроллера. Микросхема имеет BCD декодер, драйвер сегментов и цифр и статическое ОЗУ 8 × 8 для хранения значения цифр. Ток сегмента для всех индикаторов устанавливается одним внешним резистором между контактом ISET и питанием. Тем не менее, он также обеспечивает цифровой контроль яркости (16 шагов от минимального до максимального) через внутренний ШИМ. В этом проекте выводы GP0, GP1 и GP2 PIC12F683 используются для управления LOAD, DIN и CLK сигнальными линиями MAX7219.

Плата устройства

Для измерения температуры и относительной влажности используется датчик DHT11. Он может измерять температуру от 0 до 50°C с точностью ± 2°С и относительную влажности воздуха от 20 до 95% с точностью ± 5%. Датчик имеет полностью откалиброванные цифровые выходы для двух измерений. Он имеет свой собственные 1-Wire протокол, и следовательно, связь между датчиком и микроконтроллером не возможна через обычный периферийный интерфейс. Протокол должен быть заложен в прошивке микроконтроллера с точными расчетами таймингов требуемых датчиком.  PIC12F683 использует вывод GP5 для взаимодействия с DHT11.

Устройство в сборе

Для облегчения сборки макета проекта я использую свою отладочную плату PIC12F и мой последовательный 8-разрядный семи сегментный светодиодный индикатор.

Программа

Прошивка для этого проекта написана на C и скомпилирована в MikroC Pro 5.30 для PIC. Подпрограммы для инициализации MAX7219 и отправки цифр написаны просто и понятно для того, чтобы их легко можно было повторить на других языках программирования. MAX7219 управляет яркость дисплея с помощью своего ШИМ. Выход ШИМ управляется нижними полубайтами (D3-D0) регистра яркости (адрес 0x0A) и имеет 16 уровней яркости. Нулевое значение полубайтов дает минимальную яркость,  а когда все полубайты имеют значение 1, яркость становится максимальной. Для автоматической регулировки яркости, выход с АЦП с фоторезистором (LDR) сокращен до 0-10 (11 уровней яркости) путем простого деления значения 10-разрядного АЦП на 100. Затем используется таблица соответствия значений полубайтов уровню яркости. Температура отображается в градусах Фаренгейта (F), относительная влажность в процентах (Р).

Скачать исходный код и HEX файлы можно внизу статьи.

Микроконтроллер PIC12F683 работает на частоте 4 МГц от внутреннего генератора. MCLR и Power-On Timer включены. Настройка конфигурации фьюзов показана на рисунке.

Фьюзы

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

Оригинал статьи

Прикрепленные файлы:

Теги:

Касьянов А. Опубликована: 2012 г. 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (1) | Я собрал (0) | Подписаться

0
Павел #
Как поменять Фаренгейты на Цельсии?
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
Паяльная станция Hakko 936 Программатор Pickit3
вверх