1、摘要当今社会,随着人们生活水平日益提高,人们在物质生活得到满足的情况下,对精神生活的追求也日益丰富,就如现在小区中的宠物越来越多,宠物的饲养可以调节人们的心情,可以丰富人们的日常生活,饲养宠物凭借其不可替代的消遣新乐趣,在城市居民生活中应运而生。随着科技的进步,智能化逐渐走进人们的日常生活,这也就为宠物的智能化饲养提供了方向。能够实现对宠物的智能化管理,这将会极大的节省人们的工作量。本设计采用STM32F103C8T6作为主控芯片。系统上电后,根据所需要求设定好温度值,室温传感器DHT11实时测试室内温度,单片机以采样频率(根据需求定)对室温传感器的温度值进行读取,单片机根据读取的温度值与
2、阈值进行比对,如果温度值高于阈值,则打开风扇,实现降温效果;同时定时开启喂水装置,对宠物进行喂水;根据光照的不同,如果光照较弱则打开LED灯进行补光。在程序设计方面,本设计采用了freeRTOS操作系统,采用了多任务方式,增强了单片机处理的实时性。关键词:单片机;温湿度传感器;光敏传感器;继电器;定时器-III-AbstractIntodayssociety,withtheincreasingofpeopleslivingstandard,peopleundertheconditionofthemateriallifesatisfaction,thepursuitofspiritualli
3、feisalsoincreasinglyrich,justastherearemoreandmorevillageofpet,petraisingcanadjustthemood,canenrichPeoplesDailylife,keepingpetswithitsirreplaceablenewfunpastime,arisesatthehistoricmomentintheurbanlife.Withtheprogressofscienceandtechnology,intelligencehasgraduallyenteredPeoplesDailylife,whichalsoprov
4、idesadirectionfortheintelligentraisingofpets.Intelligentmanagementofpetscanberealized,whichwillgreatlysavepeoplesworkload.ThisdesignadoptsSTM32F103C8T6asthemaincontrolchip.Afterthesystemispoweredon,accordingtotherequirementssettemperatureandroomtemperaturesensorDHT11real-timetestindoortemperature,si
5、nglechipmicrocomputertosamplingfrequency(accordingtodemand)toreadthetemperatureofroomtemperaturesensor,single-chipmicrocomputeraccordingtoreadthetemperaturevalueandcomparethethreshold,ifthetemperatureishigherthanthethreshold,thenopenthefan,achievecoolingeffect;Atthesametime,thewaterfeedingdeviceisop
6、enedregularlytofeedthepet.Dependingonthelight,ifthelightisweak,turnontheLEDlamptomakeupthelight.Intheaspectofprogramdesign,thisdesignadoptsfreeRTOSoperatingsystem,adoptsmulti-taskmode,enhancesthereal-timeprocessingofsingle-chipmicrocomputer.KeyWords:singlechip;temperatureandhumiditysensor;photose
7、nsitivesensor;relay;timer目录摘要IAbstractII1引言11.1研究背景及意义12宠物管理系统原理22.1宠物管理系统原理架构22.2宠物管理系统各功能模块原理22.2.1主控微处理器部分22.2.2电源部分32.2.3调试及外扩接口部分32.2.4人机交互及功能设置部分42.2.5存储器部分42.2.6传感器数据采集部分42.2.7系统执行功能部分82.3宠物管理系统总体执行流程93宠物管理系统的硬件设计103.1宠物管理系统硬件电路功能介绍103.1.1供电电路103.1.2微处理器最小系统电路113.1.3参数数
8、据存储电路143.1.4USB转TTL-UART电路143.1.5按键电路153.1.6LED灯电路153.1.7光敏电路163.2DHT11温湿度数据采集电路164宠物管理系统的软件设计184.1宠物管理系统微处理器底层驱动配置184.2STM32CubeMX硬件底层配置194.3生成底层驱动代码244.4智能宠物管理系统功能代码设计254.4.1Keil-MDK5软件使用简介254.4.2系统的用户逻辑代码实现265智能宠物管理系统的调试275.1温湿度传感器调试275.2定时器调试275.3串口数据调试286结论30参考文献31附录A设计电路原理图3
11、管理系统的总体架构,各部分功能模块的基本原理。2.1宠物管理系统原理架构图2-1宠物管理系统原理本系统的总体架构包含如下部分:5.0V及3.3V供电部分,主控微处理器STM32F103C8T6,调试功能接口,存储器部分,传感器信息采集部分,串口通信部分,控制执行部分以及扩展接口功能。2.2宠物管理系统各功能模块原理在本节中,将介绍各个功能模块的原理及模块的实现过程。2.2.1主控微处理器部分主控微处理器是整个系统的核心部分,本次课题采用的是意法半导体(ST)的STM32F103C8T6微控制器,此控制器是基于ARM32的微处理器,采用Cortex-M3内核,是目前市场性价比较高的一款微处
13、源引出5路接口,以方便接诸如5.0V的继电器,供接外部器件使用。电源5.0V经过电源转换芯片XC6201P332MR,输入3.16.0V(本系统的输入为5.0V),输出电压为3.3V,最大输出电流为250mA,本系统采用两路电源转换芯片,以保证外接电路模块的可靠供电。2.2.3调试及外扩接口部分本系统采用SWD(即serialwiredebug)调试接口(VCC,SWDIO,SWCLK,GND),此种相对于其他模式,诸如串口,JATG模式的优势在于:串口模式可以下载程序,但是不便于调试,对于工程中的变量的变化无法定位及观察,也就无法预知数据的变化过程,无法得知程序的运行过程;相对于JTA
14、G模式来说,可以节省较多的管脚空间,对于本系统的主控制器在管脚数量较少的情况下显得尤为重要,虽然JTAG调试模式有较快速读的优势,通常这种优势在较大或者庞大工程中明显,对于论文的轻量级代码SWD模式已经绰绰有余,所以采用SWD模式是较好的折中方案。对于其他管脚,采取外引的模式,将管脚引出以便于接传感器或者执行器件使用,方便灵活开发。2.2.4人机交互及功能设置部分人机交互部分我们采用的是串口(USART),串口作为工程开发人员,尤其是嵌入式开发人员,是开发者与硬件进行信息交互的重要通道,同时这种信息交互接口也是在众多接口中,协议较为简单,使用较为灵活,效果较为明显的一种接口。我们论文项目中部
15、分参数的设置也是通过串口进行设置的,同时很多提示信息也是由串口输出的。按键也是本系统预留的输入方式,按键可以进行一些简单的设置,如每按一次按键甲累计数值加一,就可以设置湿度值;每按一次按键乙可以实现数值累计加一,温度值减一,从而实现简单的输入控制。2.2.5存储器部分存储器部分的功能主要是存储时常使用且需要保存的数据,断电后不易失,上电后可以读取,本文采用的EEPROM是AT24C02,此款芯片的容量是2K-bit,计256-Byte,内容分为32页,每页8-Byte。有一个8-Byte页写缓冲器。有一个专门的写保护功能WP,当WP管脚连接到Vcc上时,开启写保护,所有的内容写保护只能读;当
16、连接到GND时关闭写保护功能。AT24C02采用IIC总线接口读写数据,遵从IIC协议。总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,由于A0、A1和A2可以组成000111八种情况,即通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上,通过进行不同的配置进行选择器件。2.2.6传感器数据采集部分DHT11数字温湿度传感器是一款集温度湿度一体的复合型数字信号传感器,传感器包括一个电阻
17、式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接,它所采用的专用数字模块采集技术和温湿度传感技术,具有极高的可靠性与卓越的稳定性,同时此款传感器还具有响应快、抗干扰能力强等优点。温湿度传感器都在极为精确的湿度校验室中进行了温湿度校准,校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号,处理数据的过程中再调用这些校准系数,使其达到较精确的数据输出。温湿度传感器采用单线制串行接口,4针单排引脚封装,具有系统集成快捷,体积小,功耗低,信号传输距离远(信号传输距离可达20米以上)等特点。图2-2温湿度传感器(1)DHT11引脚说明表2-1DHT11引脚说明(2)接口说明连接线
19、高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时的校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据。从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集。采集数据后转换到低速模式。图2-4输出
21、果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常。当最后1bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。数字0信号表示:图2-6数字0信号表示数字1信号表示:图2-7数字1信号表示2.2.7系统执行功能部分(1)三色LED灯发光二极管是半导体二极管的一种,可以把电能转化成光能。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。不同的半导体材料中电子和空穴所处的能量状态不
22、同。当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。常用的是发红光、绿光或黄光的二极管。发光二极管的反向击穿电压大于5伏。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过二极管的电流。限流电阻R可用下式计算:R=(EUF)/IF式中E为电源电压,UF为LED的正向压降,IF为LED的正常工作电流。发光二极管的核心部分是由P型半导体和N型半导体组成的晶片,在P型半导体和N型半导体之间有一个过渡层,称为PN结。在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流
23、子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。当它处于正向工作状态时(即两端加上正向电压),电流从LED阳极流向阴极时,半导体晶体就发出从紫外线到红外线不同颜色的光线,光的强弱与电流有关。发光二极管还可分为普通单色发光二极管、高亮度发光二极管、超高亮度发光。三色LED的概念三色LED由两个不同颜色的管芯组成,有共阳、共阴接法,故为散引脚。当两个管芯各自亮时呈现两色,当两个管芯一起亮时则为混色,所以称为三色LED。三色发光二极管是将3种不同颜色的LTC4151CMS%23PBF管芯封装在一起,也分为共阴极和共阳极两种。(2)对于散热风扇,我们采用两线制的微
25、所设阈值进行比对,如果光照强度值小于所设阈值,则打开LED灯进行补光。在程序设计方面,我们才用了freeRTOS操作系统,采用了多任务处理方式,将温湿度数据采集,定时喂水,光照强度采集等功能都放到任务重执行,任务的调度等都交由操作系统去实现,保证了业务功能执行的实时性和可靠性,同时简化了用户对程序执行过程的管理,极大的方便了用户对程序操作。3宠物管理系统的硬件设计在本节中主要介绍硬件功能的介绍,硬件功能电路实现,对于硬件电路的设计,我们使用的是AltiumDesignerV10,主要是设计了系统的原理图和PCB版图。对于硬件电路图的设计,主要有以下流程:原理图器件库的建立,PCB器件的
26、封装库的建立,原理图器件的连接,PCB板图的布线,生成BOM表并根据BOM表购买焊接器件,制板,焊接电路板,调试电路板。3.1宠物管理系统硬件电路功能介绍在本节中宠物管理系统的硬件电路主要包含:供电电路,微处理器最小系统,存储电路,光敏传感器电路,TTL-UART转USB电路,SWD调试及外扩电路接口,按键电路等。3.1.1供电电路图3-1供电电路在供电电路中,我们采用了两路XC6201P332MR电源处理芯片,采用SOT23-5封装,电源输入为3.1V-6.0V,我们输入电源为5.0V,VSS端接地,输出为3.3V,输出电流单路最大为250mA,同时我们在输出端加了10uF和100
27、nF的电容用于电源滤波,10uF电容对于滤除低频干扰有较好作用,但对于高频干扰,电容呈现感性,阻抗很大,无法有效滤除,因此再并一个100nF的电容滤除高频分量,因此,此两种电容可以有效的滤除电源的低频和高频成分,实现电源的稳定输出。3.1.2微处理器最小系统电路图3-2微处理器最小系统电路微处理器最小系统电路,我们采用STM32F103C8T6微处理器,此款微处理器主要硬件功能:Cortex-M3内核,64K-Bytes闪存存储器,LQFP-48封装等。微处理器功能包含:CRC计算单元(CRC),电源控制(PWR),备份寄存器(BKP),小容量、中容量和大容量产品的复位和时钟控制(RC
28、C),互联型产品的复位和时钟控制(RCC),通用和复用功能I/O(GPIO和AFIO),中断和事件,DMA控制器(DMA),模拟/数字转换(ADC),数字/模拟转换(DAC),高级控制定时器(TIM1和TIM8),通用定时器(TIMx),基本定时器(TIM6和TIM7),实时时钟(RTC),独立看门狗(IWDG),窗口看门狗(WWDG),灵活的静态存储器控制器(FSMC),SDIO接口(SDIO),USB全速设备接口(USB),控制器局域网(bxCAN),串行外设接口(SPI),I2C接口,通用同步异步收发器(USART),USBOTG全速(OTG_FS),以太网(ETH):具有DMA控制器
29、的介质访问控制(MAC),器件电子签名,调试支持(DBG)。我们本次课题用到的功能包含:小容量、中容量和大容量产品的复位和时钟控制(RCC),通用和复用功能I/O(GPIO和AFIO),中断和事件,DMA控制器(DMA),模拟/数字转换(ADC),通用定时器(TIMx),通用同步异步收发器(USART),串行外设接口(SPI)等。存储器和总线构架,系统构架,在小容量、中容量和大容量产品中,主系统由以下部分构成:四个驱动单元:Cortex-M3内核,DCode总线(D-bus)和系统总线(S-bus)通用DMA1和通用DMA2四个被动单元内部SRAM内部闪存存储器FSMCAHB到
30、APB的桥(AHB2APBx),它连接所有的APB设备如图3-3所示。图3-3图3-4时钟电路时钟部分,我们采用8MHz的贴片陶瓷晶振,封装为5032,匹配电容为两个封装为0603的20pF的电容,作用是在外部所接电容为匹配电容的情况下,振荡频率才能保证在标称频率附近的误差范围内。图3-5调试接口电路调试接口电路,接口尺寸为XH2.54,,采用STM32F103C8T6微处理器的SWD功能的调试接口,SWD接口的较串口下载程序的优势是可以很直观的调试代码,观察数据的变化,追踪程序代码的运行过程,是程序开发的必要工具。同时,较JTAG模式的优势在于可以节省大量的管脚,对于此款的48管脚
31、的微处理器而言,管脚资源在不是很丰富的情况下,SWD是很有优势的选择,只需SWDIO和SWCLK两个管脚。当然,其与JTAG相比,JTAG调试速度要快很多,这也是SWD与JTAG相比的一个劣势,但是我们当前的工程一般相对较小,这种差别不明显。所以说SWD是一种比较折中,相对有优势的一种调试接口。3.1.3参数数据存储电路图3-6数据存储电路数据存储电路,本部分电路使用的是AT24C256芯片,256K-Byte,采用2-wires的通信方式(SDA和SCL),其中SDA为双向数据/地址线,SCL为时钟信号线,传输时钟脉冲信号,为保证数据的可靠传输,在SCL和SDA线上接4.7K的上拉电阻
32、,数据/时钟空闲状态时候可靠上拉到3.3V高电平,设备硬件地址选择管脚A2、A1、A0采用默认状态,即接地。WP写保护端口我们设置接地(GND)即取消写保护,当WP接到高电平(3.3V)时,则打开写保护,不可以向芯片写入数据。芯片采用3.3V供电。3.1.4USB转TTL-UART电路图3-7USB转TTL-UART电路在电路中我们采用CH340G芯片,实现USB接口与微处理器的USART串口进行电平转换。CH340G芯片采用12MHz封装为5032的贴片晶振,匹配电容为20pF,同时,5.0V接入的USB电源经过10uF和100nF的低频和高频滤波电容,滤除高低频率的纹波电压。3.1.
33、5按键电路图3-8按键电路在按键电路中,RST按键电路是复位电路,同时也是程序下载后电路的启动电路。PA0和PA8是两路普通按键电路,接10K的下拉电阻,实现电平在默认状态下的可靠接地。3.1.6LED灯电路图3-9LED灯电路在电路中,设计了两路LED指示灯,通过1K的限流电阻接地,接微处理器的PB0和PB1管脚,这两个管脚同时也兼具定时器的PWM功能,既可以做指示灯又可以做PWM,演示PWM的效果。3.1.7光敏电路图3-10光敏电路光敏电路中我们采用了10K的限流电阻,同时在光敏并联一个100nF的电容,此电容起到滤波功能,实现电平信号的可靠采样。光敏主要实现ADC功能
34、,采集光照强度值。3.2DHT11温湿度数据采集电路图3-11DHT11温湿度数据采集电路电路功能主要是利用微处理器的GPIO端口实现单总线接口模式,DHT11的数据端口接4.7K上拉电阻,上拉电阻的作用是实现数据可靠接电源(DHT11静默状态下是高电平),滤波电容的作用滤除电源杂波保证的电平的稳定,实现电路电平信号的可靠传输,。4宠物管理系统的软件设计图4-1宠物管理系统在本系统中,软件实现的主要功能是:系统开启后,微处理器采集光照强度值与预设的光照值对比,如果低于所设光照强度值则开启补光灯进行补光处理;根据DHT11所测的温湿度值与所设温度值进行比较,如果采集温湿度值高于所设温度
35、值,则打开风扇进行降温处理;根据不同宠物对喂水的不同所设的参数,微处理器定时给宠物喂水。4.1宠物管理系统微处理器底层驱动配置对于STM32F103C8T6的底层硬件的配置,我们采用意法半导体(ST)推出的STM32CubeMX软件对底层进行配置,此软件的优势在于:(1)可以省去繁琐而重复的底层硬件寄存器参数的配置,用户通过图形化界面对各种硬件进行参数的选择,使得对底层参数的配置加大的简化,并且配置过程直观形象。(2)此软件可以生成底层硬件的驱动代码,而无需用户自己添加对寄存器的配置代码。(3)此软件可以组织各种生成文件的文件归档,使得文件结构层次清晰明了,节省了用户对各种文件的组织工作。
36、STM32CubeMX软件主要由以下三部分组成。(1)Java的运行环境(此软件依赖Java环境编写)(2)STM32CubeMX各种版本应用软件(软件不支持向下兼容,即新版本不支持旧版本)(3)各种微处理器的系列库,如en.stm32cubef1,用户用到哪种系列的微处理,就可以在STM32CubeMX软件中添加,这样可以减少不必要器件库对个人主机内存的占用。图4-2STM32CubeMX软件4.2STM32CubeMX硬件底层配置关于微处理器的硬件底层参数配置,我们主要进行以下工作:(1)复位和时钟控制(RCC)的HighSpeedClock(HSE)选择Crystal/Cer
37、amicResonator(陶瓷晶振),在时钟树中,外部时钟HSE我们选择8MHz,PLL选择9倍频,SystemClockMUX选择PLLCLK,AHBPrescaler选择1分频,HCK选择72MHz,APB1选择2分频,APB2选择1分频。时钟树的优势在于,可以省去繁琐的时钟寄存器的代码模式的配置,软件可以生成对各种时钟寄存器的配置工作。图4-3复位和时钟控制的选择(2)SYS系统调试:debug的模式我们选择SerialWire串行数据线模式,即SWD模式,对于时钟软件默认的是滴答定时器SysTic,但是由于我们使用操作系统,SysTic的时钟不是很精确和稳定,我采用单
38、片机的硬件定时器作为系统的时钟源,这样做的优势是时钟精确,并且时钟相对较为稳定,保证系统的稳定性和实时性,此课题中我们选择TIM4作为系统的时钟源(这也是操作系统推荐的模式)。图4-4SYS系统调试(3)硬件定时器我们选择TIM2,设置时钟源为InternalClock,我们采用的硬件的定时为100ms,设置参数为Configuration-TIM2中Prescaler(分频)为7200-1,CounterPeriod(AutoReloadRegister)计数周期为1000-1,此处的计算公式为:Tout=(arr+1)*(psc+1)/FHCLKarr:CounterPe
40、入微处理器的内存,极大的释放了微处理对外部低速数据接收耗时,同时也提高了接收数据的稳定性。图4-6串口选择(5)温湿度传感器(单总线)接口关于DHT11温湿度传感,我们使用微处理器GPIO即可,DHT11的时序我我们采用模拟的方式,管脚模式(即GPIOMode)我们选择的是开漏模式(OutputOpenDrain),以实现电平的匹配。图4-7温湿度传感器(DHT11)接口(6)光敏传感器(ADC)接口关于ADC的设置,我们采用的是ADC的持续转换模式,保证数据转换的连续性,采用ADC的DMA模式,使用DMA1_Channel1,使ADC转换数据可以不经过微处理器的中断,直接由ADC的
41、外设接口将转换的数据送到内存中去,节省了微处理器频繁中断处理ADC数据,我们可以直接在内存中得到ADC转换后的数据,数据宽度为word(32-bit)。图4-8光敏传感器管脚使能图4-9光敏传感器参数配置图4-10光敏传感器DMA参数配置(7)水泵的控制,我们使用PB5管脚,由PB5管脚输出高低电平控制继电器,PB5高电平打开继电器后水泵上水,PB5低电平关闭继电器后水泵停止抽水。图4-11水泵控制(8)使能freeRTOS操作系统,在操作系统中,我们新建三个任务以便于操作系统任务执行,使用操作系统的优势是可以将任务的运行,任务的就绪,任务的阻塞,任务的挂起等状态交由任务调度器
44、同样可以在MDK5上进行开发(但是头文件方面得全部自己添加),MDK5同时加强了针对Cortex-M微控制器开发的支持,并且对传统的开发模式和界面进行升级,MDK5由两个部分组成:MDKCore和SoftwarePacks。其中,SoftwarePacks可以独立于工具链进行新芯片支持和中间库的升级。如图4.2.1所示:图5-12MDK5组成在MDK5安装完成后,要让MDK5支持STM32F407的开发,还要安装STM32F407的器件支持包:Keil.STM32F4xx_DFP.2.6.0.pack(STM32F4系列的器件包)。这个包以及MDK5.2
45、0安装软件,开发板的使用软件为Keil5MDK版本为5.20。5.2系统的用户逻辑代码实现本节内容,详见附录C中的代码实现6结论通过本次课题很好的熟悉了一个工程项目的设计流程,熟悉了器件的选型,电路板的设计,再此过程中将以前学过的模电数电课程有了更好的理解和使用,实现了知识的融会贯通,同时新学习了硬件画图软件的使用方法和开发设计流程,在此过程中学会了使用新的软件的方法和技能。此工程项目的开发过程中,熟悉了工程开发的整体流程和各部分应注意的问题,使得对于工程项目的开发有了更深入的了解,为将来踏入工作中实现真正的项目开发打下了一定的基础。此工程中,对于软件代码的编写,在很大程度上对C语言编
46、程有了更深入的认识与理解,进一步熟悉了C语言的使用方法和使用场景,同时进一步熟悉了C语言代码的调用及模块化编程理念。参考文献1唐龙,范燕,浅析智能宠物饲养箱的研发,现代畜牧科技,期刊,2018.12.102贾文玉,一种宠物笼的设计与试验,甘肃畜牧兽医,期刊,2018.05.303朱悦嘉,基于多温度传感器的智能宠物笼设计与试验,信息记录材料,期刊,2018.01.154田崇峰,赵中营,蒋其友,刘庆新,戴有华,基于WiFi的智能宠物笼监测系统的设计与试验,电脑与电信,期刊,2017.04.10.5田崇峰,赵中营,刘庆新,戴有华,一种智能宠物笼的设计与试验,电脑与电信,期刊,2017.03
47、.106严冬.基于IOS平台的智能宠物视频监护系统的设计与实现,江苏大学,硕士论文,2016.04.017蒋一明,从专利视角分析宠物智能监控技术的发展现状,电视技术,期刊,20靳海英,多功能智能宠物喂养系统的设计开发,现代制造技术与装备,期刊,2019.12.159SarahValentin;ElenaArsevska;SylvainFalala,PADI-web:Amultilingualevent-basedsurveillancesystemformonitoringanimalinfectiousdiseases,Computersan
48、dElectronicsinAgriculture,Elsevierjournal,2020.02.1810NewcomerDerek;ChopraIshveen,Evaluationofwasteanestheticgassurveillanceprogramandisofluraneexposuresduringanimalandhumansurgery.Journalofoccupationalandenvironmentalhygiene,PubMed期刊,2019.07.23附录A设计电路原理图附录BPCB板设计图附录C程序#i
49、ncludebsp_adc.happ_adcTypea_adcType;uint32_tapp_adcAverage(app_adcType*a_adcType)uint8_tadc_cnt=0;for(adc_cnt=0;adc_cntadc_sum+=a_adcType-adc_dmaBuffadc_cnt;a_adcType-adc_average=a_adcType-adc_sum/ADC_SUM_NUM;a_adcType-adc_sum=0;returna_adcType-adc_average;voidapp_adcAverage(app_a
50、dcType*a_adcType)uint8_tadc_cnt=0;for(adc_cnt=0;adc_cntadc_sum2+=a_adcType-adc_dmaBuffadc_cnt+;a_adcType-adc_sum4+=a_adcType-adc_dmaBuffadc_cnt+;a_adcType-adc_average2=a_adcType-adc_sum2/ADC_SUM_NUM;a_adcType-adc_average4=a_adcType-adc_sum4/ADC_SUM_NUM;a_adcType-adc_sum2=0;a_adcT
51、ype-adc_sum4=0;#includebsp_dht11.hbsp_dht11Typeb_dht11T=.Tips=ERROR!,;#definePORT_DQGPIOB#definePIN_DQGPIO_PIN_11#defineDQ_0()(HAL_GPIO_WritePin(PORT_DQ,PIN_DQ,GPIO_PIN_RESET)#defineDQ_1()(HAL_GPIO_WritePin(PORT_DQ,PIN_DQ,GPIO_PIN_SET)#defineDQ_IS_LOW()(HAL_GPIO_ReadPin(PORT_DQ,PIN_DQ)=GPIO_PIN_RESET)staticuint8_tDHT11_ReadByte(void);voidDHT11_Init(void)/voidbsp_InitDHT11(void)DQ_1();/*函数名:DHT11_ReadData*功能说明:复位DHT11。拉低DQ为低,持续最少480us,然后等待*形参:无*