前言

传统垃圾桶需要手动开盖,无法判断桶内状态,也缺少火情、溢满提醒,体验较差。本文基于 STM32F103C8T6 单片机,在 Proteus 中完成整套智能垃圾桶硬件电路仿真,实现分类按键输入、溢满检测、烟雾火情检测、声光报警、水泵灭火、OLED 显示、串口上报等完整功能,适合作为单片机课程设计、毕设参考。

一、系统整体方案

本智能垃圾桶以 STM32F103C8T6 为主控芯片,外设分为五大模块:

  1. 垃圾分类输入模块:4 路独立按键,分别对应厨余、其他、有害、可回收垃圾;
  2. 环境检测模块:PCF8591 ADC 采集电位器模拟的溢满检测烟雾浓度检测
  3. 显示模块:OLED12864 屏幕,实时显示垃圾类型、桶内溢满状态、烟雾浓度;
  4. 执行报警模块:LED 状态指示灯、蜂鸣器报警、三极管驱动水泵模拟灭火;
  5. 串口通信模块:USART 串口,将设备状态上传上位机。

整体逻辑:按键录入投放垃圾类型;ADC 采集溢满与烟雾数据;当垃圾桶溢满触发溢满 LED 提示;烟雾超标时,烟雾 LED 点亮、蜂鸣器报警、水泵启动模拟灭火;所有信息同步在 OLED 屏幕展示,并通过串口输出。

二、Proteus 硬件电路解析

1. 主控单元 STM32F103C8T6

STM32F103C8T6 是本系统核心,提供 GPIO、I2C、ADC、USART 外设。

  • I2C 引脚 PB6/PB7:驱动 PCF8591 模数转换芯片;
  • I2C 引脚 PB8/PB9:驱动 OLED12864 显示屏;
  • PA14、PA15:三极管驱动水泵、蜂鸣器;
  • PA0‑PA3:4 路垃圾分类按键;
  • PA9/PA10:串口 TX/RX,用于串口调试输出。

2. 垃圾分类按键输入电路

4 个独立按键,分别对应厨余垃圾、其他垃圾、有害垃圾、可回收垃圾。 按键采用上拉电阻输入方式,按下后 IO 口拉低,单片机扫描按键识别用户投放垃圾种类,识别后在 OLED 上显示当前投放垃圾类型。

3.ADC 采集模块 PCF8591

STM32IO 口资源紧张,使用 PCF8591 I2C 转 ADC 芯片,完成两路模拟量采集:

  1. 溢满检测:电位器 RV2 模拟垃圾桶内部满桶传感器,电位器电压随桶内垃圾高度变化;
  2. 烟雾检测:电位器 RV1 模拟烟雾传感器,电位器输出电压代表烟雾浓度。

PCF8591 通过 I2C 总线 PB6 (SCL)、PB7 (SDA) 和 STM32 通信,把模拟电压转为数字量给到单片机。

4.OLED12864 显示模块

I2C 接口 OLED 屏幕,负责人机交互界面。 屏幕实时输出:投放垃圾类别、垃圾桶溢满程度、烟雾浓度数值、报警状态。方便直观查看设备当前运行状态。

5. 声光报警与执行机构

  1. 溢满指示 LED (D2):当溢满 ADC 数值超过设定阈值,D2 点亮,提示垃圾桶已满,需要清理;
  2. 烟雾指示 LED (D1):烟雾浓度超过阈值时 D1 点亮;
  3. 蜂鸣器 BUZ1:烟雾超标时,PA15 输出电平,三极管 Q1 导通,蜂鸣器响起报警;
  4. 水泵:烟雾超标触发火情模拟,PA14 输出高电平,Q2 三极管导通,水泵启动,模拟喷水灭火。

6. 串口通信模块

STM32 的 USART1(PA9‑TX,PA10‑RX)连接仿真串口终端。系统会把垃圾投放记录、溢满状态、烟雾浓度数据,通过串口打印输出,方便上位机监控、调试。

三、系统工作流程

  1. 系统上电初始化:I2C、OLED、PCF8591、串口、GPIO 全部初始化,OLED 显示初始化界面;
  2. 循环扫描 4 路分类按键,检测是否有垃圾投放操作;检测到按键按下,记录垃圾类型,OLED 更新显示;
  3. 通过 I2C 读取 PCF8591 采集溢满、烟雾两路 ADC 数值;
  4. 溢满判断:溢满 ADC 值大于阈值,溢满 LED 点亮;低于阈值熄灭;
  5. 烟雾火情判断:烟雾 ADC 数值大于阈值,烟雾 LED 亮起,蜂鸣器鸣叫,水泵开启模拟灭火;烟雾恢复正常,报警全部关闭;
  6. 将垃圾类型、溢满等级、烟雾浓度数据,刷新 OLED,同时串口输出上报;
  7. 循环回到按键扫描,持续运行。

四、核心功能说明

四类垃圾分类录入:通过物理按键模拟 4 种垃圾投放,记录投放信息; ✅ 桶满检测提醒:模拟垃圾桶溢满,LED 灯光提示,提醒清理; ✅ 烟雾火情检测与灭火:模拟检测桶内起火烟雾,声光报警 + 水泵模拟灭火; ✅ OLED 可视化显示:所有状态本地屏幕直观展示; ✅ 串口数据上报:所有运行数据输出串口,便于二次开发上位机。

五、拓展改进方向(毕设 / 项目升级参考)

  1. 实物替换:仿真电位器替换成真实红外溢满传感器、MQ‑2 烟雾传感器
  2. 自动开盖:增加舵机,实现投放垃圾自动开盖;
  3. 无线传输:增加 ESP8266/Wi‑Fi 模块,数据上传云平台,手机查看垃圾桶状态;
  4. 自动称重:增加 HX711 重量传感器,统计垃圾投放重量;
  5. 语音播报:增加语音模块,播报投放垃圾类别、满桶提醒。

六、总结

本项目基于 STM32 完成智能垃圾桶整体仿真,完整实现垃圾分类输入、环境感知、报警执行、显示、串口上报整套闭环逻辑。整个工程使用 Proteus 搭建,不需要实物硬件就可以验证全部逻辑,对 STM32 I2C 外设、ADC 采集、三极管驱动外设、按键扫描等知识点有很好的练习效果,非常适合单片机课程设计和毕业设计。

通过网盘分享的文件:仿真文件获取.zip 链接: https://pan.baidu.com/s/1V5zzxbpHc_fRqfGIzSdLfg?pwd=6666 提取码: 6666

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐