Проектирование микроконтроллерного интеллектуального автоматического устройства для полива и орошения цветов, программа Keil + моделирование Proteus + принципиальная схема + бумага
Проектирование микроконтроллерного интеллектуального автоматического устройства для полива и орошения цветов, программа Keil + моделирование Proteus + принципиальная схема + бумага

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

1. Спроектировать автоматическую систему полива и орошения цветов и сельскохозяйственных угодий на базе 51 микроконтроллера;

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

3. Возможность установки верхнего и нижнего пределов влажности с помощью кнопок;

4. Данные о влажности почвы, а также верхний и нижний пределы влажности отображаются на дисплее LCD1602;

5. Полный выбор компонентов системы, чертеж схемы и программирование на языке C;

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

В конструкции автоматической системы полива используется микроконтроллер AT89C51 в качестве ядра управления и применяется модульный метод проектирования.

Компоненты: модуль питания 5 В, модуль датчика влажности почвы, модуль аналого-цифрового преобразования ADC0832, модуль управления водяным насосом, модуль ключевого ввода, модуль ЖК-дисплея и модуль звуковой и световой сигнализации. Структура следующая.

Принцип работы таков: датчик влажности почвы измеряет аналоговый сигнал влажности почвы, а AD-преобразователь преобразует аналоговый сигнал в цифровой сигнал и затем передает его на микроконтроллер 51. Микроконтроллер сравнивает данные о влажности почвы с заданными верхними и нижними значениями. пределы.

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

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

датчик влажности почвы

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

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

Анализ результатов моделирования

Откройте файл моделирования Proteus с суффиксом .DSN. Дважды щелкните микроконтроллер, загрузите файл AutoWater.hex (находится в папке программы Keil C) и запустите моделирование. Результаты следующие.

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

Как видно из рисунка, на ЖК-дисплее отображается, что измеренная в данный момент влажность почвы (Humidity) составляет 53 %, заданный системой верхний предел влажности (H: сокращение для High) составляет 60 %, а нижний предел (L: сокращение Низкая) составляет 30%. Влажность почвы нормальная, в пределах верхнего и нижнего пределов.

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

Отрегулировав скользящий реостат RV2 (нажмите две красные стрелки вверх и вниз с помощью мыши), измените входное напряжение на канал выборки 0 ADC0832, чтобы имитировать изменения влажности почвы.

Щелкните красную стрелку, указывающую вниз для RV2, чтобы имитировать уменьшение влажности почвы. Например, при снижении влажности почвы с 53% до 23%, что на 30% ниже нижнего предела, загорается красный светодиод сигнализации, звучит зуммер, переключатель реле RL1 поворачивается в верх, включается водяной насос. включается, и начинается автоматический полив. Также загорается индикатор работы водяного насоса.

Влажность почвы ниже нижнего предела
Влажность почвы ниже нижнего предела

Щелкните красную стрелку, указывающую вверх на RV2, чтобы смоделировать увеличение влажности почвы.

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

Влажность почвы увеличилась до 37%,Превысить нижний предел,Звуковая и световая сигнализация прекращается,Водяной насос продолжает работать
Влажность почвы увеличилась до 37%,Превысить нижний предел,Звуковая и световая сигнализация прекращается,Водяной насос продолжает работать
Влажность почвы продолжает увеличиваться до 62%.,Превысить верхний предел,водяной насос перестает работать
Влажность почвы продолжает увеличиваться до 62%.,Превысить верхний предел,водяной насос перестает работать

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

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

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

Курсор верхнего предела мигает
Курсор верхнего предела мигает

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

Курсор нижнего предела мигает
Курсор нижнего предела мигает

После установки значений верхнего и нижнего пределов снова нажмите кнопку «Установить», чтобы выйти из режима установки верхнего и нижнего пределов. Например, мы установили верхний предел влажности H на 75%, а нижний предел L на 25%. Результаты показаны на рисунке ниже.

Верхний предел влажности 75%, нижний предел 25%
Верхний предел влажности 75%, нижний предел 25%

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

Часть кода C

Язык кода:c
копировать
void main()				//Основная функция
{
	Init1602();						 //Инициализируем функцию ЖК-дисплея
	init();							 //Инициализируем таймер
	init_eeprom();  //Начинаем инициализировать сохраненные данные
	while(1)						 //Входим в цикл
	{
		for(m=0;m<50;m++)			//Читаем значение AD 50 раз
			sum = adc0832(0)+sum;	//Чтение значения AD, накопление прочитанных данных для суммирования
		temp=sum/50;				//После выхода из цикла for, описанного выше, разделите накопленную сумму на 50, чтобы получить среднюю температуру
		sum=0; 						//После завершения расчета среднего значения обнуляем сумму
		temp = temp*0.390625;		//ADC0832 хранит данные в 1 байте, а диапазон отображения влажности составляет 0–100, поэтому 1 единица влажности = 100/256 = 0,390625.				
//		if(temp<=full_range)
//		temp=(temp*100)/full_range;
//		else
//		temp=100;
		if(set==0)					 //установлено значение 0, что указывает на то, что сейчас он не находится в состоянии настройки
			Display_1602(temp,MH,ML);//Отображение значения AD и значения тревоги
		if(temp<ML&&set==0)	         //Значение влажности меньше значения тревоги
		{
			flag=1;					 //включаем будильник
			Relay=0;					 //Контакты реле замкнуты и водяной насос работает
			LED_R=0;					  //Горит красный свет
		}
		else if(temp>MH&&set==0)     //Значение влажности больше значения тревоги
		{
			flag=0;					 //Закрыть тревогу
			Relay=1;					 //Контакт реле размыкается и водяной насос останавливается
			LED_R=1;					  //Красный свет гаснет
		}

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

(1) Дипломная работа по проектированию систем автоматического полива и орошения цветов и сельскохозяйственных угодий на базе 51 микроконтроллера;

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

(3) файлы программ C;

(4)Принципиальная схемадокумент;

(5) файл блок-схемы Visio;

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

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

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

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.