描述
<h3 style="line-height:1.8">* 1、项目功能介绍</h3>
<p>本项目为第九届立创电赛中的桌面温湿度仪项目,设计目标是实现一个能够实时监测和显示桌面环境温湿度数据的装置。该项目采用STM32G030K6T6微控制器作为核心处理单元,结合SHT40温湿度传感器进行数据采集,并使用三态输出的8位移位寄存器来控制共阴极数码管显示温湿度信息。此外,项目还包含电池供电和防反接保护功能,以及SWD(Serial Wire Debug)下载接口便于调试和固件更新。</p>
<h3 style="line-height:1.8">*2、项目属性</h3>
<ul>
<li><strong>目标受众</strong>:适用于办公室、实验室、教室等需要实时监测桌面环境温湿度的场所。</li>
<li><strong>应用场景</strong>:环境监控、数据记录、教学实验等。</li>
<li><strong>技术难度</strong>:中等。需要掌握基本的电子电路知识、微控制器编程和通信协议。</li>
<li><strong>创新点</strong>:本项目采用低功耗设计,适用于长时间无人值守的场合;同时支持多种通信方式,方便用户根据实际需求进行选择。</li>
</ul>
<h3 style="line-height:1.8">* 3、学习内容</h3>
<ol>
<li>
<p>温湿度监测原理</p>
<ul>
<li>学习温度和湿度的基本概念及其测量方法。</li>
<li>了解常见的温湿度传感器的工作原理和性能特点。</li>
<li>掌握温湿度传感器与微控制器之间的连接和通信方式。</li>
</ul>
</li>
<li>
<p>桌面温湿度仪设计</p>
<ul>
<li>学习使用嘉立创EDA平台进行设计的基本流程。</li>
<li>掌握原理图绘制、PCB板布局和制作的基本技能。</li>
<li>学习如何根据设计需求选择合适的元器件和模块。</li>
</ul>
</li>
<li>
<p>软硬件开发</p>
<ul>
<li>学习微控制器的编程语言和开发环境,如C语言等。</li>
<li>编写温湿度数据采集、处理和显示的程序。</li>
</ul>
</li>
<li>
<p>实物制作与调试</p>
<ul>
<li>根据设计好的原理图和PCB板,进行实物制作。</li>
<li>搭建测试环境,对温湿度仪进行调试和优化。</li>
<li>解决在设计和制作过程中遇到的各种问题。</li>
</ul>
</li>
</ol>
<h3 style="line-height:1.8">*4、硬件部分</h3>
<hr>
<h3 id="1-微控制器:stm32g030k6t6">1. 微控制器:STM32G030K6T6</h3>
<ul>
<li>采用STM32G030K6T6微控制器,它是一款低功耗、高性能的32位ARM Cortex-M0+处理器,适用于嵌入式系统设计。</li>
<li>该微控制器具有足够的I/O端口和内存资源,能够满足项目中对数据处理和控制的需求。</li>
</ul>
<h3 id="2-温湿度传感器:sht40">2. 温湿度传感器:SHT40</h3>
<ul>
<li>SHT40是一款高精度、低功耗的温湿度传感器,能够提供稳定的温湿度数据输出。</li>
<li>通过I2C接口与STM32G030K6T6微控制器进行通信,实现数据的实时采集。</li>
</ul>
<h3 id="3-三态输出8位移位寄存器">3. 三态输出8位移位寄存器</h3>
<ul>
<li>使用三态输出的8位移位寄存器来控制共阴极数码管的显示。</li>
<li>通过微控制器的GPIO端口与移位寄存器相连,实现数据的串行输入和并行输出。</li>
<li>移位寄存器采用三态输出模式,可以在不使用时将输出置于高阻态,避免对数码管产生干扰。</li>
</ul>
<h3 id="4-共阴极数码管">4. 共阴极数码管</h3>
<ul>
<li>选用共阴极数码管作为温湿度数据的显示器件。</li>
<li>通过移位寄存器的输出端口与数码管相连,实现数据的动态显示。</li>
<li>数码管能够清晰地显示温湿度数值,方便用户实时了解环境状态。</li>
</ul>
<h3 id="5-电池防反接保护">5. 电池+防反接保护</h3>
<ul>
<li>项目采用电池供电方式,确保在无人值守的情况下也能正常运行。</li>
<li>在电源输入端加入防反接保护电路,防止用户误接电源导致设备损坏。</li>
</ul>
<h3 id="6-swd下载接口">6. SWD下载接口</h3>
<ul>
<li>项目支持SWD下载接口,方便用户通过调试器进行程序下载和调试。</li>
<li>SWD接口采用两线制设计,占用资源少,同时具有较高的传输速度和稳定性。</li>
</ul>
<p style="line-height:1.8"> </p>
<h3 style="line-height:1.8">*5、软件部分</h3>
<hr>
<p style="line-height:1.8">本软件部分基于STM32 HAL库开发,实现了桌面温湿度仪的主要功能,包括温湿度数据的实时采集、显示、LED唤醒、电源管理以及SWD调试等。通过模块化的设计,提高了代码的可读性和可维护性。同时,使用STM32CubeMX和STM32 HAL库,降低了开发难度,提高了开发效率。</p>
<h3 style="line-height:1.8">*5、软件部分</h3>
<ol>
<li><strong>系统初始化</strong>:在程序开始时,首先进行系统初始化,包括设置微控制器的时钟系统、配置GPIO端口为所需模式、初始化I2C接口等。</li>
<li><strong>温湿度数据采集</strong>:通过I2C接口与SHT40传感器通信,定时采集温湿度数据,并进行必要的数据处理和转换。</li>
<li><strong>温湿度显示</strong>:将采集到的温湿度数据通过移位寄存器控制共阴极数码管进行动态显示,确保数据的实时性和可读性。</li>
<li><strong>LED唤醒功能</strong>:根据设备的状态(如待机、唤醒等),通过GPIO端口控制LED的亮灭,提供直观的视觉反馈。</li>
<li><strong>电源管理</strong>:实时监测电池电量,当电量过低时,通过数码管或LED发出警告,并可能执行相应的保护措施(如关闭部分功能以节省电量)。</li>
<li><strong>SWD调试</strong>:提供SWD接口,支持使用调试器进行程序下载、断点调试、变量查看等功能,方便用户进行开发和测试。</li>
</ol>
<p style="line-height:1.8"><img src="//image.lceda.cn/oshwhub/f1e009628ac14e2e831814469044a285.jpg" alt="" width="1056" height="1413"><img src="//image.lceda.cn/oshwhub/098da0d2a49c476cac2616c58bebf2b1.png" alt="" width="1043" height="657"></p>
<p style="line-height:1.8"> </p>
<p style="line-height:1.8"> </p>
评论(0)