描述
<h3 style="line-height:1.8"> 1、项目介绍</h3>
<hr>
<p style="line-height:1.8">使用盛思锐温湿度传感器+STM32G030K6T6,完成温度和湿度的实时采集。</p>
<p style="line-height:1.8">感谢嘉立创提供免费的训练营活动!</p>
<p style="line-height:1.8">感谢盛思锐出品的优秀温湿度传感器!</p>
<p style="line-height:1.8">为你们点赞!</p>
<p style="line-height:1.8"> </p>
<h3 style="line-height:1.8">*2、项目属性</h3>
<hr>
<p style="line-height:1.8"><span style="color:#000000;font-size:14px">项目整体难度不大,嘉立创工程师带领大家从零开始,手把手完成整个项目,非常适合新手学习,我一个电子小白都能完成,相信我你也一样可以的。</span></p>
<p style="line-height:1.8"> </p>
<h3 style="line-height:1.8">3、开源协议</h3>
<hr>
<p style="line-height:1.8">GPL3.0</p>
<p style="line-height:1.8"> </p>
<h3 style="line-height:1.8">4、硬件部分</h3>
<hr>
<p style="line-height:1.8">(1)电路原理图</p>
<p style="line-height:1.8"> </p>
<p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/3557af5e80fc4c1fa7a81a77c6e1889f.png" alt="" width="1170" height="825"></p>
<p style="line-height:1.8"> </p>
<p style="line-height:1.8">(2)PCB布线图</p>
<p style="line-height:1.8"> </p>
<p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/c9a746a9c0ca47f8a6e8913d9bf4e011.png" alt="" width="1026" height="640"></p>
<p> </p>
<p>(3)3D模型图</p>
<p> </p>
<h3 style="line-height:1.8;text-align:center"><img src="//image.lceda.cn/oshwhub/ab6db81b665349dda2f0675792058402.png" alt="" width="884" height="521"></h3>
<p style="line-height:1.8"> </p>
<p style="line-height:1.8">(4)盛思锐温湿度传感器模块</p>
<p style="line-height:1.8"> </p>
<div>
<p><span> 桌面温湿度仪上使用盛思锐公司出品的SHT40温湿度传感器模块用于检测温湿度,</span></p>
<p id="ua82507aa"></p>
</div>
<p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/c261025301f9444e9b2485858a5e2949.png"></p>
<p style="line-height:1.8"> </p>
<p><span>SHT40采用IIC进行通信,</span>查看<a href="https://atta.szlcsc.com/upload/public/pdf/source/20211021/851BA36A5CA574D725310F52CADA4510.pdf" target="_blank">SHT40的数据手册</a><span>可知,0x44是IIC地址;当地址最低位是0,表示读数据,最低位是1,表示写数据;</span>当发送0xFD指令时,代表高精度测量温湿度;</p>
<p><img src="//image.lceda.cn/oshwhub/5ec0cd3945f64301a080aa3d9744b03e.png"></p>
<p><img src="//image.lceda.cn/oshwhub/dd52e82e2b554605bf50049e421d04c3.png"></p>
<p><img style="display:block;margin-left:auto;margin-right:auto" src="//image.lceda.cn/oshwhub/f2b5190871d64ebd96a484c888f2184c.png"></p>
<p>通过对数据进行公式计算可以得出温湿度;</p>
<p><img style="display:block;margin-left:auto;margin-right:auto" src="//image.lceda.cn/oshwhub/0e80e0038f2c4d63a2515e1beda2c9a6.png"></p>
<p> </p>
<p style="line-height:1.8">(5)磁珠</p>
<p style="line-height:1.8"> 磁珠在抗干扰方面具有重要作用。它主要用于抑制高频信号和消除传输线结构中的RF噪声,从而减少电磁干扰(EMI)。磁珠允许直流信号通过,但能有效滤除交流信号,特别是射频RF能量。此外,磁珠还具有吸收静电脉冲的能力,有助于保护电路免受意外电气冲击。所以,在电源部分,加了一个谱罗德生产的贴片磁珠,对电路进行保护。</p>
<p style="line-height:1.8;text-align:center"><img src="//image.lceda.cn/oshwhub/63513f68e167421fa2f2095ef45ff398.png"></p>
<p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/36886b2c6c7c4779b260e480d76893f3.png"></p>
<p style="line-height:1.8"> </p>
<h3 style="line-height:1.8">5、软件部分</h3>
<hr>
<p style="line-height:1.8">见附件 ,软件分为两个版本,一个是常亮版本,用于调试使用;另一个是低功耗模式,可以用于实际使用的场景下,按一下按钮以后,会交替显示几次温湿度,然后进入休眠,减少电量消耗。</p>
<p style="line-height:1.8"> </p>
<p style="line-height:1.8">(1)数码管+三态移位寄存器</p>
<div>
<p> 数码管是一种半导体发光器件,其基本单元是发光二极管,也称 LED 数码管。数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元,就是多的那个小数点(DP),这个小数点可以更精确的表示数码管想要显示的内容,如图所示:</p>
<p style="text-align:center"><img src="//image.lceda.cn/oshwhub/de169eadc5a242ba99d4f5bed073a4c0.png"></p>
<p> 按显示多少个发光二极管(8)可分为 1 位、 2 位、 3 位、 4 位、 5 位、 6 位、7 位等数码管。</p>
<p style="text-align:center"><img src="//image.lceda.cn/oshwhub/0a432e7b0717435da2e56bc199041a88.png"></p>
<p> 按连接方式可分为共阳极数码管和共阴极数码管。</p>
<p> <strong>共阳数码管</strong>是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极 COM 接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。</p>
<p> <strong>共阴数码管</strong>是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极 COM 接到地线 GND ,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。<span> </span></p>
<p style="text-align:center"><span><img src="//image.lceda.cn/oshwhub/e4310152bf3f401dbff86596d51d7cc7.png"></span></p>
<p style="text-align:center"> </p>
<p style="text-align:left"><span> 数码管显示工作方式有两种:<strong>静态显示方式和动态显示</strong>方式。</span></p>
<p style="text-align:left"><span> 静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高,比如使用4个静态数码管,那么就需要32个IO来控制。</span></p>
<p style="text-align:left"><span><br> 动态显示的特点是将所有数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人感觉各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。</span></p>
<p style="text-align:center"> </p>
<p><span> 本系统通过两个共阴极3位数码管来显示温度和湿度数据,考虑到引脚数量,这里加入3个移位寄存器SN74HC595PWR来驱动共阴极数码管;</span></p>
<p><span><img src="//image.lceda.cn/oshwhub/c04f05a6273f44b68d613f92f6e44d13.png"></span></p>
<p style="text-align:center"> <img src="//image.lceda.cn/oshwhub/6b51b945fb2d4543a7693faf582322c5.png"></p>
<p>共阴段码:</p>
<div>
<table>
<tr>
<td style="text-align:center">段码</td>
<td>字符</td>
<td>段码</td>
<td>字符</td>
<td>段码</td>
<td>字符</td>
<td>段码</td>
<td>字符</td>
</tr>
<tr>
<td>0x3f</td>
<td>0</td>
<td>0x6d</td>
<td>5</td>
<td>0x77</td>
<td>A</td>
<td>0x71</td>
<td>F</td>
</tr>
<tr>
<td>0x06</td>
<td>1</td>
<td>0x7d</td>
<td>6</td>
<td>0x7c</td>
<td>B</td>
<td>0x00</td>
<td>无显示</td>
</tr>
<tr>
<td>0x5b</td>
<td>2</td>
<td>0x07</td>
<td>7</td>
<td>0x39</td>
<td>C</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>0x4f</td>
<td>3</td>
<td>0x7f</td>
<td>8</td>
<td>0x5e</td>
<td>D</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>0x66</td>
<td>4</td>
<td>0x6f</td>
<td>9</td>
<td>0x79</td>
<td>E</td>
<td> </td>
<td> </td>
</tr>
</table>
</div>
</div>
<div>
<p id="u816407a2"><span> </span></p>
<p><span> SN74HC595驱动时序相对简单,首先输入高电平或低电平到SER引脚中,随后产生一个SCLK的上升沿,将数据发送出去,这里是8位数据移位寄存器,所以循环8次,最后一个RCLK的上升沿将数据锁存住,保持不变,直到下一次发送;</span></p>
<p id="ud8625ed8"><span> 这里模拟一下发送时序;首先待发送的数据是0xFE(1111 1110),</span><span>此时先发送最高位,也就是0xFE&0x80,判断高低电平;随后数据被送入QA;</span><span>然后继续,发送次高位,也就是(0xFE</span></p></div>
评论(0)