描述
<h2>题目要求</h2>
<p>基于stm32G03K6T6的桌面温湿度检测仪。</p>
<h2>原理图设计说明</h2>
<p>电压部分可以采用一颗Pmos作为防反接保护(可省略降低设计成本)。采用两个三位数码管分别显示温度湿度,使用三颗SN74HC595三态输出8位串行至串行或并行移位寄存器做为数码管的驱动。能提高数码管显示的稳定性以及单片机程序的简便。</p>
<h2>PCB设计说明</h2>
<p>PCB设计上布线统一采用模块化布局,温湿度传感器模块放置于板边,减少主控电源等芯片的发热干扰影响检查精度。
电源线统一加粗设计提高冗余。
晶振部分以及铺铜后部分铜箔出现长条形等进行禁止铺铜处理减少天线效应。
滤波电容都统一靠近与之对应的芯片引脚就近摆放电源线先经过电容再连接。</p>
<h2>软件说明</h2>
<p>while (1)
{
/<em> USER CODE END WHILE </em>/</p>
<pre><code>/* USER CODE BEGIN 3 */
if(device_paramter.KeyStatus == KEY_SHAKE_STATE)
{
HAL_Delay(10);
if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_5) == GPIO_PIN_RESET)
{
while(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_5) == GPIO_PIN_RESET);
SHT40_Read_RHData(&temperature,&humidity); //¶ÁÈ¡ÎÂʪ¶È
device_paramter.Temp = temperature * 10; //·Å´óÎÂʪ¶È
device_paramter.Humi = humidity * 10;
HAL_TIM_Base_Start_IT(&htim14); //¿ªÊ¼¶¨Ê±Æ÷£¬ÏÔʾÁ½´ÎÊý¾Ý
device_paramter.sleepStatus = 0; //Çå³ýÐÝÃß±êÖ¾
device_paramter.KeyStatus = KEY_NO_PRESS; //Çå³ý°´Ï±êÖ¾
}
}
else if(device_paramter.sleepStatus == 1) //ÏÔʾ½áÊø£¬½øÈëÐÝÃß
{
HAL_SuspendTick(); //ÔÝÍ£µÎ´ð¶¨Ê±Æ÷£¬·Àֹͨ¹ýµÎ´ð¶¨Ê±Æ÷Öжϻ½ÐÑ
HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI); /* Ö´ÐÐWFIÖ¸Áî, ½øÈë˯Ãßģʽ */
}</code></pre>
<p>}
/<em> USER CODE END 3 </em>/
}</p>
<h2>实物展示说明</h2>
<p><img src="//image.lceda.cn/oshwhub/a9c4e5dca9794ea6b6fb064d069fc988.jpg" alt="微信图片_20240724190054.jpg"></p>
<h2>注意事项</h2>
<p>温湿度传感器的接插方向需要特别注意一下,不能反接。</p>
<h2>其它附件上传</h2>
<p><span style="color:#999AAA">提示:参加活动的作品必须把工程相关的程序附件上传至开源平台或个人的代码存储云端,附件最大支持50M上传(请勿在立创工作区上传,有限制)
</span></p>
评论(0)