首页 分享 【单片机毕业设计】【jj

【单片机毕业设计】【jj

来源:花匠小妙招 时间:2024-11-12 14:59

一、基本介绍

项目名:
基于单片机的智能花盆系统设计
基于单片机的多功能花盆系统设计
基于单片机的智能养殖箱系统设计
基于单片机的多功能养殖箱系统设计

项目名:花盆
项目编号:mcuclub-jj-023
单片机类型:STM32F103C8T6
具体功能:
1、通过防水式DS18B20测量土壤温度,当温度高于设置最大值时,进行风扇降温
2、通过土壤湿度传感器检测湿度值,当湿度值低于设置最小值时,进行水泵浇水
3、通过光敏电阻检测光照值,当光照值小于设置最小值时则自动进行补光;当光照值大于设置最大值时,则自动打开遮雨棚进行遮光(四相步进电机模拟)
4、通过雨水检测模块检测是否下雨,如果下雨,则自动打开遮雨棚
5、通过按键可设置各阈值
6、通过显示屏显示测量值
扩展功能:通过蓝牙模块将测量数据发送到手机端,并可以控制风扇、水泵、补光、遮光棚以及模式切换

二、资 料总览

实物资料

请添加图片描述

仿真资料

请添加图片描述

三、51单片机部分资料展示

1、实物图展示

单片机型号:STC89C52
供电接口:TYPE-C
板子类型:PCB集成板,厚度1.2,两层板(上下层覆铜接地)
器件类型:元器件基本上为插针式,个别降压芯片会使用贴片式。
在这里插入图片描述

2、仿真图展示

仿真软件版本:proteus8.9
电路连线方式:网络标号连线方式
注意:部分实物元器件仿真中没有,仿真中会用其他工作原理相似的元件代替,这样可能导致实物程序和仿真程序不一样
在这里插入图片描述

3、原理图展示

软件版本:AD2013
电路连线方式:网络标号连线方式
注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构图
在这里插入图片描述

4、PCB图展示

由原理图导出,中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。
两层板,上下覆铜接地。
在这里插入图片描述

四、32单片机部分资料展示

1、实物图展示

单片机型号:STM32F103C8T6
供电接口:TYPE-C
板子类型:PCB集成板,厚度1.2,两层板(上下层覆铜接地)
器件类型:元器件基本上为插针式,个别降压芯片会使用贴片式。
在这里插入图片描述

2、原理图展示

软件版本:AD2013
电路连线方式:网络标号连线方式
注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构原理图
在这里插入图片描述

3、PCB图展示

由原理图导出,中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。
两层板,上下覆铜接地。
在这里插入图片描述

五、系统框图

绘制软件:VISIO
在这里插入图片描述
本设计以单片机为核心控制器,加上其他模块一起组成此次设计花盆的整个系统,其中包括中控部分、输入部分和输出部分。中控部分采用了单片机控制器,其主要作用是获取输入部分的数据,经过内部处理,逻辑判断,最终控制输出部分。输入由六部分组成,第一部分是温度检测模块,通过该模块检测当前花盆周围环境的温度;第二部分是雨量监测模块,通过该模块可以检测当前花盆周围是否下雨;第三部分是土壤湿度检测模块,通过该模块将检测到的土壤湿度的模拟信息传输到传输到单片机;第四部分是光照强度检测模块,通过该模块将检测到的光照强度的模拟信息传输到单片机;第五部分是按键模块,通过该模块可以切换界面、设置阈值、切换模式等;第六部分是供电模块,通过该模块可给整个系统进行供电。输出由四部分组成,第一部分是显示模块,通过该模块可以显示监测的数据以及设置的阈值;第二部分是继电器模块,通过继电器控制风扇的开关、补光的开关;第三部分是步进电机模块,通过该模块控制步进电机从而控制遮阳棚的开关。除此之外,蓝牙模块既作为输入又作为输出,蓝牙模块和手机进行连接,可以将监测的数据传输到用户手机端,用户也可以通过手机端发送指令控制继电器的工作及其模式的切换。具体系统框图如图3.1所示。

六、部分程序展示

软件版本:keil5
注意:逻辑程序和驱动程序分开,分布于main.c和其他.c文件

*******显示函数 *****/ void Display_function(void) {switch(flag_display)//根据不同的显示模式标志位,显示不同的界面{case 0://界面0:显示温度值、湿度值、光照值、遮阳棚状态、雨水检测、模式sprintf(display_buf,"T:%d.%dC ",temp_value/10,temp_value%10);Oled_ShowString(1,0,display_buf);sprintf(display_buf,"H:%d.%d%% ",humi_value/10,humi_value%10);Oled_ShowString(1,8,display_buf);Oled_ShowCHinese(2,0,"光照:");sprintf(display_buf,"%d.%dLx ",light_value/10,light_value%10);Oled_ShowString(2,6,display_buf);if(CHECK_R == 0)Oled_ShowCHinese(3,0,"雨水:有雨");elseOled_ShowCHinese(3,0,"雨水:无雨");if(flag_Step2 == 0)Oled_ShowCHinese(4,0,"遮阳:关闭");elseOled_ShowCHinese(4,0,"遮阳:打开");if(flag_mode == 0)Oled_ShowCHinese(4,6,"自动");elseOled_ShowCHinese(4,6,"手动");break;case 1://界面1:显示设置温度最大值Oled_ShowCHinese(1,0,"设置温度最大值");if(time_num % 5 == 0){sprintf(display_buf,"%d ",temp_max);Oled_ShowString(2, 6, display_buf);}if(time_num % 10 == 0){Oled_ShowString(2, 6, " ");}break;case 2://界面2:显示设置湿度最小值Oled_ShowCHinese(1,0,"设置湿度最小值");if(time_num % 5 == 0){sprintf(display_buf,"%d ",humi_min);Oled_ShowString(2, 6, display_buf);}if(time_num % 10 == 0){Oled_ShowString(2, 6, " ");}break;case 3://界面3:设置光照最大值Oled_ShowCHinese(1,0,"设置光照最大值");if(time_num % 5 == 0){sprintf(display_buf,"%d ",light_max);Oled_ShowString(2, 6, display_buf);}if(time_num % 10 == 0){Oled_ShowString(2, 6, " ");}break;case 4://界面4:设置光照最小值Oled_ShowCHinese(1,0,"设置光照最小值");if(time_num % 5 == 0){sprintf(display_buf,"%d ",light_min);Oled_ShowString(2, 6, display_buf);}if(time_num % 10 == 0){Oled_ShowString(2, 6, " ");}break;default:break;} } /**** *******处理函数 *****/ void Manage_function(void) {if(flag_display == 0)//测量界面{if(flag_mode == 0)//自动模式{if(temp_value > temp_max*10)//如果温度大于最大值,开风扇{RELAY_FS = 1;}else{RELAY_FS = 0;}if(humi_value < humi_min*10)//如果湿度小于最小值,开水泵{RELAY_SB = 1;}else{RELAY_SB = 0;}if(light_value < light_min*10)//如果光照小于最小值,开补光{RELAY_BG = 1;}else{RELAY_BG = 0;}if(light_value > light_max*10 || CHECK_R == 0)//如果光照大于最大值或正在下雨,开遮阳棚{if(flag_Step2 == 0){flag_step2_c = 0;flag_step2_o = 1;}}else{if(flag_Step2 == 1){flag_step2_c = 1;flag_step2_o = 0;}}}}else //设置界面,关闭继电器{RELAY_BG = 0;RELAY_FS = 0;RELAY_SB = 0;} }

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150

相关知识

【51单片机毕业设计
毕业设计 基于51单片机自动智能浇花系统设计
【单片机毕业设计】基于单片机的智能灌溉系统的设计
单片机毕业设计 家用花卉智能浇水系统
(毕业设计资料)基于51单片机控制的自动浇水系统设计
单片机控制的定时浇水电路的设计(61页)
基于单片机的智能花盆
单片机控制花草自动浇水控制系统.doc
基于单片机的自动喷淋系统设计【毕业设计】
单片机毕业设计

网址: 【单片机毕业设计】【jj https://www.huajiangbk.com/newsview511397.html

所属分类:花卉
上一篇: 盘点5种春天播种, 秋天花开满盆
下一篇: 基于Arduino的土壤湿度检测

推荐分享