Мониторинг температуры и влажности сенсорного модуля DHT11, информация о проекте 51 микроконтроллера
Мониторинг температуры и влажности сенсорного модуля DHT11, информация о проекте 51 микроконтроллера

требования к дизайну

1. Спроектировать систему мониторинга температуры и влажности на базе 51 микроконтроллера и датчика DHT11;

2. Датчик DHT11 осуществляет точное измерение параметров температуры и влажности окружающей среды, а микроконтроллер анализирует и обрабатывает данные;

3. Пользователи могут самостоятельно регулировать верхний и нижний пороги сигнализации температуры и влажности с помощью кнопок в соответствии с потребностями;

4. Когда температура и влажность окружающей среды выходят за пределы установленного диапазона, светодиодный индикатор и зуммер подадут звуковой сигнал и загорятся сигналы тревоги;

5. Значения температуры и влажности окружающей среды, а также верхний и нижний пороги срабатывания сигнализации отображаются с помощью жидкокристаллического дисплея LCD1602;

описание дизайна

Версия программного обеспечения для моделирования Proteus7 имеет только сенсорный элемент температуры и влажности SHT11 и не имеет сенсорного элемента DHT11. После обновления версии Proteus8 в библиотеку компонентов был добавлен компонент датчика DHT11. Поэтому этот проект разработан с использованием программного обеспечения для моделирования версии Proteus8.6.

Датчики SHT11 и DHT11 могут измерять температуру и влажность. Их основные различия заключаются в двух моментах:

1. Внутренний сердечник SHT11 представляет собой чувствительный к влажности конденсатор, который имеет высокую стоимость и высокую точность. Внутренний сердечник DHT11 представляет собой чувствительный к влажности резистор, который дешев, но имеет низкую точность;

2. Способы связи между ними разные. DHT11 — это одношинная последовательная связь с интерфейсом DATA только по линии данных; SHT11 — это двухпроводная последовательная связь с двумя интерфейсами: линия синхронизации SCK и линия данных DATA. С точки зрения программирования они совершенно разные.

Для обычных измерений температуры и влажности можно удовлетворительно использовать как DHT11, так и SHT11. Однако с точки зрения стоимости DHT11 дешевле, и его применение более широко распространено.

Обзор системы

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

Аппаратное обеспечение системы в основном состоит из минимальной системы микроконтроллера, модуля датчика температуры и влажности DHT11, модуля дисплея LCD1602, модуля кнопок и модуля звуковой и световой сигнализации. Структура системы следующая.

Датчик DHT11 постоянно определяет температуру и влажность в текущей среде и отправляет данные на микроконтроллер. После того, как микроконтроллер анализирует и обрабатывает данные, значения температуры и влажности, а также верхний и нижний пороги срабатывания сигнализации отображаются в режиме реального времени на ЖК-дисплее 1602. .

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

Схема моделирования Proteus

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

Эффект бега

Откройте файл моделирования с именем DHT11 Climate and Humidity Monitoring.pdsprj, дважды щелкните микроконтроллер, щелкните маленький желтый значок папки во всплывающем диалоговом окне, загрузите файл DHT11.hex (находится в папке программы C) и запустите. Результаты моделирования следующие.

Эффект бега
Эффект бега

Как видно из рисунка, на ЖК-дисплее отображается текущая температура окружающей среды T составляет 27°C, а влажность H составляет 55% относительной влажности. Результат на ЖК-дисплее соответствует значению датчика DHT11, что указывает на правильность считывания данных о температуре и влажности.

Три маленькие красные стрелки на датчике DHT11 используются для имитации изменений значений температуры и влажности. Первые две красные стрелки используются для увеличения или уменьшения значения, а последняя красная стрелка используется для переключения между температурой и влажностью.

Например, мы настраиваем датчик DHT11 так, чтобы температура поднялась до 34°C, а относительная влажность упала до 51%. Эффект следующий.

Температура 34℃, влажность 51% относительной влажности.
Температура 34℃, влажность 51% относительной влажности.

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

Как показано на рисунке, верхний и нижний пределы температуры системы по умолчанию составляют: 20–35 ℃, а верхний и нижний пределы влажности: 40–85 % относительной влажности.

Система входит в режим установки верхнего и нижнего пределов температуры и влажности.
Система входит в режим установки верхнего и нижнего пределов температуры и влажности.

Кроме того, мигает курсор нижнего предельного значения температуры, и вы можете нажать кнопку «плюс/минус», чтобы установить его; после установки нижнего предельного значения температуры нажмите кнопку регулировки, и начнет мигать курсор верхнего предельного значения температуры, и Вы можете установить верхнее предельное значение температуры.

По аналогии, когда установлены верхний и нижний пределы температуры и влажности, снова нажмите кнопку регулировки, чтобы выйти из режима настройки и вернуться в режим отображения температуры и влажности. Если пользователь не хочет изменять определенный порог температуры и влажности, нажмите кнопку регулировки, чтобы пропустить это.

Например, мы сбрасываем верхний и нижний пределы температуры до 25–38°C, а верхний и нижний пределы влажности до 40–65 % относительной влажности. Результаты следующие.

Недавно установленные верхний и нижний пределы температуры и влажности.
Недавно установленные верхний и нижний пределы температуры и влажности.

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

Например, мы нажимаем красную стрелку на датчике DHT11, чтобы снизить температуру до 24°C, что ниже нижнего предела в 25°C. В это время загорается синий индикатор низкой температуры и звучит звуковой сигнал.

C-код

Язык кода:c
копировать
void main()
{
	uchar i;

	LcdInit();						// Инициализация функции ЖК-дисплея			
	LcdShowInit(); 					// Инициализация ЖК-дисплея

	AlarmTL=EEPROM_Read(0x2000);	// Считайте нижний предел сигнализации температуры по адресу 0x2000 EEPROM.
	AlarmTH=EEPROM_Read(0x2001);	// Считайте верхний предел аварийного сигнала температуры по адресу 0x2001 EEPROM.
	AlarmHL=EEPROM_Read(0x2002);	// Считайте нижний предел сигнализации влажности по адресу 0x2002 EEPROM.	
	AlarmHH=EEPROM_Read(0x2003);	// Считайте верхний предел сигнала тревоги влажности по адресу 0x2003 EEPROM.

	if((AlarmTL==0)||(AlarmTL>100))	// Если значение сигнала тревоги нижнего предела температуры считывается ненормально (равно 0 или больше 100), переназначьте значение
		AlarmTL=20;
	if((AlarmTH==0)||(AlarmTH>100))	// Если значение сигнала тревоги верхнего предела температуры считывается ненормально (равно 0 или больше 100), переназначьте значение.
		AlarmTH=35;
	if((AlarmHL==0)||(AlarmHL>100))	// Если значение сигнала тревоги нижнего предела температуры считывается ненормально (равно 0 или больше 100), переназначьте значение
		AlarmHL=40;
	if((AlarmHH==0)||(AlarmHH>100))	// Если значение сигнала тревоги верхнего предела температуры считывается ненормально (равно 0 или больше 100), переназначьте значение.
		AlarmHH=85;
		
	
	while(1)
	{
		ReadDhtData(); 				// Обнаружение данных о температуре и влажности

		LcdGotoXY(1,2);	 			// Найдите место, где вы хотите отображать температуру
		LcdPrintNum(temp);		// Отображение значения температуры
		LcdGotoXY(1,11);		// Найдите, где вы хотите отображать влажность
		LcdPrintNum(humi);		// Отображение значения влажности
		
		AlarmJudge();					// Судите и при необходимости вызывайте полицию

		for(i=0;i<25;i++)
		{
			KeyScanf();					// Сканирование ключей
			DelayMs(20);				// задерживать	
		}
	}
}

Содержание ресурса

(1) Проектная документация системы мониторинга температуры и влажности на базе 51 микроконтроллера и DHT11;

(2) файл моделирования Proteus8.6;

(3) программа C;

(4)Принципиальная схема;

(5) Блок-схема Visio;

(6) Справочные материалы;

(7) Список компонентов;

Скриншот ресурса

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose