当前位置: 首页 > news >正文

用STC89C52单片机+红外传感器,我花50块DIY了一个自动感应垃圾桶(附Proteus仿真和Keil源码)

50元打造智能感应垃圾桶:STC89C52+红外传感器的实战指南

1. 项目构思与材料准备

去年夏天,厨房里的异味问题让我头疼不已——每次掀开垃圾桶盖都像在拆解一个生化武器。作为电子爱好者,我决定用最廉价的方案解决这个问题。经过多次迭代,最终用STC89C52单片机和红外传感器实现了总成本50元以内的自动感应垃圾桶。

核心材料清单

元器件型号/参数单价(元)采购渠道
单片机STC89C52RC6.8淘宝立创商城
红外传感器E18-D80NK3.5拼多多电子配件店
舵机SG904.2闲鱼二手件
洞洞板5x7cm1.2本地电子市场
杜邦线20cm*100.8淘宝包邮套餐
电源模块AMS1117-5V2.5淘宝拆机件

提示:E18-D80NK传感器建议选择可调距离版本(带蓝色电位器),实际检测距离可控制在10-30cm范围,避免误触发。

在材料采购阶段有几个实用技巧:

  1. 单片机选择STC89C52而非AT89C51,不仅因为价格便宜近40%,更因其支持USB-TTL直接烧录,省去专用编程器
  2. 舵机驱动盖板时,实测SG90扭矩足够(1.6kg·cm),但需注意安装角度限制
  3. 电源模块用旧手机充电器改造最经济,但需确保5V输出稳定

2. 硬件搭建与电路设计

电路核心采用模块化设计思路,分为三个功能单元:

2.1 检测单元电路

// 红外传感器接线示意 VCC —— 5V GND —— GND OUT —— P3.2(INT0)

采用中断方式检测人体接近信号,当传感器输出低电平时触发外部中断0。实际调试中发现,传感器最好倾斜15度安装,避免地面反射干扰。

2.2 驱动单元配置

// SG90舵机控制参数 0度 —— 0.5ms高电平 90度 —— 1.5ms高电平 180度 —— 2.5ms高电平

通过定时器0产生PWM信号控制舵机转动。实测发现垃圾桶盖只需90度行程即可完全打开,因此将转动范围限制在0-90度。

电源滤波电路特别设计

  • 在AMS1117输入端增加470μF电解电容
  • 输出端并联104瓷片电容
  • 舵机电源单独走线并加100μF电容

注意:舵机启动瞬间电流可达500mA,必须与单片机电源分离,否则会导致单片机复位。

3. 软件开发与Proteus仿真

采用Keil C51开发环境,程序架构包含三个关键模块:

3.1 主控制逻辑

void main() { Timer0_Init(); // 初始化PWM定时器 EX0_Init(); // 配置外部中断 while(1) { if(flag_full) Alarm_Handle(); // 满桶报警处理 DelayMs(10); } }

3.2 中断服务程序

void EX0_IRQHandler() interrupt 0 { if(!IR_IN) { // 检测到人体 Open_Cover(); // 开盖动作 delay_2s(); // 保持开启 Close_Cover(); // 关闭动作 } }

在Proteus中搭建仿真模型时,需要特别注意:

  1. 红外传感器用逻辑电平发生器模拟
  2. 舵机负载添加10kΩ等效电阻
  3. 电源网络添加10mV纹波干扰

仿真测试要点:

  • 验证中断响应时间(应<100μs)
  • 检测PWM信号占空比精度
  • 模拟电源波动时的系统稳定性

4. 组装调试与优化技巧

机械结构方面有几个实用经验:

  1. 用3M胶固定传感器,比螺丝安装更便捷
  2. 舵机与盖板连接采用尼龙扎带,避免金属疲劳
  3. 在转轴处涂抹润滑脂减少噪音

常见问题排查表

现象可能原因解决方案
盖板开启不顺畅舵机扭矩不足减小盖板重量或换MG995舵机
频繁误触发红外传感器灵敏度太高调节蓝色电位器降低灵敏度
系统偶尔复位电源电流不足更换2A以上电源适配器
开盖后不自动关闭中断信号持续触发增加10μF电容滤波

最终成品实测功耗:

  • 待机状态:8mA
  • 舵机动作时:120mA
  • 报警状态:25mA

使用2000mAh的充电宝可连续工作约2周时间。这个项目最让我惊喜的是,通过精心选型和优化,用极低成本就实现了商业产品80%的功能,而且所有代码和电路都完全开源可控。

http://www.jsqmd.com/news/849082/

相关文章:

  • 零基础学网安先来看这个,能帮你少走很多弯路!
  • 聚焦经营分析核心指标,构建闭环体系,《经营分析指标体系指南》:是什么、怎么做 、案例、经营分析指标清单及关键路径····
  • 坐拥 300 万人才缺口,计算机王牌专业薪资爆棚
  • [题材选股] 商业航天、人形机器人双主线高位震荡,低位氟化工、光伏迎补涨机会!股票量化分析工具QTYX-V3.4.8
  • 机器学习中的特征工程:如何提取有效的特征
  • 《龙虾OpenClaw系列:从嵌入式裸机到芯片级系统深度实战60课》060、未来趋势与芯片设计者的思考
  • LinkSwift网盘直链助手:让你的下载体验更简单高效
  • Obsidian 零门槛免费同步方案:坚果云 Nutstore Sync 深度实测(附隐藏内置 AI 教程)
  • XUnity.AutoTranslator终极指南:让外语Unity游戏瞬间变中文的免费神器
  • 我给Postman配了个AI助手,管理API效率直接起飞
  • 有老铁要的Label3D来了!支持描边、阴影、滤镜高级效果
  • 从滑动变阻器到真实传感器:STM32CubeMX ADC单通道采集光照/温度实战(附校准技巧)
  • Ubuntu 下 P106-100 矿卡 `nvidia-smi No devices were found` 问题解决全过程
  • 挑选专业语音工具不会选?这5个实用标准帮到你
  • 2026年知名的V8滑轨自动化厂家选择推荐 - 行业平台推荐
  • C166架构_testclear_函数原理与应用解析
  • 别再傻傻分不清!一张图搞懂RS232、RS422、RS485在工控现场怎么选(附接线图)
  • 如何免费制作专业级英雄联盟高光视频:League Director完整教程
  • AI工程师的薪资正在两极分化
  • 会议纪要整理不清?如何将会议成果转化为可落地任务
  • Oracle SQL 十道经典练习题(附完整代码 + 解题思路)
  • 科研抢发期必看:Perplexity图书推荐查询速效组合技——3分钟生成带引用格式的跨学科书单
  • STM32CubeMX驱动EC11编码器:避开HAL库中断回调的坑,直接在IRQHandler里写(附完整代码)
  • 《CVPR2025-DEIM创新改进项目实战:从原理到部署的深度学习优化全攻略》003、DEIM与传统Transformer/CNN架构的对比分析
  • CodeWave项目导出实战:从云端到本地的完整避坑指南(含数据库配置与端口冲突解决)
  • NIC-400周期模型构建失败分析与解决方案
  • 基于STM32的智能粮仓监控系统:硬件选型、软件架构与物联网实践
  • 快速免费解密网易云音乐NCM格式:终极播放自由指南
  • 从iPhone的人脸识别到工业质检:一文看懂双目结构光3D技术到底怎么用
  • 调试嵌入式代码时,如何像侦探一样‘追踪’BCC和BNE的跳转逻辑?