描述
<h3 style="line-height:1.8"><span style="color:#000000">* 1、项目功能介绍</span></h3>
<hr>
<p style="line-height:1.8"><span style="color:#000000">一直想做一个高精度的温湿度计,苦于不太会画PCB,之前试过Arduino和温湿度模块,但成品尺寸和接线杂乱,一直不太满意,此次训练营正好瞌睡送枕头。</span></p>
<p style="line-height:1.8"> </p>
<h3 style="line-height:1.8"><span style="color:#000000">*2、项目属性</span></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"><span style="color:#000000">* 3、开源协议</span></h3>
<hr>
<p style="line-height:1.8"><span style="color:#000000;font-size:14px">GPL3.0开源协议</span></p>
<p style="line-height:1.8"> </p>
<h3 style="line-height:1.8"><span style="color:#000000">*4、硬件部分</span></h3>
<hr>
<p style="line-height:1.8"><span style="color:#000000">输入电压3V~3.3V,使用2节5号电池作为电源。</span><br><span style="color:#000000">传感器使用盛思锐SHT40高精度温湿度传感器。</span><br><span style="color:#000000">使用STM32G030K6T6芯片作为主控芯片,该芯片使用Arm Cortex-M0+内核;最大主频64Mhz;具有32KB的Flash以及8K的SRAM,供电电压在2.0V~3.6V之间。</span></p>
<p style="line-height:1.8"><span style="color:#000000">温湿度获取通过使用一个SHT40温湿度传感器模块,SHT40采用IIC进行通信,模块上R2、R3是IIC通信的上拉电阻,起到“线与”的作用,支持挂载多个设备。</span></p>
<p style="line-height:1.8"><span style="color:#000000"><img src="//image.lceda.cn/oshwhub/a4bf91c88341410a87c0382a442a6ef2.png" width="374" height="337"></span></p>
<p style="line-height:1.8"><span style="color:#000000">电池电压采集</span></p>
<div><span style="color:#000000">使用两节5号电池用于整个系统供电,使用两个10K对电压值进行分压,然后通过单片机ADC进行电压读取,</span></div>
<p style="line-height:1.8"><span style="color:#000000"><img src="//image.lceda.cn/oshwhub/024f5ce9536840c2af061de27a4d1b99.png"></span></p>
<h3 style="line-height:1.8"><span style="color:#000000">*5、软件部分</span></h3>
<hr>
<div>
<div><span style="color:#000000">项目代码均采用STM32CubeMX进行生成,直接在对应的外设文件中进行相关驱动代码编写,这次训练营的代码量非常少。</span></div>
<p><span style="color:#000000"><img src="//image.lceda.cn/oshwhub/5cb534d7d0394344b1e2bd147d5668d6.png"></span></p>
<p> </p>
<p id="ubc289a7c"><span style="color:#000000">温湿度获取:</span></p>
<p><span style="color:#000000">主机发送函数调用参数说明(接收函数基本一致);</span></p>
<ul>
<ul>
<li id="uf2d5c97a"><span style="color:#000000">*hi2c------------IIC句柄;</span></li>
<li id="u5b761604"><span style="color:#000000">DevAddress----设备地址,8位数据,在发送内会自动在末尾进行填充;</span></li>
<li id="ue063968c"><span style="color:#000000">*pData----------待发送的数据;</span></li>
<li id="u4aee6482"><span style="color:#000000">Size-------------数据长度;</span></li>
<li id="u311dd4a0"><span style="color:#000000">Timeout--------响应超时时间;</span></li>
</ul>
</ul>
<p id="u5a5c8eaf"><span style="color:#000000">发送完测量指令后,读取相关的数据并进行计算得到温湿度值;</span></p>
<p><span style="color:#000000">HAL_I2C_Master_Transmit(&hi2c1, (uint16_t)SHT40_Write, (uint8_t *)writeData, 1, HAL_MAX_DELAY);</span><br><span style="color:#000000">HAL_Delay(10);</span><br><span style="color:#000000">HAL_I2C_Master_Receive(&hi2c1, (uint16_t)SHT40_Read, (uint8_t *)readData, 6, HAL_MAX_DELAY);</span></p>
<p><span style="color:#000000">Temperature = (1.0 * 175 * (readData[0] * 256 + readData[1])) / 65535.0 - 45;</span><br><span style="color:#000000">Humidity = (1.0 * 125 * (readData[3] * 256 + readData[4])) / 65535.0 - 6.0;</span></p>
</div>
<p style="line-height:1.8"> </p>
<p style="line-height:1.8"> </p>
<h3 style="line-height:1.8"><span style="color:#000000">*6、BOM清单</span></h3>
<hr>
<p style="line-height:1.8"><span style="color:#000000;font-size:14px">详见工程详情。</span></p>
<p style="line-height:1.8"><span style="color:#000000;font-size:14px">SHT40元件非常小,直接购买嘉立创的模块对焊接新手非常友好。</span></p>
<p style="line-height:1.8"><span style="color:#000000;font-size:14px"><img src="//image.lceda.cn/oshwhub/c36cd71fc4e443b4bdcb8d56141c96d9.png"></span></p>
<p style="line-height:1.8"> </p>
<h3 style="line-height:1.8"><span style="color:#000000">*7、大赛LOGO验证</span></h3>
<hr>
<p style="line-height:1.8"><span style="color:#000000"><img src="//image.lceda.cn/oshwhub/1ed7c491d814483b852e6cb48cb60ab2.png"></span></p>
<h3 style="line-height:1.8"><span style="color:#000000">* 8、演示您的项目并录制成视频上传</span></h3>
<hr>
评论(0)