100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 【毕业设计】基于单片机的自动浇花灌溉系统设计 -嵌入式 物联网 stm32 c51

【毕业设计】基于单片机的自动浇花灌溉系统设计 -嵌入式 物联网 stm32 c51

时间:2021-02-05 07:32:24

相关推荐

【毕业设计】基于单片机的自动浇花灌溉系统设计 -嵌入式 物联网 stm32 c51

文章目录

1 简介2 主要器件3 实现效果4 设计原理5 关键代码6 最后

1 简介

Hi,大家好,这里是丹成学长,今天向大家介绍一个学长做的单片机项目

基于单片机的自动浇花灌溉系统设计

大家可用于 课程设计 或 毕业设计

单片机-嵌入式毕设选题大全及项目分享:

/m0_71572576/article/details/125409052

2 主要器件

1、采用stm32单片机作为控制单元;

2、采用LCD1602液晶进行数据显示;

3、采用土壤湿度传感器+ADC0832检测湿度,当湿度低于设置湿度下限值时,自动控制继电器开启水泵进行灌溉,同时蜂鸣器声光报警;当湿度高于设置湿度上限值时,自动关闭水泵停止灌溉。

4、采用按键设置湿度的上下限报警范围,并具有掉电保存功能,保存在STC单片机内部EEPROM,上电无需重新设置。

5、电机和水泵,抽水灌溉

3 实现效果

当土壤的温湿度达到阈值时,制动给植物浇水,搭载上WiFi模块后还可以远程控制浇水,在手机app或者网页上查看植物状态。

4 设计原理

单片机-嵌入式毕设选题大全及项目分享:

/m0_71572576/article/details/125409052

5 关键代码

# 作者:丹成学长 , q 532036360#include "sys.h"#include "delay.h"#include "usart.h"#include "led.h"#include "24cxx.h"#include "key.h" #include "pwm.h"#include "myiic.h"//要写入到24c02的字符串数组const u8 TEXT_Buffer[]={"Explorer STM32F4 IIC TEST"};#define SIZE sizeof(TEXT_Buffer) //定义数据缓存区static u8 YUYIN_BUF[USART_REC_LEN];static u8 GUANGQIANG_BUF[SIZE]; //光照传感器数据u8 uart1_res;u8 uart3_res;u8 TIM3_20ms;u8 TIM3_1s;char uart1_flag;char uart3_flag;/*********************************函数声明****************************************/int main(void){/*******硬件初始化******/NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2delay_init(168); //初始化延时函数uart_init(115200);//初始化串口1波特率为115200uart3_init(115200);//初始化串口3波特率为115200LED_Init(); //LED初始化BEEP_Init();//BEEP初始化GAS_Init();//气体检测初始化VOLUME_Init();//光电初始化PWM_Init(2000,840);/*********************************逻辑循环****************************************/while(1){switch(uart1_res){case '1':{TRASH_A1=300; Voice_LED=0; //点亮指示灯uart1_res=0; //标志清零printf("111");if(TIM3_1s>6){uart1_flag=TIM3_1s-10;}else{uart1_flag=TIM3_1s;}break;}case '2':{TRASH_A2=300;Voice_LED=0;//点亮指示灯//uart1_res=0;//标志清零printf("222");if(TIM3_1s>6){uart1_flag=TIM3_1s-10;}else{uart1_flag=TIM3_1s;}break;}case '3':{TRASH_A3=300;Voice_LED=0;//点亮指示灯uart1_res=0;//标志清零printf("333");if(TIM3_1s>6){uart1_flag=TIM3_1s-10;}else{uart1_flag=TIM3_1s;}break;}case '4':{TRASH_A6=300;Voice_LED=0;//点亮指示灯uart1_res=0;//标志清零printf("444");if(TIM3_1s>6){uart1_flag=TIM3_1s-10;}else{uart1_flag=TIM3_1s;}break;}default:{if((TIM3_1s-uart1_flag)>2){printf("555");TRASH_A1=400;TRASH_A2=400;TRASH_A3=400;TRASH_A6=400;Voice_LED=1;//关闭指示灯uart1_flag=TIM3_1s;}break;}}/*******************************无线通信模块**********************************/switch(uart3_res){case '1':{TRASH_A1=300;Voice_LED=0;//点亮指示灯uart1_res=0;//标志清零if(TIM3_1s>6){uart3_flag=TIM3_1s-10;}else{uart3_flag=TIM3_1s;}break;}case '2':{TRASH_A2=300;Voice_LED=0;//点亮指示灯uart3_res=0;//标志清零if(TIM3_1s>6){uart3_flag=TIM3_1s-10;}else{uart3_flag=TIM3_1s;}break;}case '3':{TRASH_A3=300; Voice_LED=0;//点亮指示灯uart3_res=0;//标志清零if(TIM3_1s>6){uart3_flag=TIM3_1s-10;}else{uart3_flag=TIM3_1s;}break;}case '4':{TRASH_A6=300;Voice_LED=0;//点亮指示灯uart1_res=0;//标志清零if(TIM3_1s>6){uart3_flag=TIM3_1s-10;}else{uart3_flag=TIM3_1s;}break;}default:{if((TIM3_1s-uart3_flag)>2){TRASH_A1=400;TRASH_A2=400;TRASH_A3=400;TRASH_A6=400;Voice_LED=0;//关灯uart3_flag=TIM3_1s;}break;}}if(GAS==0){Gas_LED = 0;//指示灯点亮BEEP = 1;}else{Gas_LED = 1;//关闭指示灯BEEP = 0;}if(VOLUME==0){Volume_LED = 0;//指示灯点亮BEEP = 1;}else{Volume_LED = 1;//关闭指示灯if(GAS==1){BEEP = 0;}}}}

6 最后

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。