描述
<p><p style="line-height: 1.8;">注:* 为必填项</p>
<p style="line-height: 1.8;"><strong><span style="color: #0093e6;">请在报名阶段填写 ↓</span></strong></p>
<p style="line-height: 1.8;"> </p>
<h1 style="line-height: 1.8;"> 1、项目功能介绍</h1>
<h2> 项目简要:</h2>
<h4 style="line-height: 1.8;"> 本作品设计实现了一个简易的桌面温湿度检测仪。作品采用了STM32G030K6T6主控,采用了SHT40-BD1B-R2为传感器采集温湿度信息,采用了共阳极3位数码管电路显示温湿度信息。</h4>
<h4>此次的温湿度检测仪可以实现高精度的温湿度信息采集,同时可以低功耗的模式进行。</h4>
<h2> 功能描述:</h2>
<h4> 当按键按下,单片机对温湿度数据进行读取,读取后在数码管上显示两次数据后单片机结束工作状态进入休眠状态减少功耗。</h4>
<h2> 实物验证图:</h2>
<h3>温度显示:</h3>
<p><img src="//image.lceda.cn/pullimage/PhVlnTcfJTuJlNwzZ3mq098GLZQRGtwheb7B8THk.png" alt="" width="809" height="454" /></p>
<h3>湿度显示:</h3>
<p><img src="//image.lceda.cn/pullimage/Qb3aZXX5wNKP7eTwgv1FgrqSHBfX9a3PmxLBe8bt.png" alt="" width="801" height="452" /></p>
<h2 style="line-height: 1.8;">PCB焊接完成实物展示 : </h2>
<p style="line-height: 1.8;"><img src="//image.lceda.cn/oshwhub/2bb943a0007648328ea2ed346ef1beae.png" width="800" height="490" /></p>
<p style="line-height: 1.8;"> <strong> PCB实物正面</strong></p>
<p style="line-height: 1.8;"><img src="//image.lceda.cn/oshwhub/9d6f2a1b9ee241dcab2bf14d6661aa8b.png" width="799" height="437" /></p>
<p style="line-height: 1.8;"> <strong>PCB实物背面</strong></p>
<h1 style="line-height: 1.8;"> 2、硬件部分</h1>
<h2>(一)硬件结构部分:</h2>
<p><img src="//image.lceda.cn/pullimage/ShSsa5I3sdOi4V3mTsGZTzWnmZ9m4qw5u4VKSUNb.png" alt="" /></p>
<p> </p>
<p> </p>
<h2>(二)原理图部分:</h2>
<h3>1.整体原理图:</h3>
<p><img src="//image.lceda.cn/oshwhub/ccd0bde62eea4288988cd2db7f6cd6ee.png" width="1018" height="724" /></p>
<h3>2.电源部分:</h3>
<h4> 电池供电部分采用了两节7号电池为单片机系统进行供电,采用了mos管来防止电池反接烧坏主电路。</h4>
<hr />
<p style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;"><img src="//image.lceda.cn/pullimage/OPWGp9i1lR7zidsGfPTw5P8xwAf4rsATZAhyGAsa.png" alt="" width="678" height="413" /></span></p>
<h3 style="line-height: 1.8;">2.传感器部分:</h3>
<h4 style="line-height: 1.8;"> 采用了SHT40-BD1B-R2温湿度传感器。该芯片是盛思锐生产的第四代一流温湿度传感器,是基于全新优化的CMOSens®芯片,具有较低的功耗和优化的精度规格。扩展的供电电压范围从1.08 V到3.6 V</h4>
<h4 style="line-height: 1.8;">,使其非常适合于移动和电池驱动的应用,极具性价比。主要参数:±1.8% / max. ±3.5% RH 数字温湿度传感器 / 0x45 I2C 输出,能够相对准确地测量出温湿度数据。</h4>
<p style="line-height: 1.8;"><img src="//image.lceda.cn/pullimage/xrzbOKNzDbZd9cb1AyiyPoBBiQWjTQOMr0vHPgAH.png" alt="" width="625" height="471" /></p>
<h3 style="line-height: 1.8;">3.主控部分:</h3>
<h4 style="line-height: 1.8;"> 采用了STM32G030K6T6作为主控<span style="font-size: 12pt;"><strong>,<span style="background-color: #ffffff; color: #444444; font-family: 'Microsoft YaHei', ' 微软雅黑', Arail;">优化的动态功耗与一套全面的节能模式相结合,可实现低功耗应用的设计,符合该桌面温湿度检测仪的低功耗性能。</span></strong></span></h4>
<p style="line-height: 1.8;">,<img src="//image.lceda.cn/pullimage/IMAaeLy1EPrgEJNtTAKDBT3NVrFxPYFRO5Z0gKyp.png" alt="" width="594" height="376" /></p>
<h3 style="line-height: 1.8;">4.显示部分:</h3>
<h4 style="line-height: 1.8;"> 由于芯片引脚数限制,为了更好地显示多位的数码管信息,利用三态输出8位移位寄存器进行数码管的位选与段选,从而实现数据的显示,能够减少MCU对引脚的使用数。</h4>
<p style="line-height: 1.8;"><img src="//image.lceda.cn/pullimage/knjdkFwNl1OsPt4zKA5BmMOIVBH7h0FJhCGRXOaZ.png" alt="" /></p>
<p style="line-height: 1.8;"><img src="//image.lceda.cn/pullimage/axK0MjQaiv95DiF1yt02CTcfwL36yO76xtwuV8u3.png" alt="" width="599" height="93" /></p>
<h3 style="line-height: 1.8;">5.LED测试电路</h3>
<h4 style="line-height: 1.8;"> 为了方便调试,使用LED来进行软件部分的代码调试,能够更直观的发现问题。</h4>
<p style="line-height: 1.8;"><img src="//image.lceda.cn/oshwhub/17f466789aa249dcb14a4d314ed03ce3.png" /></p>
<h3 style="line-height: 1.8;">6.按键电路</h3>
<h4 style="line-height: 1.8;"><strong> 为了实现温湿度检测仪的低功耗功能,使用专门的按键电路部分来切换MCU待机与工作状态,在不需要工作的时候让MCU进入待机状态从而减少功耗。</strong></h4>
<p style="line-height: 1.8;"><img src="//image.lceda.cn/oshwhub/8303188e3afc41a8a49ace8b79dfd274.png" width="445" height="361" /></p>
<h1 style="line-height: 1.8;">3、软件部分</h1>
<h3 style="line-height: 1.8;"><strong>(一)程序流程图</strong></h3>
<p style="line-height: 1.8;"><img src="//image.lceda.cn/pullimage/uAhDa9Lr6dvmUSP8wuZLzdakJNGGV8pCIK7Z7kCU.png" alt="" /></p>
<p style="line-height: 1.8;">图5-1 程序流程图</p>
<h2 style="line-height: 1.8;">(二)部分程序分析</h2>
<h2>1.SHT40部分:</h2>
<h3>1. 通过阅读芯片手册可以知道,该传感器芯片是通过I2C进行数据传输的,并且手册中还给出了获取到的数据处理公式,利用该公式</h3>
<h3>我们可以将读取到的数据转换成浮点型的数据。</h3>
<h3>2. 在手册中,该传感器芯片读取数据的模式有三种,通过发送对应的指令1进行选择.</h3>
<h3>3. 与I2C通讯时要填写设备的地址,可以通过查询芯片手册得到对应芯片型号的地址。</h3>
<h3>4. 注意SHT40地址,默认是7位,发送是8位,需要进行左移,在读取地址时要手动填充一位,防止出现问题。</h3>
<h4>下图是该函数封装:</h4>
<h3> <img src="//image.lceda.cn/oshwhub/acd43df155e14cf38b4843c2c97b7864.png" /></h3>
<p><img src="//image.lceda.cn/oshwhub/50fb2358878e480abb52b4643c3830c0.png" /></p>
<h2 style="line-height: 1.8;">2.寄存器部分:</h2>
<h3 style="line-height: 1.8;"> 通过软件模拟芯片手册中的时序,将该时序封装成寄存器发送数据的函数。由于有两个数码管,同时需要对数码管进行位选,由原理图设计可知,</h3>
<p><span style="font-size: 12pt;"><strong>我们需要对LED1,LED2,DIG三个分别进行时序的封装,MCU能够通过该时序封装更好通过移位寄存器传输数据给数码管进行显示。</strong></span></p>
<h4 style="line-height: 1.8;">下图是该函数封装:</h4>
<p style="line-height: 1.8;"><img src="//image.lceda.cn/oshwhub/b8c728c3497948768eb9e01f8390a5ce.png" width="770" height="328" /></p>
<p style="line-height: 1.8;"><img src="//image.lceda.cn/oshwhub/0d6608f5f3c1464284c222ef6f4f5b0a.png" width="805" height="410" /></p>
<h2 style="line-height: 1.8;">3.数码管显示部分:</h2>
<h3>1.采用了七位共阳极数码管,需要对七位共阳极数码管段码进行编码并放入一个数据组中。</h3>
<h3>2.由于有两个数码管,并且每个数码管显示的位数是三个,同时我们还需要选择对应数码管的段码。因此我们需要封装一个</h3>
<h3>数码管显示的函数,变量分别为:数码管的选择、位选、段选。</h3>
<h3>3.我们还需要对数码管每次刷新都进行消影,防止数码管显示错位。</h3>
<h4>下图是该函数封装:</h4>
<p><img src="//image.lceda.cn/oshwhub/63d68a156a3a4fc59dbc10a312bd7f37.png" width="738" height="594" /></p>
<p style="line-height: 1.8;"> </p>
<h1 style="line-height: 1.8;">4、视频展示</h1></p>
评论(0)