【单片机毕业设计】鸡舍环境检测 | 鸭舍环境检测 | 畜牧业环境检测

2024-02-08 03:20

本文主要是介绍【单片机毕业设计】鸡舍环境检测 | 鸭舍环境检测 | 畜牧业环境检测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    最近设计了一个项目基于单片机的鸡舍环境监控系统,与大家分享一下: 

 

一、基本介绍

项目名:鸡舍环境监控
项目编号:mcuclub-hj-017
单片机类型:STC89C52、STM32F103C8T6
具体功能:
1、通过DHT11检测温湿度,温度过高或湿度过高时,进行通风
2、通过MQ-135配合ADC0832检测鸡舍内有害气体,当气体浓度大于设置最大值,进行通风
3、通过DS1302同步时间,可以设定开灯的时间区
4、通过光敏电阻配合ADC0832检测光照值,当光照值低于设置最小值且在开灯的时间区内,进行补光
5、通过按键可修正时间、设置温湿度上限值、光照最低值、气体最大值、开灯的时间区,还可以手动控制通风和开灯及切换模式
6、通过显示屏显示测量数据
扩展功能:通过蓝牙模块将测量数据发送到手机端,并可以控制通风和开灯及切换模式

二、51实物图

单片机型号:STC89C52

板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。

供电接口:TYPE-C

三、51仿真图

仿真软件版本:proteus8.9

电路连线方式:网络标号连线方式

注意:部分实物元器件仿真中没有,仿真中会用其他工作原理相似的元件代替,这样可能导致实物程序和仿真程序不一样

 四、32实物图

单片机型号:STM32F103C8T6

板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。

供电接口:TYPE-C

 五、原理图

软件版本:AD2013

电路连线方式:网络标号连线方式

注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构原理图

 六、PCB图

由原理图导出,封装很大一部分都是作者自己绘制,不提供封装库,只提供连接好的源文件。中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。

两层板,上下覆铜接地。

七、系统框图

本设计以单片机为核心控制器,加上其他模块一起组成此次设计鸡舍的整个系统,其中包括中控部分、输入部分和输出部分。中控部分采用了单片机控制器,其主要作用是获取输入部分的数据,经过内部处理,逻辑判断,最终控制输出部分。输入由六部分组成,第一部分是光照强度检测模块,通过该模块获取当前的光照强度值;第二部分是(氨气、苯)检测模块,通过该模块获取当前环境中的氨气和苯;第三部分是温湿度检测模块,通过该模块检测当前环境的温度、湿度;第四部分是时钟模块,通过该模块获取当前时间;第五部分是按键模块,通过该模块可以切换界面、设置阈值、切换模式等;第六部分是供电模块,通过该模块可给整个系统进行供电。输出由三部分组成,第一部分是显示模块,通过该模块可以显示监测的数据以及设置的阈值;第二部分继电器模块,控制补光、通风;除此之外还有蓝牙模块,将检测的数据通过蓝牙传输到用户的手机,用户也可以通过手机发送对应的指令对其通风等进行控制。具体系统框图如图所示。

 八、软件设计流程

系统的主流程图如图所示。在主程序中:首先对各个模块进行初始化,随后进入while主循环,在主循环中,首先进入第一个函数按键函数,该函数主要分为两部分,第一部分为调用按键扫描函数获取按键键值,第二部分通过键值进行相应的处理操作,包括切换界面、手动通风、修改时间、设置温度、湿度、光照强度、有害气体浓度、定时时间等;紧接着进入第二个函数监测函数,该函数主要通过调用相应的驱动函数获取测量值并将检测的数据通过蓝牙发送到用户的手机上,用户也可以通过手机发送指令;紧接着进入第三个函数显示函数,该函数显示监测值及阈值;最后进入第四个函数处理函数,/温度/湿度/有害气体大于最大值,通风,当照值低于设置最小值且在开灯的时间区内,进行补光

 九、部分程序展示

软件版本:keil5

逻辑程序和驱动程序分开,分布于main.c和其他.c文件

void Manage_function(void)
{uint time_shi,time_fen;           									//当前时间if(flag_display == 0)																//测量界面{if(flag_mode == 0)																//自动模式{time_shi = ds1302_buf[4];          			 				//获取当前时间time_fen = ds1302_buf[5];  if(time_shi_begin*60+time_fen_begin > time_shi_end*60+time_fen_end)						//开始时间>结束时间{if((time_shi_end*60+time_fen_end <= time_shi*60+time_fen) && (time_shi*60+time_fen < time_shi_begin*60+time_fen_begin))		//当前时间不在设置的时间内flag_time_on = 0;else																																				//否则在设定范围之外flag_time_on = 1;}else if(time_shi_begin*60+time_fen_begin < time_shi_end*60+time_fen_end)			//开始时间<结束时间{if((time_shi_begin*60+time_fen_begin <= time_shi*60+time_fen) && (time_shi*60+time_fen < time_shi_end*60+time_fen_end))		//当前时间在设置的时间内flag_time_on = 1;else																																				//否则在设定范围之外flag_time_on = 0;}if(temp_value > temp_max *10||humi_value > humi_max*10||gas_value > gas_max )	//温度/湿度/有害气体大于最大值,通风{RELAY_TF = 0;}else{RELAY_TF = 1;}if(light_value < light_min && flag_time_on == 1)//当照值低于设置最小值且在开灯的时间区内,进行补光{RELAY_BG = 0;}else	{RELAY_BG = 1;}}}else																	//设置界面{RELAY_BG = 1;RELAY_TF = 1;}
}

这篇关于【单片机毕业设计】鸡舍环境检测 | 鸭舍环境检测 | 畜牧业环境检测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/689761

相关文章

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

gradle安装和环境配置全过程

《gradle安装和环境配置全过程》本文介绍了如何安装和配置Gradle环境,包括下载Gradle、配置环境变量、测试Gradle以及在IntelliJIDEA中配置Gradle... 目录gradle安装和环境配置1 下载GRADLE2 环境变量配置3 测试gradle4 设置gradle初始化文件5 i

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo