
#第九届立创电赛#无线温湿度计
简介
采用stm32f030做主控,通过sht40采集温湿度数据,驱动OLED(0.91寸,128X32)显示。也可以通过蓝牙传输数据到电脑、手机、智能家居等。
简介:采用stm32f030做主控,通过sht40采集温湿度数据,驱动OLED(0.91寸,128X32)显示。也可以通过蓝牙传输数据到电脑、手机、智能家居等。开源协议
:Public Domain
描述
注:* 为必填项
请在报名阶段填写 ↓
* 1、项目功能介绍
请输入内容…
通过sht40采集温度、湿度等信息;
使用stm32f030做主控;
采用OLED显示相关数据;
锂电池或USB供电;
支持蓝牙传输,方便上位机收集数据。
注:主题不限,可以是解决生活/工作中的某个问题、为某个人群/场景设计的方案、毕业设计/课程设计/DIY项目/纯属炫酷项目等。主要讲一下自己通过什么手段解决了什么问题。
*2、项目属性
请输入内容…
项目首次公开,为本人原创。
注:请说明项目是否首次公开;项目是否为原创;项目是否曾经在其他比赛中获奖,若有获奖则叙述获奖详情;项目是否在学校参加过答辩。
* 3、开源协议
请输入内容…
支持硬件全部开源。
注:利他即利己,请认真阅读下述内容。
- 拥抱开源,赋予项目无限价值。建议项目核心功能开源80%以上;
- 2、若某一部分功能不可替代且删掉之后项目无法解决对应的问题,则这一部分实现的功能就是项目的核心功能;比如设计了一台电子负载且设计了一款上位机软件监控功率变化,则电子负载为核心功能,上位机软件为辅助功能;比如电子负载中使用了一款隔离485模块与上位机通信,则此485模块实现的通讯功能为辅助功能;
- 项目应选择适合自己的开源协议,若项目引用其他开源项目,应注明来源并遵循原作者的开源协议规定;原创项目推荐使用GPL3.0开源协议;
- 直接引用开源项目的原电路或原代码实现的功能不可作为自己项目的核心功能、使用市场上通用模块直接实现的功能不可作为自己项目的核心功能。
请在竞赛阶段填写 ↓
*4、硬件部分
请输入内容…
硬件电路采用嘉立创EDA设计。
主控电路
主控芯片为stm32f030c8t6,
STM32F030C8T6是一款由意法半导体(STMicroelectronics)生产的基于ARM Cortex-M0内核的32位微控制器。以下是对该微控制器的详细介绍:
一、核心特性
- 内核:采用高性能的Arm® Cortex®-M0 32位RISC核心,提供高效的处理能力。
- 工作频率:最高可达48MHz,满足多种应用场景对性能的需求。
- 存储器:内置高速嵌入式存储器,包括高达64KB的闪存(Flash)和高达8KB的SRAM(静态随机存取存储器),支持程序和数据的高效存储与处理。
二、外设与接口
- 通信接口:提供标准通信接口,包括最多两个I2C、最多两个SPI和最多六个USART,支持设备间的多种通信方式。
- ADC:内置12位ADC,提供高精度模拟信号采集能力。
- 定时器:包括七个通用16位定时器和一个高级控制PWM定时器,满足复杂的定时和脉冲宽度调制需求。
- I/O端口:拥有多达39个I/O端口(根据封装不同可能有所差异),支持丰富的外设连接和控制功能。
三、电气特性
- 供电电压:支持2.4V至3.6V的宽电压范围,适用于多种电源环境。
- 工作温度:可在-40°C至+85°C的温度范围内正常工作,满足恶劣环境下的应用需求。
四、封装与引脚
- 封装形式:STM32F030C8T6提供多种封装选项,包括但不限于LQFP-48封装,引脚数量从20引脚到64引脚不等,以满足不同应用场景的需求。
- 引脚复用:部分引脚支持复用功能,可根据需要配置为不同的外设接口或功能。
五、应用场景
由于其高性能、低功耗和丰富的外设资源,STM32F030C8T6微控制器广泛应用于多个领域,包括但不限于:
- 应用控制和用户界面
- 手持设备
- A/V接收器和数字电视
- PC外围设备
- 游戏和GPS平台
- 工业应用、PLC、逆变器
- 打印机、扫描仪
- 报警系统、视频对讲机和HVAC(供暖、通风与空调)系统等
该芯片主要提供串口、IIC接口、ADC接口、程序下载接口等。电路如下图所示:
USB接口电路
采用USB接口,该接口给锂电池供电。也可以给系统供电。
同时也可以给系统下载程序和调试程序。如下图所示:
充电接口电路
采用TP4057芯片给锂电池充电,如下图所示:
锂电池电量采样电路
通过电阻分压网络,将电压降到可以采集的范围。这里约为1/2。也即锂电池满电4.2V时,采集电压约为2.1V,电路如下图所示:
LDO电路
为了系统供电为3.3V,这里采用了LDO,这个LDO体积小,电流够用,电路如下图所示:
蓝牙电路
这里采用了KT6368A,支持SPP和BLE,若是考虑功耗更低的话,可以选用KT6328A,该芯片支持BLE。注意串口和MCU连接要交叉,我就一时疏忽,导致要飞线,还好有R6、R8电阻。电路如下图所示:
这个蓝牙之前使用过,非常稳定,需要自己设计天线哦。
传感器电路
这里采用了SHT40,因为有活动支持哦。一定要从正规渠道购买啊,推荐立创商城哦。电路如下图所示:
该芯片的测量精度如下:
需要注意写程序时候,IIC的地址和对应的编号,我在这里掉坑里了。不是所有芯片都是0x44,尤其移植程序要注意:
焊接需要主要,建议采用铁板烧哦。
显示电路
这里采用了0.91寸128X32的单色屏,因为显示数据需要,这个觉得挺合适。推荐立创商城采购哦。电路如下图所示:
即插即用哦
这个屏基本算是最便宜的了
PCB设计
PCB设计采样立创EDA,4层板设计,打板1.2mm厚度,无主控要求。
这里需要注意蓝牙天线的设计,需要隔离其它器件。务必安装设计规范进行。
注意:传感器下面不要铺铜。
外壳设计
采用立创EDA设计
顶盖:
底盖:
面板设计
采用立创EDA设计,没券了,没打印,等以后打印了贴上哦。
注:请前往嘉立创EDA 生成/上传设计文件,文件完成后,相关文稿将自动生成至项目详情;这里可以详细说明您的项目实现原理和机制、注意事项、调试方法、测试方法等。推荐图文并茂的形式向别人介绍您的想法。
*5、软件部分
请输入内容…
软件基于Keil 5开发,采用C语言进行编写程序。
主要氛围以下几个部分:
1-OLED驱动
根据官方驱动手册编写即可。
效果如下:
需要的函数如下:
#define OLED_SCL_Clr() GPIOB->BRR = GPIO_PIN_6//SCL-0
#define OLED_SCL_Set() GPIOB->BSRR = GPIO_PIN_6//SCL-1
#define OLED_SDA_Clr() GPIOB->BRR = GPIO_PIN_7//SDA
#define OLED_SDA_Set() GPIOB->BSRR = GPIO_PIN_7//SDA
#define OLED_CMD 0 //写命令
#define OLED_DATA 1 //写数据
void OLED_ClearPoint(u8 x,u8 y);
void OLED_ColorTurn(u8 i);
void OLED_DisplayTurn(u8 i);
void I2C_Start(void);
void I2C_Stop(void);
void I2C_WaitAck(void);
void Send_Byte(u8 dat);
void OLED_WR_Byte(u8 dat,u8 mode);
void OLED_DisPlay_On(void);
void OLED_DisPlay_Off(void);
void OLED_Refresh(void);
void OLED_Clear(void);
void OLED_DrawPoint(u8 x,u8 y,u8 t);
void OLED_DrawLine(u8 x1,u8 y1,u8 x2,u8 y2,u8 mode);
void OLED_DrawCircle(u8 x,u8 y,u8 r);
void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 size1,u8 mode);
void OLED_ShowChar6x8(u8 x,u8 y,u8 chr,u8 mode);
void OLED_ShowString(u8 x,u8 y,u8 *chr,u8 size1,u8 mode);
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size1,u8 mode);
void OLED_ShowChinese(u8 x,u8 y,u8 num,u8 size1,u8 mode);
void OLED_ScrollDisplay(u8 num,u8 space,u8 mode);
void OLED_ShowPicture(u8 x,u8 y,u8 sizex,u8 sizey,u8 BMP[],u8 mode);
void OLED_Init(void);
文件编译输出:
warning可以忽略。
2-传感器驱动
按照如下规格书编写:
需要注意IIC的地址和具体芯片型号要对应起来。
IIC的读写时序控制,必须严格按照如下:
命令如下:
数据读取验证:
数据显示代码
3-锂电池电量采集
通过芯片的ADC采集。
DMA方式存储。
定时采集,函数如下
HAL_ADC_Start_DMA(&hadc,(uint32_t *)(&(adc_value[0])),4);
采集效果:
这里电量有个量化标准,网上找的:
程序实现如下
4-蓝牙检测:
通过GPIO进行判断是否连接OK。若连接这发送数据。
查询PA1管脚的状态,代码如下:
连接效果如下:
电脑接收数据:
注:若您的项目涉及软件开发,请在附件上传对应的工程源码。这里可以详细说明您的软件流程图、功能模块框图、相关算法的解释或科普、源码结构、编译环境的搭建和配置、源码编译方法、程序烧录方法等。推荐图文并茂的形式向别人介绍您的想法。
*6、BOM清单
请输入内容…
No. | Designator | Name | Footprint | Value | Quantity | Manufacturer Part | Manufacturer | Supplier Part | JLCPCB Price | |
1 | C1,C2 | 10uF | C0603 | 10uF | 2 | CL10A106MA8NRNC | SAMSUNG(三星) | C96446 | 0.108 | 0.216 |
2 | C3 | 100nF | C0603 | 100nF | 1 | CC0603KRX7R9BB104 | YAGEO(国巨) | C14663 | 0.014 | 0.014 |
3 | C4,C6,C8,C10,C11,C12,C13,C17 | C0603 | 100nF | 8 | CC0603KRX7R9BB104 | YAGEO(国巨) | C14663 | 0.014 | 0.112 | |
4 | C5,C7,C9 | C0603 | 4.7uF | 3 | CL10A475KO8NNNC | SAMSUNG(三星) | C19666 | 0.0592 | 0.1776 | |
5 | C14 | 2.7pF | C0603 | 2.7pF | 1 | 0603CG2R7C500NT | FH(风华) | C95180 | 0.0177 | 0.0177 |
6 | C15 | 1uF | C0603 | 1uF | 1 | CL10A105KB8NNNC | SAMSUNG(三星) | C15849 | 0.0285 | 0.0285 |
7 | C16 | 10nF | C0603 | 10nF | 1 | 0603B103K500NT | FH(风华) | C57112 | 0.0151 | 0.0151 |
8 | D1 | 1N5819WS | SOD-323_L1.8-W1.3-LS2.5-RD | 1 | 1N5819WS | Hottech(合科泰) | C191023 | 0.0511 | 0.0511 | |
9 | H3 | HDR-TH_3P-P2.54-V-M | 1 | C2937625 | 0.0955 | 0.0955 | ||||
10 | OLED1 | HS91L02W2C01 | OLED-TH_L38.0-W12.0_HS91L02W2C01 | 1 | HS91L02W2C01 | HS(汉昇) | C5248081 | 13.77 | 13.77 | |
11 | Q1 | AO3401 | SOT-23-3_L2.9-W1.4-P1.90-LS2.6-BR | 1 | AO3401 | TWGMC(台湾迪嘉) | C727156 | 0.247 | 0.247 | |
12 | Q2 | XC6220B331MR-G | SOT-25_L3.0-W1.6-P0.95-LS2.8-TL | 1 | XC6220B331MR-G | TOREX(特瑞仕) | C86534 | 2.94 | 2.94 | |
13 | R3 | 2kΩ | R0603 | 2kΩ | 1 | 0603WAF2001T5E | UNI-ROYAL(厚声) | C22975 | 0.00606 | 0.00606 |
14 | R4 | 100kΩ | R0603 | 100kΩ | 1 | 0603WAF1003T5E | UNI-ROYAL(厚声) | C25803 | 0.00614 | 0.00614 |
15 | R5,R11,R12 | 0603WAF1002T5E | R0603 | 3 | 0603WAF1002T5E | UNI-ROYAL(厚声) | C25804 | 0.00558 | 0.01674 | |
16 | R6,R8 | 200Ω | R0603 | 200Ω | 2 | 0603WAF2000T5E | UNI-ROYAL(厚声) | C8218 | 0.00619 | 0.01238 |
17 | R9,R10 | 4.7kΩ | R0603 | 4.7kΩ | 2 | 0603WAF4701T5E | UNI-ROYAL(厚声) | C23162 | 0.00647 | 0.01294 |
18 | R13 | 33Ω | R0603 | 33Ω | 1 | 0603WAF330JT5E | UNI-ROYAL(厚声) | C23140 | 0.00618 | 0.00618 |
19 | SW1 | SK12D07VG4 | SW-TH_SK12D07VG4 | 1 | SK12D07VG4 | SHOU HAN(首韩) | C393937 | 0.13 | 0.13 | |
20 | U1 | TP4057 | SOT-23-6_L2.9-W1.6-P0.95-LS2.8-BR | 1 | TP4057 | UMW(友台半导体) | C725791 | 0.246 | 0.246 | |
21 | U2 | KT6368A | SOP-8_150MIL | 1 | 0 | |||||
22 | U3 | SHT40-CD1B-R3 | DFN-4_L1.5-W1.5-P0.80-TL-EP | 1 | SHT40-CD1B-R3 | Sensirion(瑞士盛思锐) | C7461852 | 11.24 | 11.24 | |
23 | U5 | LQFP-48_L7.0-W7.0-P0.50-LS9.0-BL | 1 | STM32F030C8T6 | ST(意法半导体) | C23922 | 5.02 | 5.02 | ||
24 | X1 | 24MHz | OSC-SMD_L7.0-W4.1-LS7.6 | 24MHz | 1 | M49SAT24000121060 | JGHC(晶光华) | C390761 | 0.431 | 0.431 |
总计 | 34.81194 |
注:项目涉及的BOM清单。在嘉立创EDA 生成/上传设计文件后,BOM将自动生成至项目详情;建议包括型号、品牌、名称、封装、采购渠道、用途等内容。具体内容和形式应以表达清楚项目构成为准。
*7、大赛LOGO验证
请上传包含大赛logo的项目图片,logo以丝印形式印刷在PCB上面。
点击zip下载大赛logo标识! (大赛标识).zip
* 8、演示您的项目并录制成视频上传
如附件所示;
也看B站观看。
https://www.bilibili.com/video/BV1k3vUeWE7G/?vd_source=24f1befd6441a33d7b240715cb07c7b5
视频要求:请横屏拍摄,分辨率不低于1280×720,格式Mp4/Mov,单个视频大小限100M内;
视频标题:立创电赛:{项目名称}-{视频模块名称};如立创电赛:《自动驾驶》-团队介绍。
设计图

BOM


评论