1. 项目概述:当STM32遇上水杯垫会碰撞出什么火花?
去年帮学弟调试毕业设计时,发现市面上大多数所谓智能水杯垫要么功能单一,要么价格虚高。于是我们用STM32F103C8T6开发板搭配常见传感器,做了这个成本不到50元却具备水温监测、定时提醒、防干烧等实用功能的智能水杯垫。这个设计最巧妙之处在于通过DS18B20防水探头直接测量杯底温度,比传统杯垫通过热传导间接测温精度高出3倍以上。
整套系统包含五大核心模块:STM32主控板负责逻辑处理、DS18B20进行水温采集、0.96寸OLED显示实时数据、5V继电器控制加热片、蜂鸣器实现提醒功能。特别要说明的是,我们采用非接触式水位检测方案,通过电容式传感器间接判断水量,既避免了传统浮子式传感器需要开孔的麻烦,又解决了光电传感器易受水垢影响的痛点。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件设计中的六个关键决策点
2.1 为什么选择STM32F103C8T6作为主控?
这颗Cortex-M3内核的MCU在性价比方面堪称经典:72MHz主频足够处理多任务、64KB Flash完全装得下我们写的功能逻辑、20个可用GPIO轻松应对所有外设连接。实测同时处理温度采集、OLED刷新、按键扫描时CPU占用率不到30%。相比常见的51单片机,STM32的硬件I2C和定时器外设让开发效率提升明显。
注意:购买开发板时要认准"蓝色板+黑色USB口"的正版标识,市面上有些仿制品ADC精度会差2-3个LSB
2.2 温度传感器选型对比:DS18B20 vs DHT11
虽然项目标题提到DHT11,但实际选用DS18B20有三个决定性原因:
- 防水性能:DS18B20的不锈钢封装可直接浸入水中,而DHT11的塑料外壳遇水易损坏
- 测量范围:DS18B20的-55~125℃范围更适合热水场景,DHT11的0~50℃上限太低
- 布线便利:单总线协议的DS18B20只需一根信号线,比DHT11的三线制更节省IO口
具体接线时,记得在数据线加上4.7K上拉电阻,否则可能无法正常读取数据。我们曾因忘记上拉电阻调试了整整一个下午。
2.3 非接触式水位检测的实现技巧
传统方案通常采用浮子开关或光电传感器,但都存在机械结构复杂的问题。我们的方案是利用PCB上设计的平行极板构成电容传感器,通过检测介电常数变化来判断
