老式雨滴传感器怕灰误报?使用MicroPython+ CDS1081快速实现尘雨霜检测
引言
你有没有过这样的经历:智能浇灌系统误判小雨白跑一趟,自动关窗器被灰尘干扰失灵,外卖平台的降雨数据只能靠骑手肉眼判断?
长期以来,户外智能设备的 “环境感知” 一直是个老大难问题。传统的雨滴方案普遍存在明显短板:

- “娇贵易损” 的电阻式传感器:靠雨水导电判断 “是否下雨”,但金属电极长期暴露在户外,极易被灰尘、腐蚀、凝露影响,用久了就会失灵;且只能简单判断 “有雨 / 无雨”,无法区分雨量大小,更别说检测灰尘和结霜。

- “成本高昂” 的光学式方案:虽然精度稍高,但安装复杂、价格昂贵,还容易被遮挡物干扰,很难在消费级设备中普及。
- 普遍抗干扰能力弱:温度变化、电磁干扰都会导致误触发,让设备 “乱报天气”。

敏源推出的电容式尘雨霜传感器 CDS1081,正是为解决这些痛点而来的 “全能感知选手”。它是一款基于电容式感知的智能传感器,核心搭载自研的 MCP1081S 数字电容处理芯片 —— 简单来说,它靠 “物质介电常数变化” 来感知环境:当灰尘、雨水或霜覆盖在表面时,不同物质会改变电容数值,传感器就能通过这种变化,精准算出尘雨霜的厚度,相当于给设备装了一双 “会感知厚度的眼睛”。
其核心优势在于:
- ✅ 一芯测三态:尘、雨、霜全能感知:它不仅能检测 0~10mm 高度的雨量,还能精准区分零星小雨、小雨、中雨、大雨、大暴雨多档雨位;同时可检测 0~5mm 的灰尘厚度,甚至识别结霜状态,一颗传感器搞定多种环境监测需求。
- ✅ 高精度 + 强抗干扰,告别 “乱报天气”:电容分辨率高达 0.001pF,搭配内置 MCU 处理器,能有效滤除温度、凝露、电磁等干扰,哪怕是潮湿的回南天、温差大的户外环境,也能稳定输出数据,不会误触发设备动作。
- ✅ 穿透安装 + 低成本,集成超灵活:支持穿透 0~3mm 的非金属介质安装,不用直接暴露在户外,搭配塑料外壳就能用,既保护传感器,又降低了防水设计难度;同时模组成本低,UART 接口简单易集成,消费级产品和工业设备都能轻松适配。
- ✅ 低功耗 + 宽温,户外环境也耐用:工作电压 2V~5.5V,5V 下功耗仅 4mA,还支持 - 40℃~+85℃ 的宽温工作范围,从炎热的户外到寒冷的北方都能稳定运行。
可以用于以下场景:

-
🏠 智能家居:让控制更 “懂天气”
- 自动关窗器:不用再担心出门下雨忘关窗,传感器检测到降雨就能自动联动关窗,还能根据雨量大小调整逻辑 —— 比如零星小雨不触发,大雨才执行动作。
- 智能浇灌系统:根据实时雨量调整浇灌计划,雨天自动暂停,晴天按需补水,既节水又省心,告别 “固定时间浇水” 的粗放模式。
-
🛵 户外出行:让调度更智能
- 外卖 / 快递电瓶车:安装传感器后,能回传不同区域的降雨数据,平台可据此优化配送调度,骑手也能提前预判路况,减少雨天配送风险。

- 🏭 工业与设备:让维护更省心
- 户外工业设备 / 空调外机:传感器检测到灰尘厚度超标时,可自动联动清洗模式,减少设备故障概率,降低人工维护成本。
- 清洁设备尘盒:扫地机器人搭配这款传感器,能实时检测灰尘厚度,提醒用户及时清理,甚至自动调整清扫模式,避免尘盒堵塞影响清洁效果。
从智能家居到户外出行,从工业设备到清洁电器,电容式尘雨霜传感器 CDS1081 用一颗小小的电容式传感器,解决了户外设备 “感知环境” 的大难题,让智能设备不再靠 “猜” 工作,而是真正读懂雨、尘、霜的变化,为各种场景提供可靠的智能控制方案。
一、模块简介

该图展示了 CDS 模块的实物外观,可直观看到传感区域、板形尺寸和整体结构形式。
二、主要芯片介绍
2.1 芯片概述
敏源十通道多模式宽频数字电容处理器芯片 MCP1081S 利用有尘雨霜时介电常数的变化检测尘雨霜厚度变化,尘雨霜厚度与电容数值成正比。
2.2 引脚定义

该图给出了模块引脚定义,可用于确认电源与串口信号的连接关系。
2.3 功能框图
无。
2.4 性能参数


2.5 参考电路
无
2.6 芯片配置
无。
2.7 通信接口和相关协议


2.6 寄存器定义

2.8 PCB 布线注意事项
无。
三、电路工程
3.1 电路源工程
获取电路源工程,请查看下面链接:
https://www.mysentech.com/productinfo/3168524.html
3.2 模块使用说明
3.2.1 模块测试环境搭建和注意事项
该模块使用前,按照需要搭建测试环境:
- 常规测试:室温 25℃±5℃,湿度 40%~60%,无强电磁干扰、无振动的室内环境
- 环境测试:高低温箱,可模拟 - 40℃~+85℃ 温度环境
这里,在测试时,我们利用普通纸片、清水就能模拟灰尘、结露、雨水场景:简单来说,就是用不同厚度纸片覆盖感应面模拟积尘,滴加少量清水模拟雨霜凝露,观察数值是否随遮挡、水层厚度平稳线性变化。
3.2.2 Modbus Poll 的使用
Modbus Poll 是一款通用型 Modbus 主站调试工具,适配本系列所有支持 Modbus-RTU 协议的电容式传感器,可快速实现传感器与电脑的串口通信调试、实时数据读取与日志导出,是验证传感器功能、采集测试数据的通用上位机工具。软件支持 Modbus RTU/ASCII/TCP/IP 协议,兼容多种寄存器类型与数据格式,操作流程对全系列传感器通用。
使用前需先完成软件安装与激活,可通过官方渠道下载安装包,首次打开可试用 30 天,也可输入注册码永久激活。硬件连接传感器与电脑后,打开软件点击「Connection」-「Connect」,在弹出窗口中配置串口参数(端口号、波特率、数据位 / 校验位 / 停止位,本系列传感器默认采用 9600 Baud、8N1 格式,具体以对应型号规格书为准),确认后即可建立通信连接。

以下为通用操作流程说明:
- 串口连接配置:将传感器通过 USB 转串口模块接入电脑后,打开 Modbus Poll 软件,点击菜单栏「Connection」-「Connect」,在弹出窗口中选择传感器对应的 COM 端口号,并配置与传感器匹配的串口参数(波特率、数据位、校验方式、停止位,本系列传感器默认采用 9600 Baud、8N1 格式),确认后即可建立通信连接。
- 导入传感器配置文件:软件支持导入各传感器型号对应的
.mbp预配置文件,文件中已预设好寄存器地址、数据格式与别名定义,无需手动配置寄存器。直接在软件中打开对应传感器的.mbp文件,即可自动加载所有参数,连接成功后将直接显示传感器的实时检测数据(如尘 / 雨 / 霜厚度值、状态标志位等)。 - 数据日志记录(可选):如需保存测试数据,可通过「Setup」-「Excel Log」功能配置日志记录规则,支持按固定周期或每次数据更新记录数据,并可设置记录条数上限,方便后续对传感器数据进行分析与验证。
以上为通用的上位机基础操作,不同传感器型号的 .mbp 预配置文件、具体寄存器定义、特殊配置细节,可参考「七、相关资料」中内容。
3.3 应用实验
这里,我们使用 GraftPort-RP2040 开发板进行测试,电容式尘雨霜传感器 CDS 上使用 UART 接口与主控进行通信。
这里,我们首先使用 HY2.0-4P 连接线将电容式尘雨霜传感器 CDS 通过 XH2.54-4P 转接 HY2.0-4P 接口模块连接到 GraftPort-RP2040 开发板的 UART0 接口:

该图展示了 CDS 模块与 GraftPort-RP2040 开发板的实际接线方式。
模块连线如下表所示:
| 开发板引脚 | 模块引脚 | 说明 |
|---|---|---|
| 引脚 16 | MTX |
UART 数据传输线,对应开发板的发送引脚 |
| 引脚 17 | MRX |
UART 数据传输线,对应开发板的接收引脚 |
这里,我们需要在 uPyPI 上搜索相关驱动包:https://upypi.net/zh/

该图演示了在 uPyPI 平台中查找传感器驱动包的操作入口。
输入 cds1081_driver 进行搜索,显示如下:

该图展示了 cds1081_driver 的搜索结果,用于确认驱动包名称与版本。
点击复制本地安装命令:

该图展示了复制本地安装命令的界面,方便快速完成驱动部署。
通过 mip 工具导入模块驱动库代码,以下是 mpremote 工具使用指令:
mpremote mip install https://upypi.net/pkgs/cds1081_driver/1.0.0
导入电容式尘雨霜传感器 CDS-MicroPython 驱动代码后,将下面 main.py 代码复制到我们的工程中:
# Python env : MicroPython v1.23.0
# -*- coding: utf-8 -*-
# @Time : 2025/9/8 下午4:52
# @Author : hogeiha
# @File : main.py
# @Description : CDS1081雨量传感器数据读取与阈值配置
# ======================================== 导入相关模块 =========================================
import time
from cds1081 import CDS1081
# ======================================== 全局变量 ============================================
# ======================================== 功能函数 ============================================
# ======================================== 自定义类 ============================================
# ======================================== 初始化配置 ===========================================
# 等待系统稳定
time.sleep(3)
# 输出初始化完成提示
print("FreakStudio: CDS1081 sensor initialized")
# 创建CDS1081传感器对象,指定从机地址、UART ID、TX引脚和RX引脚
sensor = CDS1081(slave_addr=1, uart_id=0, tx_pin=16, rx_pin=17)
# 设置电容校准值,扩大1000倍,对应6pF
sensor.set_calibration(6000)
# 设置报警阈值
sensor.set_alarm_threshold(40000)
# 设置清除阈值
sensor.set_clear_threshold(20000)
# ======================================== 主程序 ============================================
# 无限循环读取传感器数据
while True :
# 打印节点地址
print("Node address:", sensor.get_node_address())
# 打印雨量状态
print("Rain status:", sensor.get_rain_status())
# 打印温度值
print("Temperature:", sensor.get_temperature(), "C")
# 打印电容值
print("Capacitance:", sensor.get_capacitance(), "pF")
# 打印Count0值
print("Count0 value:", sensor.get_count0())
# 打印校准理想值
print("Calibration ideal value:", sensor.get_calibration_value(), "pF")
# 打印报警阈值
print("Alarm threshold:", sensor.get_alarm_threshold())
# 打印清除阈值
print("Clear threshold:", sensor.get_clear_threshold())
烧录代码,打开终端,输出如下:

该图展示了程序运行后的串口输出结果,可看到节点地址、状态和温度等信息。

我们可以看到,对 CDS 多次喷水后状态梯度呈现明显变化:

相关资料


敏源推出的电容式尘雨霜传感器 CDS1081,正是为解决这些痛点而来的 “全能感知选手”。它是一款基于电容式感知的智能传感器,核心搭载自研的 MCP1081S 数字电容处理芯片 —— 简单来说,它靠 “物质介电常数变化” 来感知环境:当灰尘、雨水或霜覆盖在表面时,不同物质会改变电容数值,传感器就能通过这种变化,精准算出尘雨霜的厚度,相当于给设备装了一双 “会感知厚度的眼睛”。


浙公网安备 33010602011771号