描述
<h3 style="line-height:1.8"><span style="color:#000000">1、项目功能介绍</span></h3>
<hr>
<p style="line-height:1.8">这是一款基于STM32G030K6T6开发的温湿度检测仪。</p>
<p style="line-height:1.8">可以实现未操作时低功耗待机,按下按钮后唤醒单片机,点亮数码管显示温度湿度,再次按下按键会显示电池电量。点亮后值会刷新4次后熄灭,进入低功耗模式。</p>
<h3>2、项目属性</h3>
<hr>
<p> </p>
<p> </p>
<h3>3、开源协议</h3>
<hr>
<p>GPL3.0</p>
<p> </p>
<h3 style="line-height:1.8">4、硬件部分</h3>
<hr>
<p style="line-height:1.8"><span style="color:#000000;font-size:14px">1、供电部分</span></p>
<p style="line-height:1.8"><span style="color:#000000;font-size:14px"><img src="//image.lceda.cn/oshwhub/ada2d8ed606649ca93e8407469f9a94c.png"></span></p>
<p style="line-height:1.8"><span style="color:#000000;font-size:14px">2、传感器</span></p>
<p style="line-height:1.8"><span style="color:#000000;font-size:14px"><img src="//image.lceda.cn/oshwhub/990c8169f81c4d1b82f2a9fd3e81930a.png"></span></p>
<p style="line-height:1.8"> </p>
<p style="line-height:1.8"><span style="color:#000000;font-size:14px">3、芯片与晶振</span></p>
<p style="line-height:1.8"><span style="color:#000000;font-size:14px"><img src="//image.lceda.cn/oshwhub/168735fb1b114ebdac10711f86916fef.png"></span></p>
<p style="line-height:1.8"><span style="color:#000000;font-size:14px">4、数码管和寄存器</span></p>
<p style="line-height:1.8"><span style="color:#000000;font-size:14px"><img src="//image.lceda.cn/oshwhub/d84c6790bb3f4fcfbb3e83aa627ae159.png"></span></p>
<p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/9abd66036a444cc497a0192a9b7373e6.png"></p>
<p style="line-height:1.8">5、下载接口</p>
<p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/a4f6fb17c829409ba00678b74e9579c0.png"></p>
<p style="line-height:1.8"> </p>
<h3 style="line-height:1.8">5、软件部分</h3>
<hr>
<p style="line-height:1.8"><strong><span style="color:#000000">3.1、CUBEMX配置</span></strong></p>
<p style="line-height:1.8"><span style="color:#000000">使用STM32CUBEMX来</span>进行基础代码生成与配置,同时采用了FreeRtos系统,具体配置如下</p>
<p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/27ab7377b0b24054aaf92fa4866bddb7.png"></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>
<p style="line-height:1.8">因为使用了FreeRtos,系统时钟被占用,所以用TIM17作为系统时钟</p>
<p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/e6046b4a13744f7d91c0b853c02d5dee.png"></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>
<p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/8ffe22f14c904d078471579a858b653b.png"></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">FreeRtos配置:</p>
<p style="line-height:1.8">因为需要的任务数较多,共有五个任务(读取温湿度、第一个数码管显示、第一个数码管显示、休眠判断、电池电量读取),所以在这里修改了TOTAL_HEAO_SIZE到3760。</p>
<p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/d17b7ffb616c4e45a2f972912fda7849.png"></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>
<p style="line-height:1.8">FreeRtos任务:</p>
<p style="line-height:1.8">defaultTask用于温湿度检测</p>
<p style="line-height:1.8">ShowSEG1为点亮第一个数码管</p>
<p style="line-height:1.8">ShowSEG2为点亮第一个数码管</p>
<p style="line-height:1.8">LastingTime为进入低功耗模式的判断函数</p>
<p style="line-height:1.8">Adc_detc为电池电量检测</p>
<p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/14ac2cd858974b71a5f805168c96430e.png"></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>
<p style="line-height:1.8"> </p>
<p style="line-height:1.8">时钟配置:</p>
<p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/aa7048b6a3d44d6aaa4cb7dabbaa143f.png"></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>
<p style="line-height:1.8"> </p>
<p style="line-height:1.8"><strong>3.2代码部分</strong></p>
<p style="line-height:1.8">因为代码较多,所以这里主要讲一下逻辑,完整代码会在文末添加为附件</p>
<p style="line-height:1.8">1、温湿度检测:</p>
<p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/4c44878d6f694f828889ac511e979524.png"></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>
<p style="line-height:1.8">2、第一个数码管显示</p>
<p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/361d93b9fe774d4e8fb215706821dfd3.png"></p>
<p style="line-height:1.8">Keycount为按键计数,按键按下一次Keycount就加一,如果是第一次按下,Keycount等于1,为奇数,显示温度。第二次按下,Keycount等于2,为偶数,显示电量百分比。第三次按下,Keycount等于3,为奇数,显示温度。以此类推,可以实现温度与电量间的切换。</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>
<p style="line-height:1.8">3、第二个数码管显示</p>
<p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/657ef25df7b14ee39f2243b10f7a3712.png"></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>
<p style="line-height:1.8">4、低功耗模式判断</p>
<p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/d858a7b594494369a14b0281107e2b9e.png"></p>
<p style="line-height:1.8">这里值得一提的是进入睡眠模式前不仅需要暂停嘀嗒定时器,还需要关闭ADC,否则进入睡眠模式后ADC会将单片机唤醒。</p>
<p style="line-height:1.8"><span style="color:#000000">5、电池电量检测(电量检测目前存在问题,ADC值会不断改变)</span></p>
<p style="line-height:1.8"><span style="color:#000000"><img src="//image.lceda.cn/oshwhub/2034b32c9a4044b387dd9f7014c65fd9.png"></span></p>
<p style="line-height:1.8"><img src="//"></p>
<p style="line-height:1.8"> </p>
<h3 style="line-height:1.8">*6、BOM清单</h3>
<hr>
<table width="1600">
<tr>
<td width="160">No.</td>
<td width="160">Quantity</td>
<td width="160">Comment</td>
<td width="160">Designator</td>
<td width="160">Footprint</td>
<td width="160">Value</td>
<td width="160">Manufacturer Part</td>
<td width="160">Manufacturer</td>
<td width="160">Supplier Part</td>
<td width="160">Supplier</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>BH-AA-A5BJ012</td>
<td>B1,B2</td>
<td>BAT-TH_BH-AA-A5BJ012</td>
<td> </td>
<td>BH-AA-A5BJ012</td>
<td>MYOUNG(美阳)</td>
<td>C5290180</td>
<td>LCSC</td>
</tr>
<tr>
<td>2</td>
<td>3</td>
<td>100nF</td>
<td>C1,C2,C8</td>
<td>C0805</td>
<td>100nF</td>
<td>CC0805KRX7R9BB104</td>
<td>YAGEO(国巨)</td>
<td>C49678</td>
<td>LCSC</td>
</tr>
<tr>
<td>3</td>
<td>2</td>
<td>18pF</td>
<td>C3,C4</td>
<td>C0805</td>
<td>18pF</td>
<td>0805CG180J500NT</td>
<td>FH(风华)</td>
<td>C1797</td>
<td>LCSC</td>
</tr>
<tr>
<td>4</td>
<td>4</td>
<td>1uF</td>
<td>C5,C6,C7,C9</td>
<td>C0805</td>
<td>1uF</td>
<td>CL21B105KBFNNNE</td>
<td>SAMSUNG(三星)</td>
<td>C28323</td>
<td>LCSC</td>
</tr>
<tr>
<td>5</td>
<td>1</td>
<td>PZ254V-11-04P</td>
<td>H1</td>
<td>HDR-TH_4P-P2.54-V-M</td>
<td> </td>
<td>PZ254V-11-04P</td>
<td>XFCN(兴飞)</td>
<td>C2691448</td>
<td>LCSC</td>
</tr>
<tr>
<td>6</td>
<td>1</td>
<td>BLM21PG221SN1D</td>
<td>L1</td>
<td>L0805</td>
<td> </td>
<td>BLM21PG221SN1D</td>
<td>muRata(村田)</td>
<td>C85840</td>
<td>LCSC</td>
</tr>
<tr>
<td>7</td>
<td>2</td>
<td>XL-2012UGC</td>
<td>LED1,LED2</td>
<td>LED0805-RD_GREEN</td>
<td> </td>
<td>XL-2012UGC</td>
<td>XINGLIGHT(成兴光)</td>
<td>C965815</td>
<td>LCSC</td>
</tr>
<tr>
<td>8</td>
<td>2</td>
<td>SP420361N</td>
<td>LED3,LED4</td>
<td>LED-SEG-TH_SP420361N</td>
<td> </td>
<td>SP420361N</td>
<td>ARKLED(方舟)</td>
<td>C98927</td>
<td>LCSC</td>
</tr>
<tr>
<td>9</td>
<td>1</td>
<td>WST3401</td>
<td>Q1</td>
<td>SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR</td>
<td> </td>
<td>WST3401</td>
<td>WINSOK(微硕)</td>
<td>C105162</td>
<td>LCSC</td>
</tr>
<tr>
<td>10</td>
<td>1</td>
<td>10kΩ</td>
<td>R1</td>
<td>R0805</td>
<td>10kΩ</td>
<td>0805W8F1002T5E</td>
<td>UNI-ROYAL(厚声)</td>
<td>C17414</td>
<td>LCSC</td>
</tr>
<tr>
<td>11</td>
<td>4</td>
<td>4.7kΩ</td>
<td>R2,R3,R4,R5</td>
<td>R0805</td>
<td>4.7kΩ</td>
<td>0805W8F4701T5E</td>
<td>UNI-ROYAL(厚声)</td>
<td>C17673</td>
<td>LCSC</td>
</tr>
<tr>
<td>12</td>
<td>2</td>
<td>10kΩ</td>
<td>R6,R7</td>
<td>R0603</td>
<td>10kΩ</td>
<td>RT0603BRD0710KL</td>
<td>YAGEO(国巨)</td>
<td>C95204</td>
<td>LCSC</td>
</tr>
<tr>
<td>13</td>
<td>1</td>
<td>TS-1010-C-A</td>
<td>SW1</td>
<td>KEY-SMD_TX-1010-X-X</td>
<td> </td>
<td>TS-1010-C-A</td>
<td>XKB Connectivity(中国星坤)</td>
<td>C692458</td>
<td>LCSC</td>
</tr>
<tr>
<td>14</td>
<td>1</td>
<td>STM32G030K6T6</td>
<td>U1</td>
<td>LQFP-32_L7.0-W7.0-P0.80-LS9.0-BL</td>
<td> </td>
<td>STM32G030K6T6</td>
<td>ST(意法半导体)</td>
<td>C529331</td>
<td>LCSC</td>
</tr>
<tr>
<td>15</td>
<td>1</td>
<td>X1311FR-04-C43D24</td>
<td>U2</td>
<td>HDR-TH_4P-P1.27-H-F-W4.5-N</td>
<td> </td>
<td>X1311FR-04-C43D24</td>
<td>XKB Connectivity(中国星坤)</td>
<td>C2881475</td>
<td>LCSC</td>
</tr>
<tr>
<td>16</td>
<td>3</td>
<td>SN74HC595PWR</td>
<td>U3,U4,U5</td>
<td>TSSOP-16_L5.0-W4.4-P0.65-LS6.4-BL</td>
<td> </td>
<td>SN74HC595PWR</td>
<td>TI(德州仪器)</td>
<td>C273642</td>
<td>LCSC</td>
</tr>
<tr>
<td>17</td>
<td>1</td>
<td>32.768kHz</td>
<td>X1</td>
<td>CRYSTAL-SMD_L3.2-W1.5-1</td>
<td>32.768kHz</td>
<td>XKXGI-SUA-32.768K</td>
<td>YXC(扬兴晶振)</td>
<td>C5213671</td>
<td>LCSC</td>
</tr>
</table>
<p style="line-height:1.8"> </p>
<h3 style="line-height:1.8">*7、大赛LOGO验证</h3>
<hr>
<p style="line-height:1.8"> </p>
<p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/f0e2720d5b084713a4a5b0a070357680.png"></p>
<p style="line-height:1.8"> </p>
<h3 style="line-height:1.8">* 8、演示您的项目并录制成视频上传</h3>
<hr>
<p style="line-height:1.8"> </p>
<p style="line-height:1.8"> </p>
评论(0)