站内搜索
发作品签到
CH571K紫外线监测钥匙扣
专业版

CH571K紫外线监测钥匙扣

简介

集成紫外线指数、环境光照度、电池电量三合一检测,通过 BLE 广播实时推送数据。无需配对连接,任何 BLE 设备均可直接扫描获取传感器数据。智能光控省电——光照不足时自动休眠,有光时自动唤醒广播

简介:集成紫外线指数、环境光照度、电池电量三合一检测,通过 BLE 广播实时推送数据。无需配对连接,任何 BLE 设备均可直接扫描获取传感器数据。智能光控省电——光照不足时自动休眠,有光时自动唤醒广播
复刻成本:20

开源协议

GPL 3.0

创建时间:2026-05-28 16:30:56更新时间:2026-06-03 15:22:32

描述

WCH CH571K · BLE 4.2 · RISC-V
CH571K UV-Keychain
基于 CH571K 的紫外线监测钥匙扣
集成紫外线指数、环境光照度、电池电量三合一检测,通过 BLE 广播实时推送数据。无需配对连接,任何 BLE 设备均可直接扫描获取传感器数据。智能光控省电——光照不足时自动休眠,有光时自动唤醒广播。
☀️ UV 紫外线检测
💡 光照度感应
🔋 电池电量监测
📡 BLE 无线广播
ADC Broadcaster 封面
三合一环境感知
一颗芯片,三路采集,零连接广播——极简硬件实现完整环境监测
☀️
紫外线指数 (UVI)
通过 PA12 引脚连接 UV 传感器,采集模拟电压并转换为紫外线指数(0~15 级)。采用 Vout = 0.143×UVI + 0.564V 的线性模型计算,四次采样取均值降低噪声,精度可靠。
采样通道
ADC CH2 → PA12 (AIN2)
💡
环境光照度 (Lux)
PA13 引脚采集光敏电阻分压值,结合 10K 固定电阻计算 LDR 阻值,通过 Lux = 10×(R10/R_ldr)² 公式转换为勒克斯值(0~9999)。覆盖从暗室到强日光的完整范围。
采样通道
ADC CH3 → PA13 (AIN3)
🔋
电池电量 (VBAT)
读取芯片内部 VBAT 引脚(1/3 分压),换算实际电压后线性映射至 0~100%。满电 3.0V 对应 100%,截止 2.3V 对应 0%,专为纽扣电池供电场景优化。
采样通道
内部 VBAT → 1/3 分压
⚡ 工作流程
📡
每 10 秒唤醒
TMOS 定时器触发 ADC 采样周期
📊
采集三路 ADC
UV + 光敏 + VBAT,四次取均值
🔭
判断光照阈值
Lux < 100 → 关闭 BLE 进入休眠
📡
Lux ≥ 100 → 广播数据
更新 BLE 名称并开启广播
有光才工作
无光即休眠
内置智能光控逻辑:当环境光照度低于 100 lux 时,系统自动关闭 BLE 射频模块,仅保留低功耗定时器周期性检测光照。光照恢复后自动唤醒广播,无需人工干预。
10s
采样周期
1s
广播间隔
100
Lux 唤醒阈值
核心实现解析
从初始化到广播,三段关键代码驱动整个系统
adc_broadcaster_main.c
🏠 系统初始化
主函数依次完成时钟配置、GPIO 低功耗初始化、BLE 协议栈启动和 ADC 采集模块注册,最后进入 TMOS 主循环。
int main(void) {
  SetSysClock(CLK_SOURCE_PLL_60MHz);
  // 所有GPIO上拉输入,减少漏电
  GPIOA_ModeCfg(GPIO_Pin_All, GPIO_ModeIN_PU);
  GPIOB_ModeCfg(GPIO_Pin_All, GPIO_ModeIN_PU);
  CH57X_BLEInit();
  HAL_Init();
  ADC_Broadcaster_Init();
  while(1) TMOS_SystemProcess();
}
adc_broadcaster.c
📊 ADC 采集与转换
单通道 4 次采样取均值降噪,UV 指数和 Lux 分别通过各自传感器的物理模型换算。
static uint16_t adc_read_channel(uint8_t ch) {
  uint16_t val = 0;
  ADC_ExtSingleChSampInit(SampleFreq_3_2, ADC_PGA_0);
  ADC_ChannelCfg(ch);
  for(uint8_t i = 0; i < 4; i++)
    val += ADC_ExcutSingleConver();
  return val / 4;
}
// UV: Vout=0.143*UVI+0.564V
// Lux: 10*(14000/R_ldr)^2
adc_broadcaster.c
🔭 智能光控逻辑
Lux 低于阈值时关闭广播并返回,高于阈值时更新数据并重新开启广播,实现零人工干预的省电策略。
// 光强低于100 lux时关闭BLE
if(lux < 100) {
  if(adv_enabled) {
    adv_enable = FALSE;
    GAPRole_SetParameter(
      GAPROLE_ADVERT_ENABLED,
      sizeof(uint8_t), &adv_enable);
    adv_enabled = FALSE;
  }
  return;
}
// 光强>=100 lux,更新数据并广播
BLE 广播数据格式
无需连接,任何 BLE 扫描设备均可直接解析
BLE AdvertData (31 bytes max)
02 01 06
Flags (3 bytes)
General Discoverable + BR/EDR Not Supported
xx 09
Length + Type (2 bytes)
Complete Local Name 类型标识
UV3 L245 B87%
UV = 紫外线指数 (0~15)
L = 光照度 (0~9999 lux)
B = 电池电量 (0~100%)
完整广播包示例
02 01 06 11 09 55 56 33 20 4C 32 34 35 20 42 38 37 25
↑ Flags ↑ Len ↑ "UV3 L245 B87%"
技术参数
🧠
主控芯片
WCH CH571K
RISC-V 内核 @ 60MHz
📡
无线协议
BLE 4.2
Non-Connectable ADV
发射功率
0 dBm
低功耗广播
🔌
供电方式
纽扣电池 3V
2.3V~3.0V 工作范围
💾
存储资源
192K Flash
18K RAM
🌡️
ADC 精度
12-bit
四次采样取均值
易焊接设计
全板采用大尺寸封装器件,无需热风台,普通烙铁即可手工焊接,适合爱好者和教学场景
0805
贴片阻容
电阻、电容均采用 0805 封装(2.0×1.25mm),焊盘间距宽裕,烙铁头可轻松触及,不易连锡。
SOIC-8
运算放大器
LMV358B-SR 运放采用 SOIC-8 封装,引脚间距 1.27mm,8 引脚标准布局,可拖焊完成,用于 UV 信号放大。
ESSOP-10
BLE 主控
CH571K 主控采用 ESSOP-10 封装,底部带散热焊盘,引脚间距 1.0mm,10 引脚即可覆盖电源、射频、ADC、UART 全部功能。
GPIO 接口定义
引脚
PA12
功能
UV 传感器输入
ADC 通道
AIN2 (CH2)
引脚
PA13
功能
光敏电阻分压输入
ADC 通道
AIN3 (CH3)
引脚
PA9
功能
UART1 TX (调试输出)
备注
115200 baud, DEBUG 模式
引脚
VBAT
功能
纽扣电池正极
备注
内部 1/3 分压采集
适用方向
🏖️
户外紫外线监测
放置在户外,手机 BLE 扫描即可获取实时 UV 指数,提醒防晒。纽扣电池供电,无需充电。
🌾
农业光照监测
部署在温室或田间,长期监测光照强度,辅助判断作物光照是否充足。智能休眠延长电池寿命。
🏠
智能家居传感
作为 BLE Beacon 部署在室内,网关扫描解析数据后联动窗帘、灯光等智能设备。
🔬
教学与原型验证
完整的 BLE + ADC + 低功耗示例代码,适合 RISC-V 嵌入式开发学习和快速原型搭建。
产品外观
设备正面
正面视图
设备背面
背面视图
BLE 扫描实测
手机无需安装任何 App,系统蓝牙即可直接扫描到广播数据
手机搜索BLE广播
BLE 扫描列表
蓝牙详情信息
广播数据详情
关键器件与设计思路
每颗器件的选择都围绕低功耗、易采购、可手工焊接三个原则
☀️
紫外线检测链路
GUVA-S12SD — 紫外光电二极管,光谱响应 240~370nm,峰值 350nm,暗电流仅 1nA。选择它而非模拟 UV 模块,是因为光电二极管输出电流与 UV 强度线性关系好,配合适配电路可精确标定。
LMV358B-SR — 3PEAK 轨到轨双路运放,80μA 静态电流,SOIC-8 封装。第一级接成跨阻放大器(TIA),用 6.8MΩ 反馈电阻将光电二极管的 nA 级电流转换为 V 级电压;第二级接成电压跟随器,隔离 ADC 采样对前级的影响。
R1 6.8MΩ — TIA 反馈电阻。阻值越高灵敏度越高,但带宽会降低。6.8MΩ 在 UV 指数 0~15 范围内可输出 0.5~2.7V,完美匹配 3V 供电 ADC 量程。
💡
光照度检测链路
GT36516 — 光敏电阻(LDR),暗阻 300kΩ,10Lux 亮阻 5~10kΩ,γ=0.5,峰值波长 560nm。选用光敏电阻而非数字光照 IC,是因为成本极低(约 1.2 元)、无需额外供电、与固定电阻分压即可完成采集。
R3 10kΩ — 分压下臂电阻。LDR 接 VBAT,R3 接 GND,中点接 PA13。光照越强 LDR 阻值越低,PA13 电压越高。10kΩ 选择在 LDR 的 5kΩ~300kΩ 动态范围内可获得合理的分压比。
C1 22pF — 晶振匹配电容。32MHz 晶振负载电容 12pF,两颗 22pF 对地串联后等效 11pF,加上 PCB 寄生电容约 1pF,总负载约 12pF,满足晶振规格要求。
🔋
电源与主控
BS-10-B2AA010 — CR2032 纽扣电池卧式贴片底座,磷铜镀金触点,支持回流焊。直接贴装在 PCB 上,无需额外支架,更换电池方便。
CH571K — WCH RISC-V BLE 4.2 SoC,ESSOP-10 封装。内置 BLE 射频、12-bit ADC、UART、SPI 等外设,无需外部 LDO(直接 VBAT 供电),一颗芯片解决无线通信 + 模拟采集 + 数字处理全部需求。
X322532MOB4SI — 32MHz 贴片晶振,±10ppm 常温频差,3225 封装。BLE 协议要求频率偏差 <40ppm,此晶振精度远超要求。
ADWH002 — 2.4GHz 贴片天线,5×2×1mm,0.67dBi 增益,50Ω 匹配。尺寸极小适合钥匙扣形态,焊接两个引脚即可。
阻容选型逻辑
C2、C6 100nF — VBAT 电源去耦电容,分别放置在 CH571K 供电引脚和运放供电引脚附近,滤除高频噪声。X7R 介质,温度稳定性好。
C3 1μF — CH571K VINTA 引脚滤波电容。该引脚是芯片内部 LDO 输出,为射频模块供电,需要较大容量电容保证瞬态响应。SAMSUNG X7R 0805,容值精度 ±10%。
全部 0805 封装 — 所有阻容统一 0805(2.0×1.25mm),焊盘间距宽裕,烙铁头可轻松触及,不易连锡。0805 也是立创商城库存最充足、价格最低的封装。
BOM 物料清单
全板仅 13 颗物料,均可在立创商城一站式采购
序号
位号
名称/型号
封装
品牌
数量
1
BT1
CR2032 电池座
SMD
MYOUNG 美阳
1
2
LED1
GUVA-S12SD UV 传感器
3528
Genicom
1
3
U1
LMV358B-SR 运放
SOIC-8
3PEAK 思瑞浦
1
4
U2
CH571K BLE MCU
ESSOP-10
WCH 沁恒
1
5
U3
ADWH002 贴片天线
5×2mm
摩天射频
1
6
X1
32MHz 贴片晶振
3225
YXC 扬兴
1
7
R4
GT36516 光敏电阻
3.6×2.4
晶创和立
1
8
R1
6.8MΩ 电阻
0805
FOJAN 富捷
1
9
R3
10kΩ 电阻
0805
UNI-ROYAL 厚声
1
10
C2,C6
100nF 电容 ×2
0805
YAGEO 国巨
2
11
C3
1μF 电容
0805
SAMSUNG 三星
1
12
C1
22pF 电容
0805
SAMSUNG 三星
1
13
H1~H4
2.54mm 排针 ×4
DIP
XFCN 兴飞
4
13
物料种类
17
器件总数
ISP 烧录与串口接线
通过 USB 转串口模块即可完成固件烧录,无需专用烧录器
接线说明
📌
板载排针定义
H1=TXD0、H2=RXD0、H3=GND、H4=VBAT
连接 USB 转串口
模块 TX → 板上 H2 (RXD0);模块 RX → 板上 H1 (TXD0);模块 GND → 板上 H3
⚠️
电平匹配
USB 转串口模块必须设置为 3.3V 电平,严禁使用 5V 电平,会烧毁芯片
💡
供电方式
烧录时可保留纽扣电池供电,也可通过 H4 (VBAT) + H3 (GND) 外接 3.3V 供电
ISP 烧录步骤
1
安装 WCHISPTool
从 WCH 官网下载 WCHISPTool 串口 ISP 工具,支持 Windows/Linux
2
连接串口
按接线说明连接 USB 转串口模块,波特率选 115200
3
进入 ISP 模式
CH571K 上电时 BOOT 引脚为低电平即自动进入 ISP 引导模式。若芯片已有固件,需先拉低 BOOT 再上电复位
4
选择固件并下载
在 WCHISPTool 中选择 CH571K 芯片型号,加载 .hex 固件文件,点击下载
5
验证运行
烧录完成后复位芯片,手机 BLE 扫描应能看到 UV 数据广播;串口 115200 可查看调试输出
接线对照表
USB 转串口模块
TX ──→ H2 (RXD0)
RX ──→ H1 (TXD0)
GND ──→ H3 (GND)
外接供电(可选)
3.3V ──→ H4 (VBAT)
GND ──→ H3 (GND)
CH571K ISP 串口
PA14 → TXD0 (H1)
PA15 → RXD0 (H2)
波特率: 115200
AI-SKILL

AI技能

本项目是一次基于AI开发的尝试,依赖于以下SKILL完成

🔧
CH57X开发技能
ch57x-dev-skill
CH57X 系列AI开发辅助工具,提供 API 查询、代码生成与调试支持,可实现AI快速构建项目代码,完成CH57X系列的项目开发.
查看仓库
📋
立创项目介绍生成技能
oshw-readme-skill
可用于立创开源平台的项目介绍生成技能,快速构建精美的markdown文档,包含项目介绍格式、图片展示规范、BOM 渲染技巧,AI辅助生成。
查看仓库
🏠
源码仓库
ch571k-uv-keychain
Gitee仓库用于存放本项目的硬件源码,可拉取源码编译或修改。
查看仓库

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
CH571K紫外线监测钥匙扣资料包.zip
70
克隆工程
添加到专辑
0
0
分享
Logo GIF0
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航