基于STM32的农业大棚智能控制系统_第1页
基于STM32的农业大棚智能控制系统_第2页
基于STM32的农业大棚智能控制系统_第3页
基于STM32的农业大棚智能控制系统_第4页
基于STM32的农业大棚智能控制系统_第5页
已阅读5页,还剩27页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

[1]。该设计基于使用STM32的农业大棚智能控制系统。农业大棚是未来发展的一种趋势。本论文的工作内容及章节安排论文第一章介绍了国内外农用大棚的背景和现状。第二章概述了总体设计方针。第三章论述了系统的硬件和电路设计。第四章介绍了各组件的软件设计。第五章讨论软件和硬件系统的调试过程,测试所设计的系统能否正常工作。总体方案设计设计的主要内容本次论文系统是基于STM32F103C8T6微控制器的湿度检测,主要采用广泛使用的YL-69土壤湿度传感器来检测湿度。该系统使用DHT11传感器收集当前环境温度和湿度数据,并使用光敏电阻器测量当前植物照明强度。通过蓝牙模块将数据传输到手机以显示和控制。外围部件用于控制关键参数,如土壤湿度、温度和空气湿度、当前环境中的光强度。方案可行性分析我们首先要考虑技术可行性,通过系统的硬件设备实现对大棚的控制与监测,器件的功能和性能经测试在实际应用中具有稳定,可靠性。然后,我们还要考虑经济的可行性。大棚技术可以提高农作物的产量与质量,减少劳动成本,提高农民的收入。最后,大棚技术还要具备一定的社会可行性。随着农业现代化和智能化的发展,人们对生产效率和环境保护的要求越来越高。而农业大棚智能控制技术,可以提高农业的自动化,这有利于推动农业产业结构的升级。结合农业大棚智能控制系统在技术,经济和社会三方面的可行性分析,通过合理运用,这会给农业生产带来显著的效益。方案论证方案一:湿度传感器通过使用模数转换器将模拟信号转换为数字信号,然后使用解码器显示结果,以便转换的数字信号可以传递到显示电路中。ADC转换电路的脉冲可以由计时器555组成的多谐振动器产生。图2-1方案一框图方案二:在这个设计中,主控芯片是32单片机,各个功能由外部电路完成。主要组件包括时钟晶体振荡器电路、土壤湿度测量电路、空气温湿度采集电路、光照采集电路和液晶显示模块。此外还包括传输模块、报警模块、按键模块以及水泵灌溉系统。如下图2-2所示:图2-2方案二框图系统方案对比论证在方案一中,74HC4511解码器具有称为“衰减”的功能。这意味着,当ADC转换超过1001个数据时,解码器将输出1010到1111之间的六个代码保存在较低的水平。因此,显示器无法正确显示每个设备的湿度值。。在方案二中,单片机相对于方案一具有显著优势,如体积更小、功耗更低等。最重要的优点是其高性价比。单片机的工作速度比方案一快得多,提供了更高的工作速率和更高的精确度。在设计系统时,必须优先考虑在简化外围设备的同时保持高性能。此外,在可行的情况下,应将硬件功能替换为软件功能,确保它们在系统的速度和性能参数范围内运行。因此选择备选方案二作为完成论文的首选实施方法。系统硬件设计单片机最小系统电路最小微控制器系统是指微控制器正确运行和运行程序所需的最简单电路。为了使微控制器能够正常启动和运行,每个组件都是必不可少的。微控制器的最小系统通常包括微控制器本身、程序存储器、时钟电路和复位电路。对于32位微控制器,最小系统包括微控制器本身、外部时钟电路和复位电路。微控制器是将处理器、存储器和输入/输出接口集成到单个芯片中的微型计算机的集成电路。它由CPU系统、程序存储器、数据存储器、各种输入/输出端口和其他基本功能块组成。用软件系统来控制,可以准确、快速、高效地执行开发人员编程的任务。微控制器提供经济性、极低功耗、高可靠性、出色的控制和可扩展性,是电子系统中必不可少的工具。微控制器的出现,大大简化了复杂电路系统的设计,提高了系统的智能,广泛应用于技术开发和人类生活的各个领域。微控制器不断朝着更高性能、更富多样性的方向进化,为未来的应用带来了广泛的前景。最小的微控制器系统需要微控制器能够正常运行,有效地执行任务。它是集成在一个芯片上的完整计算机系统,作为控制核心的微型大脑。此外,还包括输出设备和计时器,作为定时功能的中央控制发挥作用。它还提供通信接口,将所有必需的组件集成到一个芯片中。这就是微控制器。如下图3-1所示:图STYLEREF1\s3-SEQ图\*Arabic\s11单片机最小系统框图STM32单片机概述单片机通常称为微控制器,通常用于控制领域,是嵌入式系统的关键组成部分。该设计使用STM32C8T6板。STM32微控制器是一种具有快速字节擦除能力的低电压高性能微处理器。它以其简单、方便和易于使用而闻名。STM32F103微控制器是STC公司最初生产的低功耗、高性能工业控制设备。其功能是控制各种传感器和设备,处理数据和信号,执行相关操作,基本上在工业生产中充当大脑。与日常生活中使用的计算机不同,微控制器是小型有限电路集成系统,主要用于处理简单的控制任务。微控制器广泛使用,从冰箱、空调、洗衣机、电视等主要家电产品到遥控器、鼠标、键盘、闹钟等小型设备,几乎控制所有电器产品。它还广泛应用于仪器制造、航空航天、家用电器、医疗器械等各个领域。智能设备的开发很大程度上依赖于微控制器。在这个设计中,我们选择STM32F103C8T6微控制器。与51系列相比,这款微控制器有很多附加功能。它比51微控制器运行速度要快得多,还配备了两个内置ADC和5个串行通信端口。图STYLEREF1\s3-2STM32F103C86实物图电源电路电源模块包括三针连接器和六针电源开关。连接器用于连接外部电源插头,而电源开关控制整个微控制器电路的开关状态。插座包括三个端子。其中两个用于接地,第三个用于固定。插座的端子连接到电源开关的第三端子。电源开关的第一和第三端子以及第四和第六端子执行相同的功能,提供正极输出功率。电源开关根据设置选择第一和第三引脚作为输出,第五引脚用于接地。本次设计的电源电路设计如下图3-3所示:图STYLEREF1\s3-3电源电路设计按键设置电路该功能允许我们随时发送各种控制命令和输入数据,连接OLED显示器以显示操作状态和系统结果。键盘可分为两种主要类型:独立键盘和矩阵键盘。基于编码方法,每种类型可以分为编码和未编码。由于该系统只有一些功能,如自动/手动操作和增加/减少,因此选择了独立键。按下按钮后,微控制器将发送低信号,反之,松开按钮后,高信号将发送给微控制器。通过在程序中编写一个按键扫描函数,我们可以执行所需的功能。图STYLEREF1\s3-4按键电路图设计液晶显示电路有机发光二极管(OLED)显示器是一种新型照明和显示设备。基本上,OLED由夹在阳极和阴极之间的多层有机材料组成,以形成稳定的发光器件。当电流流动时,这些有机材料发光。OLED采用一般的矩阵交叉屏结构,有机OLED布置在阳极与阴极的交叉图形之间。通过选择性驱动阳极和阴极的组合,可以控制每个OLED的照明。OLED是电流驱动的设备,可以通过调整电流来控制显示的亮度。图3-5OLED实物图图STYLEREF1\s3-6OLED原理图土壤湿度传感器传感器是一种设备或组件,会对某一测量的物理量作出反应并将其转换为输出信号。传感器通常由与测量的物理量直接反应的灵敏度高的部件、生成输出信号的灵敏度高的部件以及与其对应的电子电路构成。湿度传感器可以被认为是可变电阻。当检测到湿度时,电阻值发生变化。最小湿度下的电阻为10K,最大湿度下为0.1欧姆。变化范围取决于传感器检测到的湿度。当电阻值变化时,电路的输出电压也会变化。通过调整电阻值,可以获得电路所需的电压。该设计使用YL-69土壤湿度传感器。图STYLEREF1\s3-7YL-69土壤湿度传感器光照采集电路设计光电元件广泛用于照明测量、光控制和光电转换。一般是由半导体材料制成。光伏电池的光敏性与人眼对可见光的反应密切相关。只要人眼能感知光,光电元件的电阻就会发生变化。在光控制电路的设计中,白炽灯或自然光源通常用作可控光源。这大大简化了设计的复杂性。感光电路使用ADC将光转换为模拟信号,可以使用电位计校准当前的光强度值。光敏电阻器的光效应用于根据光强度改变其在半导体中的电阻。当光强度降低时,电阻增加。图STYLEREF1\s3-8光照传感器继电器驱动电路在设计中,继电器主要用于控制外围设备。通过将负载电路连接到继电器端口,可以控制这些设备的动作。主要负载包括泵、风扇和光补偿系统。在继电器关闭的状态下,泵可以直接工作为植物提供水、冷却和照明。因此,控制只需使用继电器就足够了。图3-9继电器实物图图STYLEREF1\s3-10继电控制原理图DHT11电路设计DHT11是一种复合传感器,提供温度和湿度测量的校准数字输出。采用专业级数字校准技术和温度湿度检测技术,确保高可靠性和长期稳定性。传感器由电阻湿度检测组件和NTC温度测量组件组成,它们与高性能8位微控制器相互作用。该产品以其卓越的质量、快速的响应时间、强大的抗干扰性、高性能和成本效益而闻名。DHT11传感器在高精度湿度校准室中校准。校准系数存储在传感器的内部OTP软件存储器中,用于信号处理和测量。传感器具有单线串行接口,便于与系统集成。由于其紧凑的尺寸、极低的功耗,DHT11传感器适用于各种应用。即使在困难条件下,它也保持可靠。它安装在一排4针接线盒中,便于连接。也可根据用户要求提供特殊包装选项。DHT11传感器原理图如3-11所示:图STYLEREF1\s3-11DHT11传感器原理图蜂鸣器报警电路设计当没有达到指定温湿度时,微控制器使蜂鸣器发出报警声。由于使用了STM32微控制器,在通电时引脚处于高电压状态。因此,8550晶体管不能使用,因为它只在低电压下导通。相反,必须使用8050晶体管,即使在高电压状态下也会导通。图3-12蜂鸣器实物图图STYLEREF1\s3-13蜂鸣器原理图蓝牙无线传输电路设计我们使用的无线模块是HC-05蓝牙模块。使用此模块,可以将当前数据和设置无线发送到用户的智能手机并进行查看。此外,还可以在智能手机上控制实物。蓝牙可以传输模拟和数字信号。这些信号由模拟或数字调制器调制,以成为固定频率调制信号。然后,这些信号与合成器的主载波频率信号混合,并生成满足射频带宽要求的调制输出信号。最后,在通过高频滤波器和天线反馈之后,信号通过天线传输。该过程用于传输固定频率信号。另一方面,时分多址技术将时间划分为非重叠帧,然后将每个帧细分为分配给特定用户的单个时隙。这允许区分和重用不同的信号,从而允许多个用户同时访问连接。图3-14蓝牙模块实物图STYLEREF1\s3-15蓝牙原理图硬件电路仿真与焊接本次采用AD(AltiumDesigner)设计的。AD是一款功能强大的电子设计自动化(EDA)软件,用于模拟和设计电子电路。它为工程师和学生提供了一套完整的工具来设计,建模和验证电路原型。AD可以与数字和模拟电路一起工作,包括微控制器,微处理器和许多其他常见的电子元件。该软件还提供了电路板设计功能,允许用户设计自己的电路板并执行布局和跟踪。图STYLEREF1\s3-17原理图图3-18仿真图仿真完成后就是焊接,在将组件焊接到板上之前,检查设备的外观和引脚,以确保它们完好无损。焊接电源连接时,注意极性,确保正极和负极端子正确对齐。图3-19实物图系统软件设计开发软件介绍在校期间学习使用了名为Keil5的编程软件,因此计划在这个系统中继续使用该软件。由于其分类明确的界面、高度的可用性和通用性,该软件在微控制器编程中非常受欢迎。Keil5具有汇编语言支持、链接器使用和高效的库功能。这个软件具有易于使用的界面,编程效率也非常高。特别是在微控制器编程方面,Keil5非常易于使用,并提供了广泛的功能。此外,Keil5软件还配备了强大的编译器和调试器,用于有效地开发和调试程序。总之,Keil5是一款功能强大、易于使用的集成开发环境,在微控制器编程中广泛使用。Keil5软件还包括强大的模拟调试器,提供仿真功能。这降低了程序偏离正确路径的可能性。Keil5是一个高度集成的编译软件。设计基于STM32处理器,包括各种模块控制和调整编程。此论文整个系统由多个模块程序组成,每一个都有单独的研究和测试。下载KEIL5软件后,首先创建一个新的项目文件夹。然后打开软件,创建一个新项目并将其保存到新创建的文件夹中。在出现的窗口中,选择微控制器型号。然后单击确定。在左侧的导航窗格中,创建主源文件。此文件用于编写主程序代码。然后,创建用于描述子程序的子程序文件夹。编写代码后,用软件运行以检查错误,然后写入电路进行调试。如下图4-1为keil5软件图。图STYLEREF1\s4-SEQ图\*Arabic\s11keil5软件图系统程序设计流程本设计方案以STM32F103C8T6芯片为主控制,具有微控制器控制、自动控制、土壤湿度采集、蓝牙无线传输控制、蜂鸣器报警、光照强度检测等功能。用户可以通过键盘输入设置湿度下限、温度上限和光照强度下限。系统根据传感器采集的当前环境数据自动给植物浇水、调节温度并根据光照强度进行补偿。此外,还提供了远程控制功能,用于调节浇水、温度和光照强度补偿。下图是列出的系统程序流程图4-2。图STYLEREF1\s4-SEQ图\*Arabic\s12系统程序流程图DHT11程序流程图DHT11是一个用于测量温度和湿度的数字模块。随着技术的发展,对日常仪器温度和湿度测量的需求增加,导致温度和湿度传感器的广泛使用。新一代数字传感器不需要外部模拟-数字转换模块,并具有标准接口以获得更大的便利性。此外,它们越来越适用。DHT11采用简化的单线通信模式。单行通信是指数据交换在单个数据链路上进行,在该链路上进行数据交换和控制。微控制器设备通过开放式导入或三态端口连接到数据通道。当数据未发送时,设备释放总线,以便其他设备可以使用它。在单线通信中,通常需要电阻约为5.1千伏的拉伸电阻器。这允许在轮胎闲置时保持高电压水平。由于DHT11模块具有主从结构,因此只有当主从设备调用时,传感器才会响应。因此,当从主设备访问传感器时,必须严格遵守单线通信协议。如果发生序列错误,传感器将不响应。流程图如4-3所示:图4.3温度检测流程图代码STYLEREF1\s4-SEQ代码\*Arabic\s11DHT11代码bitinit_DTH11(){ bitflag; ucharnum; DQ=0; delay_ms(19); //>18ms DQ=1; for(num=0;num<10;num++); //20-40us for(num=0;num<12;num++); flag=DQ; for(num=0;num<11;num++); //DTH响应80us for(num=0;num<24;num++); //DTH拉高80us returnflag;}ucharDTH11_RD_CHAR(){ ucharbyte=0; ucharnum; ucharnum1; while(DQ==1); for(num1=0;num1<8;num1++){ while(DQ==0); byte<<=1; //高位在前 for(num=0;DQ==1;num++); if(num<10) byte|=0x00; else byte|=0x01;} returnbyte;}voidDTH11_DUSHU(){ ucharnum; if(init_DTH11()==0){ wendu=DTH11_RD_CHAR();//比正常值高7度左右 DTH11_RD_CHAR(); shidu=DTH11_RD_CHAR(); DTH11_RD_CHAR(); DTH11_RD_CHAR();for(num=0;num<17;num++);//最后BIT输出后拉低总线50us DQ=1;}}液晶显示电路oled通过微机I/O端口连接到液晶屏。程序启动时,首先写入控制语,然后写入显示数据。在写入控制语之前,必须使用命令确认液晶的正常动作。液晶工作时,等待来自液晶的信号,等待作业完成后,写入控制词和数据。如图4-4所示。图STYLEREF1\s4-4液晶显示流程图代码STYLEREF1\s4-2液晶显示部分代码voidbsp_InitI2C_2(void){ GPIO_InitTypeDefGPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_I2C_PORT,ENABLE); GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_OD; GPIO_InitStructure.GPIO_Pin=PIN_I2C_SCL; GPIO_Init(PORT_I2C_SCL,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin=PIN_I2C_SDA; GPIO_Init(PORT_I2C_SDA,&GPIO_InitStructure);土壤湿度光照子程序土壤湿度和光照强度都使用微控制器的内置模数转换器进行记录。因此,编程逻辑是相同的,但选择不同的ADC通道。在收集土壤湿度和光照强度的当前数据后,模拟值被发送到微控制器的ADC输入端进行处理。一旦初始化,就通过ADC转换获得电流值。图STYLEREF1\s4-5土壤湿度A/D转换流程图代码STYLEREF1\s4-3土壤湿度光照子程序部分代码voidAdc_Init(void){ ADC_InitTypeDefADC_InitStructure; GPIO_InitTypeDefGPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_ADC1 ,ENABLE); //使能ADC1通道时钟 RCC_ADCCLKConfig(RCC_PCLK2_Div8); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1|GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN; //模拟输入引脚 GPIO_Init(GPIOB,&GPIO_InitStructure); ADC_DeInit(ADC1); ADC_InitStructure.ADC_Mode=ADC_Mode_Independent; ADC_InitStructure.ADC_ScanConvMode=DISABLE; ADC_InitStructure.ADC_ContinuousConvMode=DISABLE; ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None; ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right; ADC_InitStructure.ADC_NbrOfChannel=1; ADC_Init(ADC1,&ADC_InitStructure); ADC_Cmd(ADC1,ENABLE); //使能指定的ADC1 ADC_ResetCalibration(ADC1); //使能复位校准 while(ADC_GetResetCalibrationStatus(ADC1)); //等待复位校准结束 ADC_StartCalibration(ADC1); //开启AD校准 while(ADC_GetCalibrationStatus(ADC1)); //等待校准结束} 按键设置子程序本次有K1,K2,K3这3个按键,它们分别掌管设置,加,减。当按下设置键时它可以切换土壤湿度,环境温度和光照强度,然后通过加、减键来进行增加和减小操作。按键电路有四个插针。其中两个是一样的。连接电路时,只需连接两个引脚即可。流程图如下图4-6所示,部分代码如4-4所示。图STYLEREF1\s4-6按键设计程序设计图代码STYLEREF1\s4-4按键设置部分子代码voidkeyscan(void)//按键扫描if(setn>3){setn=0;OLED_CLS();//清屏InitDisplay();}if(KEY2==0)//加{delay_ms(20);if(KEY2==0){while(KEY2==0);if(setn==1){ if(setSoilMoisture<99)setSoilMoisture++;}if(setn==2){ if(setTempValue<99)setTempValue++;}if(setn==3){if(setLightValue<99)setLightValue++;} displaySetValue();}}if(KEY3==0)//减报警器程序设计主函数执行后,它会持续检查当前参数是否在设定范围内。如果超出范围,蜂鸣器会向用户发出警告音。报警电路使用蜂鸣器报警电路,具有与家电产品扬声器相似的功能。一般来说,工作电流比较高,电路上的TTL电平不能有效驱动蜂鸣器。因此,需要放大电路。因为一个插针很难直接敲响蜂鸣器,所以加入晶体管放大通过蜂鸣器的电流。蜂鸣器的正极连接到晶体管。为了防止晶体管直接接通,增加了1kΩ限流电阻器。微控制器的I/O端口发出高信号。当输出处于较高水平时,晶体管被打开,形成一条电路,电流从蜂鸣器流出,产生声音。如果触点低,晶体管会断开,蜂鸣器不会发出声音。图STYLEREF1\s4-7报警器程序设计图代码STYLEREF1\s4-5报警器模块部分子代码voidMOTOR_GPIO_Init(void){ GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //使能PB端口时钟GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8; //端口配置 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //上拉输入 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //IO口速度为50MHz GPIO_Init(GPIOB,&GPIO_InitStructure); GPIO_ResetBits(GPIOB,GPIO_Pin_8);//输出0 }蓝牙无线传输我们先给实物通电然后点击手机上的“连接蓝牙”,收集就会搜索设备,点击设备名称“HC-05”,然后输入默认密码1234。实物和手机就连接成功。蓝牙通信模块配对流程图如下图4-8所示。图STYLEREF1\s4-8蓝牙通信流程图代码STYLEREF1\s4-6蓝牙子程序部分代码voiduart1_Init(u32bound){//GPIO端口设置GPIO_InitTypeDefGPIO_InitStructure;USART_InitTypeDefUSART_InitStructure;NVIC_InitTypeDefNVIC_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE); USART_DeInit(USART1);//USART初始化设置USART_InitStructure.USART_BaudRate=bound;//一般设置为9600;USART_InitStructure.USART_WordLength=USART_WordLength_8b;USART_InitStructure.USART_StopBits=USART_StopBits_1;USART_InitStructure.USART_Parity=USART_Parity_No;USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;USART_Init(USART1,&USART_InitStructure);软件调试安装此软件时,注意环境配置非常重要。初步任务的完成对后续任务的顺利执行至关重要。在物理焊接完成后,下一步是烧录程序。在烧录程序之前,通过在软件中运行程序来检查是否存在任何代码问题以确保其功能正常是至关重要的。程序调试主要在Keil5MDK软件内进行。调试包括修改和修复在软件中编译程序时出现的问题。这个芯片设计主要集中在STM32F103上,在Keil5软件环境中开发。当编译也没有问题的时候我们就可以直接烧到板子上看看效果。图STYLEREF1\s4-9编译结果图手机app因为手机app不属于单片机它是独立存在的,是通过蓝牙连接的,所以我们需要先在电脑上下载AndroidStudior软件,在电脑里面编写代码进行调试。调试完成后再运行代码通过USB安装到手机上面。STYLEREF1\s4-10手机APP界面图代码STYLEREF1\s4-7手机APP部分代码//查找到设备actionif(BluetoothDevice.ACTION_FOUND.equals(action)){//得到蓝牙设备BluetoothDevicedevice=intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);//如果是已配对的则略过,已得到显示,其余的在添加到列表中进行显示if(device.getBondState()!=BluetoothDevice.BOND_BONDED){mNewDevicesArrayAdapter.add(device.getName()+"\n"+device.getAddress());}else{//添加到已配对设备列表mPairedDevicesArrayAdapter.add(device.getName()+"\n"+device.getAddress());}//搜索完成action}elseif(BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)){//setTitle("选择要连接的设备");Toast.makeText(DeviceListActivity.this,"选择要连接的设备",Toast.LENGTH_SHORT).show();if(mNewDevicesArrayAdapter.getCount()==0){StringnoDevices="没有找到新设备";mNewDevicesArrayAdapter.add(noDevices);}}}};}整体调试调试系统包括硬件和软件调试。完成硬件电路的构建和编程后,可以开始测试过程。调试是系统设计的重要阶段,决定了系统运行的准确性。程序编写完成后,最后一步是执行全局调试。过去硬件和软件的调试是单独进行的,但现在它们是集成的。打开系统后,可以使用万用表检查电路,使用示波器检查组件的波形。然后开始测试系统性能。请注意:1.观察基板,确认所有焊点均牢固连接,没有虚焊漏焊的情况;2.万用表调试电路,首先确保电源中没有短路,并检查正确的接线连接以避免接线错误。使用万用表时,确保负极接地;3.上电测试整体功能,并确保设计的功能正常工作;;4.连接蓝牙,测试手机是否可以通过蓝牙远程实时监控大棚内的情况。5.全面检查测试的每个功能,并确保与设计规格没有明显偏差;通过遵守以上步骤,可以测试系统的性能,确定并修正问题。调试工作可能需要时间和耐心,但持续的调试工作可以提高系统性能。图STYLEREF1\s5-1实物效果图总结本次设计是以STM32F103C8T6单片机为核心,集成YL-69土壤湿度传感器、DHT11温湿度传感器、光敏电阻、继电器、无线传输模块等各种外围设备和相关电路,构建检测系统。该系统通过终端传感器检测到环境参数的变化,工作人员可以实时监测OLED显示屏上显示的环境湿度水平。晶体管驱动灌溉水泵,风扇帮助调节温度。使用按钮设置阈值,并在屏幕上显示该值。硬件和软件的结合,实现了对大棚的智能控制。在设计过程中也遇到了很多困难。例如,蜂鸣器最初无法发出声音。经过检查,发现当以高电平驱动晶体管时,NPN晶体管不导通。这是由于微控制器引脚的输出电流不足以驱动晶体管。我们可以通过用PNP型晶体管替换NPN晶体管来解决这个问题,使蜂鸣器在驱动到低电平时响起。焊接时,由于自己操作不当,器件报废,虚焊漏焊器件达不到效果也是有的。虽然设计已经完成,但由于自己的能力有限也有很多不足的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论