ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

基于单片机的垃圾分类系统设计与实现全流程解析

基于单片机的垃圾分类系统设计与实现全流程解析 简介基于STC89C52RC单片机的垃圾分类系统设计论文是一份面向单片机、嵌入式及电子类专业学生的本科毕业设计参考资源。论文围绕智能垃圾分类识别垃圾箱控制系统展开详细阐述红外感应、金属检测、湿度检测、继电器驱动等模块的设计与实现章节涵盖绪论、系统总体设计、硬件电路设计、软件设计等完整内容。下载包内含1个doc文件大小约2.1MB便于直接阅读和编辑。目前已有172人学习下载。通过该论文读者可系统了解STC89C52RC单片机应用、RPR220红外传感器、HC-SR04超声波测距、LCD1602显示等关键器件的选型与接口设计掌握复位电路、晶振电路、传感器检测及电机控制等硬件思路并参考软件流程图完成代码编写对完成同类智能硬件类毕业设计具有较高参考价值。 开学这段时间后台私信里被问最多的题目之一就是“基于单片机的垃圾分类系统”。说实话这个题每年都有一批人做但大多数交上来的东西要么是拿红外对管糊弄一下要么是传感器采了一堆数据但根本没形成判断逻辑。这篇文章不做课设模板搬运我会从需求拆解开始讲清楚硬件选型、识别逻辑、程序框架、调试方法最后落到论文怎么写才能过盲审把整个设计流程完整串一遍。1. 垃圾分类系统的整体设计思路先别急着选型把需求拆清楚很多初学者拿到这个题目第一步就是去买单片机开发板、买传感器然后对着淘宝详情页开始接线。这是典型的本末倒置。一个完整的垃圾分拣系统核心不是“单片机”而是“怎么知道这块垃圾是什么类”单片机只是载体。所以第一步一定是把需求拆成清晰的子功能。从实际场景出发一个能演示、能答辩、能写进论文的垃圾分类系统至少需要完成四件事一是检测垃圾种类二是根据检测结果控制投放机构动作三是通过人机交互界面反馈当前状态四是把分类结果记录下来以备查询或扩展。你这四个功能再往下拆就会得到具体的硬件需求。垃圾种类检测需要传感器或传感器组合投放机构需要电机或舵机人机交互至少需要一个LCD显示屏和几个按键数据记录则可以用板上Flash或外接存储器甚至通过串口打印到上位机都算一种完成方式。这里的核心矛盾点是分类识别如何实现。绝大多数廉价方案都做不了真正的“AI视觉识别”因为摄像头模块加模型推理在51这类低端MCU上根本跑不动。所以实用做法是降低识别维度把“分类”转化为“多传感器特征融合判断”。比如可回收垃圾中的金属罐可以通过电感式接近开关或金属感应模块识别玻璃瓶和塑料瓶由于重量和透光性差异可以用重量传感器加光电传感器做初步区分厨余垃圾往往是含水量高且质量较重可以通过湿度传感器或重量阈值参与决策。这样一来系统逻辑就从“看一眼是什么垃圾”变成了“测了哪些特征特征属于哪个分类区间”。这不仅是硬件方案的降级更是论文逻辑上的合理退让——你不需要在论文里硬吹自己实现了机器视觉只要把传感器融合决策的逻辑讲清楚就已经达到本科毕设的深度要求。选型完成后系统的完整工作流程应该是这样的垃圾放入投递口触发光电传感器或红外对管产生中断信号单片机唤醒检测流程依次读取各传感器数据执行分类决策算法控制舵机或直流电机把垃圾导入对应分类仓同时LCD更新显示、蜂鸣器提示分类结果最后把记录写入存储区。整个过程有时间要求——因为你在答辩现场不可能让老师等半分钟才有结果所以单次检测流程一般要控制在2到5秒内。这部分想明白之后你会发现整个系统的技术栈其实非常明确主控、传感器、执行器、显示、电源、外壳结构六个部分而已。接下来我们逐个说。2. 硬件选型与电路设计主控、传感器、执行机构怎么搭才稳定2.1 主控芯片的选择51、STM32还是ESP32主控选型是第一个决策点。这三个选项没有绝对的好坏而是取决于你要达成的检测方式和扩展复杂度。51单片机STC89C52或STC15系列的优势是资料多、成本低、课程知识直接衔接学校实验室用得最多。它的短板也明显主频低、内存小跑不了复杂的滤波算法接了多个传感器之后IO资源和定时器会非常紧张。如果你的分类方案是“一到两个传感器加一个舵机”51完全够用但如果你计划上摄像头、触摸屏、多路舵机协同控制还是趁早换STM32。STM32F103C8T6是目前毕设中最稳妥的选项。72MHz主频、20KB RAM、64KB Flash跑一些简单的数字滤波和决策逻辑搓绰有余外设资源也很丰富。关键是价格已经降到不到十块钱一块开发资料和参考代码比51还多Linux环境下用STM32CubeMX加HAL库开发也很快。ESP32的优势在于自带Wi-Fi和蓝牙如果你想在毕设里加“云端数据上传”或“微信小程序远程查看分类记录”这类加分项那ESP32是唯一选择。代价是ADC精度一般某些引脚的模拟输入有跳动需要额外滤波。另外它的3.3V逻辑电平需要在舵机信号线上注意电压匹配。我的建议很明确如果老师没有硬性要求选STM32F103C8T6软硬都够用答辩也有得聊。如果题目明确写了“51单片机”字样那就用STC15W4K系列比老款89C52多一路ADC和增强型PWM写代码时舒服非常多。2.2 传感器的组合用最低成本逼近可靠识别传感器选型的核心原则是用最简单可靠的特征区分出最常见的垃圾类型。下面是市面上比较成熟的特征检测方案每种都有明确的硬件支撑。金属垃圾易拉罐、金属瓶盖用电感式接近开关LJ12A3-4-Z/BX。这种传感器能通过电磁感应检测金属物检测距离4mmNPN常开输出直接接IO和GND不需要额外放大电路。垃圾放上检测台之后金属罐会让输出电平翻转这个信号非常干净基本不需要软件滤波。玻璃和非金属的区分用红外对管和光敏电阻的组合。玻璃透光性强而塑料、纸类不透光或透光率很低这中间有个明显的光强差。你需要做一个小暗箱内部放一个固定光源高亮LED对侧放光敏电阻或光电二极管。放上玻璃瓶身时接收端光强明显高于塑料瓶通过ADC读电压值即可判别。含水率厨余垃圾特征用土壤湿度传感器或自制两电极探针。厨余垃圾水分含量普遍高于干燥的可回收垃圾用电导率差异来判别是一个成本极低且有效的方案。电极可以是两个不锈钢螺钉间距固定通过分压电路读ADC值。这里要注意电极不要裸露太长否则垃圾里的金属碎片接触会导致误判。重量辅助判断用悬臂梁式压力传感器加HX711。HX711是24位高精度ADC芯片专门用于称重。它的SPI通信方式简单代码量极少数据稳定。金属罐和塑料瓶虽然都是轻量级但同体积下金属重量明显占优把重量作为一个加权因子参与决策能显著提高准确率。传感器数量控制在4个以内是性价比最优区间。超过4个之后安装结构、电源稳定性和程序复杂度都会非线性上升反而不利于项目顺利落地。2.3 执行机构与电机驱动舵机角度控制与扭矩校核分类投放的执行机构90%的毕设都选用SG90微型舵机。这个舵机价格便宜几块钱一个、控制简单50Hz PWM、0到180度对应0.5ms到2.5ms脉宽、扭矩约1.8kg·cm驱动一个轻质的塑料翻板或导流槽完全没有问题。选舵机时有一个常见误区只看角度控制不看扭矩。如果你的垃圾投递仓入口较大垃圾从高处落下的时候会直接砸在翻板上产生的冲击力远大于静态重力。SG90在这种情况下会出现堵转丢步的问题。解决办法有两种一是在翻板前加一段缓冲斜坡让垃圾滑落而不是自由落体二是干脆换MG996R金属舵机扭矩直接翻几倍10kg·cm级别怎么砸都不怕。代价是MG996R重量大、待机电流高如果整套系统用USB供电可能会带不动需要专门的5V/3A电源模块。舵机的电源是整个系统里最容易埋雷的地方。舵机启动瞬间电流可达1A如果和单片机共用同一个LDO稳压输出瞬间压降会让单片机直接复位。正确做法是分开供电单片机用AMS1117-3.3稳压给如果是5V系统就不需要LDO直接从5V总线取舵机直接接5V电源输入端电源入口处加一个大容量的铝电解电容1000uF以上吸收瞬态电流。2.4 最小系统与外围电路几个容易翻车的细节单片机最小系统、下载电路这些基础内容我就不展开抄书了但有几个实际焊接和调试中经常翻车的小细节值得单独提一下。复位电路里的10uF电解电容如果你用的是贴片封装方向焊接反了不会立即烧毁但复位时序会变得非常不稳定表现为上电后程序有时候跑有时候不跑。这个故障排查起来极其痛苦所以焊接前一定要看丝印方向。晶振的负载电容不是随便选12MHz晶振通常配22pF或30pF瓷片电容装在晶振引脚旁边越近越好避免走线过长产生寄生电容导致起振困难。如果程序下载后不运行先量晶振引脚有没有波形这一步能排查掉一半的“单片机坏了”假象。4.7kΩ到10kΩ的上拉电阻在I²C总线、按键输入、复位引脚上都是标配但很多人会忽略下载引脚的上拉状态。使用STC单片机的用户尤其要注意P3.0和P3.1在下载时必须保持空闲状态如果你在P3.0上外接了一个下拉电阻下载会反复失败很多人的第一反应是换USB转TTL模块折腾一晚上实际上问题就出在这个下拉电阻上。至于“4*4键盘到底用不用上拉电阻”这里多说一句标准51单片机的P1口内部没有上拉电阻必须外部加上拉否则读到的按键永远是高电平而STM32的GPIO可以配置内部上拉外部可以不接。如果你是STC15系列部分IO口内部有弱上拉但为了稳定建议还是接上反正一颗电阻几分钱没必要在启动状态上省这个成本。3. 识别逻辑与算法落地从传感器数据到分类结果3.1 多传感器数据的优先级决策逻辑硬件装好之后最难的是软件层的判断逻辑。很多人的第一版程序喜欢把所有传感器数据做加权打分然后按总分区间划分垃圾类别。这个思路看似合理实际上在实际调试中会遇到一个问题各传感器的量纲不同权值要靠拍脑袋调而且极易出现“金属罐因为重量轻被误判为塑料”的尴尬场景。更稳妥的思路是分级决策先做硬性判断再做模糊判断。决策树的优先级从高到低排列判断条件简单直接第一层是金属检测。电感式接近开关输出只有0和1两种状态不需要阈值调参只要有信号就判定为金属类直接结束流程。这一层是规则硬编码不会误判。第二层是含水率判断。如果金属层没触发继续测湿度探针的ADC值。厨余垃圾因为含水率高ADC读数会明显偏高设定一个阈值后可以抓出大部分厨余垃圾。这里需要针对实际垃圾样本做标定先测干燥纸张、塑料瓶、易拉罐的湿度基线和厨余剩菜的湿度值取中间值作为阈值边界。第三层是透光率判断。如果湿度不达标继续用光敏电阻测透光。玻璃透光率远高于塑料和不透明的纸设定一个光强阈值后再分一层。注意玻璃瓶如果有颜色绿色、棕色透光率会比无色玻璃低不少所以标定时至少要测三种不同颜色的玻璃瓶把阈值的置信区间设置得宽一些。最后一层是重量辅助。当前三层都没法确认时用HX711读取重量值设置一个比较保守的区间比如超过30g且不满足前几层的特征归入“其他/可回收”仓否则记入“其他垃圾”仓。这种“硬判断优先软判断兜底”的层级决策逻辑最大的优点是每一层的输出都有明确的物理意义答辩时老师问“为什么这样判断”你可以直接回答金属特征是最显著的、不受光照影响的信号所以优先级最高湿度是厨余的强相关特征但新鲜度不同数值波动大所以放在第二优先级透光率适合区分玻璃但要考虑颜色干扰重量只作为兜底特征防止漏判。这个回答比“我用KNN训练了一个模型”真实得多也经得起推敲。3.2 ADC采集的去抖和数字滤波单片机的ADC裸采数据通常都有抖动直接拿单次采样结果做阈值判断很容易出现同一种垃圾放三次、三次结果都不一样的情况。做基础的软件滤波是必要的具体可以用“中值滤波滑动平均”的组合。中值滤波用于剔除野值。连续采样5次排序后取中间值这样可以滤掉偶尔的毛刺。对于湿度传感器这类变化缓慢的信号在5次中值之后再连续做3次滑动平均结果就会稳定很多。代价是检测时间会稍微变长但一次检测流程在2秒到3秒以内完全不影响体验。代码结构上把滤波封装成一个独立函数输入是ADC通道号输出是滤波后的ADC值方便在不同传感器上复用。不要每个传感器各写一份采集代码后面调参维护的时候你会后悔的。3.3 舵机控制的PWM参数与动作时机舵机控制是执行层的核心。SG90和MG996R都使用50Hz的PWM波对应周期20ms脉宽0.5ms到2.5ms对应0度到180度。如果你用的是STM32的定时器输出PWM几个关键参数要设置正确预分频器根据主频和定时器时钟算出50Hz频率比较寄存器值对应目标脉宽。这里有一个初学者爱踩的坑把PWM频率设成200Hz或更高导致舵机疯狂抖动啸叫。舵机内部有一个基准电路期望的信号就是50Hz如果你给了不正常频率它会持续尝试追目标位置而无法稳定表现出来的就是“吱吱”声加高频抖动。检查的时候用逻辑分析仪或示波器看PWM波形频率不是用耳朵听。另外一个坑是舵机复位时的位置。舵机上电瞬间会主动转到程序中初始化的角度如果这时翻板不在初始位置会有一个猛烈的甩动动作垃圾还没放就被甩走了。解决办法是上电检测流程里加一个“回正动作”延时——主控启动后先把舵机转到初始位置等500毫秒让舵机运动完全停止后再点亮“就绪”指示灯。4. 程序框架与代码结构裸机多任务调度的实用写法4.1 状态机设计把一次垃圾分类拆成有限状态“一次性分类流程”这种事用状态机来设计会让代码逻辑清晰非常多。我建议把整个流程定义成几个明确的状态空闲态、等待投放态、传感器采样态、决策计算态、执行动作态、数据记录态、故障告警态。状态机在代码里不需要上RTOS用一个枚举变量加一个主循环的switch就能搞定。每个状态执行完自己的逻辑后把状态变量切换到下一个状态。这样做的好处一是逻辑清晰二是调试时你可以在任意状态下打印当前状态编号串口输出日志方便快速定位卡在哪个环节。比如当红外对管触发后状态从等待投放切到传感器采样态。采样态的代码里依次执行湿度、重量、光敏、金属四个通道的读取与滤波然后把结果存入一个全局结构体变量。决策计算态读取这个结构体走决策树逻辑把结果写入舵机执行状态。舵机执行完成后延时几百毫秒等舵机到位后再切换到数据记录和回空闲态。这个流程最忌讳的是用一个超长的顺序函数从头执行到尾。你以为这样省事结果传感器某个环节在等待ADC时卡住整个系统就死在那里没有任何恢复能力。状态机配合超时看门狗一旦某个状态卡住超过设定时间比如5秒强制复位回空闲态并报警系统的鲁棒性会好很多。4.2 定时器资源的合理分配显示刷新与检测互不干扰51单片机和STM32的定时器资源都有限合理安排定时器是重要一环。以STM32F103C8T6为例它有TIM1到TIM4一共四个定时器我建议这样分TIM1或TIM2用于舵机PWM产生TIM3用做系统时基产生一个1毫秒的软件时钟用于蜂鸣器鸣响、LED闪烁、舵机动作延时等逻辑TIM4预留给HX711或未来扩展功能。LCD和数码管显示不要放在主循环里死等刷新。使用定时器中断里做一个10毫秒刷新标志主循环检测到这个标志后再去刷新显示内容。这样显示刷新不会阻塞舵机和传感器流程同时避免主循环跑得太快导致屏幕闪烁。中断服务函数里面只做标志位置位和计数器累加绝对不要在中断里执行显示刷新、传感器读取、数据处理这类耗时操作。这条规则能帮你避免一系列难以排查的“程序偶尔跑飞”问题。4.3 代码结构上的三个组织建议第一个建议是把所有硬件驱动封装成独立的模块。例如metal.c、moisture.c、loadcell.c、servo.c、display.c每个模块提供初始化函数和读取/控制函数。主程序只关心逻辑调度不直接用GPIO寄存器操作。这样后期换传感器型号时只需要改驱动层主逻辑完全不用动。第二个建议是善用条件编译做调试信息和实际运行的切换。开发阶段用#define DEBUG_ENABLE把各个传感器的原始数据通过串口打印出来方便标定阈值判断逻辑调整好之后关掉这个宏程序跑起来不会因为串口输出拖慢流程。第三个建议是注意全局变量的使用边界。传感器数据全局结构体可以定义为全局但各个子模块内部的状态变量尽量用static局部变量避免不同模块间无意串扰。尤其是舵机的状态字段不要被数据显示模块误读写这类Bug在答辩前夜最难熬。5. 调试过程复盘传感器误判、舵机抖动、单片机复位的三座大山5.1 传感器误判的标定流程传感器标定是整个项目里最花时间也更考验耐心的环节。我自己的标定流程是这样的先把LCD或串口设置为实时显示各通道的原始ADC值然后每种垃圾样本分别测试十次记录数据范围。以湿度探针为例干燥的塑料瓶ADC读数大概在3000左右12位ADC湿润的菜叶在1200左右熟米饭甚至能到800以下。把样本数据做成一张Excel表计算每组数据的平均值和波动范围然后取中间值做阈值。这里面比较关键的是阈值要有滞回带也就是进入阈值和退出阈值用两个不同数值防止垃圾在判断临界点时来回跳动。如果只用一个单阈值你会在调试时碰见一种很尴尬的场景同一块西瓜皮放进去判定为厨余垃圾拿出来晃一晃再放进去变成了可回收垃圾。加了滞回带之后这种抖动基本上就消失了。5.2 舵机抖动和丢步的处理舵机抖动的原因前面提了频率问题这里说另一个高频原因电源纹波。舵机在快速转动时拉低电源电压如果控制芯片的ADC参考电压不够稳传感器读数会跟着波动反过来影响分类结果形成恶劣循环。处理方案有三个层次第一层是硬件上在舵机电源端并联一个大容量电容第二层是让传感器检测和舵机动作在时间上完全错开——先完成所有采样和决策舵机再动作不要在舵机转动过程中采样第三层是在ADC采集中加延迟等待模拟信号稳定后再转换。这三层一起实施基本能消除绝大多数偶发的误判。如果舵机执行过程中出现了卡滞比如垃圾卡在翻板边缘程序层面要加一个动作超时检查确认舵机是否在预期时间内到达目标角度。最直接的方式是用舵机反馈引脚或加一个限位开关但低成本方案下你可以简化处理执行完动作后延时等待舵机堵转电流消退然后继续流程。这个方案不完美但对毕设场景够用。5.3 单片机频繁复位的排查路径上电运行一段时间后自动重启或者舵机一动作就重启这种问题十有八九出在电源上。排查时先用万用表测舵机启动瞬间的电源电压如果掉压超过200毫伏且单片机的VDD引脚跟着一起掉就说明出现了电源链路共用问题。快速修复方案是给系统换一个功率余量充足的电源适配器然后从电源入口用一个较粗的导线直连舵机电源引脚不要经过杜邦线转接或者面包板弹片。面包板的接触电阻在正常工作时无所谓但在舵机启动大电流下会产生可观的压降并且随着插拔次数增加接触会越来越差这是很多实验现场诡异故障的真正来源。另外还有一个容易忽略的复位源是看门狗。如果你在调试中开了IWDG而程序在某个阻塞等待循环里停留过久没喂狗会导致单片机周期性复位看起来就是“跑一会儿重启”。调试阶段建议先禁用看门狗所有功能调通以后再打开。6. 从工程到论文毕设设计文档的结构与写法工程做完只完成了一半另一半是把工程转化为论文。这部分是很多同学的弱项实际上论文写作有成熟套路关键是逻辑结构要清晰、图表规范、代码呈现得当。6.1 论文主体框架与每个章节的写作重点摘要部分直接写清楚系统用了什么主控、什么传感器、达到什么效果不需要多抒情两三句话讲完。关键词选“单片机”“传感器”“垃圾分类”“自动控制”这个方向方便检索。第一章绪论里研究背景可以写城市垃圾产量增长、国家推行垃圾分类制度然后自然引出自动化分类的现实需求。国内外研究现状部分不要堆砌专有名词重点写“现有分类手段人工、大型分拣线存在的问题”以及“小型化、低成本方案的缺失”最后明确指出本课题的意义。第二章系统总体设计画一张系统总体框图从传感器模块、主控模块、执行机构模块、人机交互模块四个维度拆分并说明各模块之间的数据流方向。这章不要太厚核心是把架构讲清楚。第三章硬件设计是这个项目的重头戏。要分别展开主控最小系统电路、传感器检测电路、电机驱动电路、电源电路四部分。每部分配原理图、PCB图并解释关键元器件的选型原因和参数计算过程。例如舵机驱动电路里的电容容量选择可以写成“根据舵机堵转电流约1A、电压跌落控制在100mV以内所需的电容容值约为C I × t / ΔV……”有这个计算过程老师会觉得你确实吃透了电路。第四章软件设计画出系统主流程图和每个功能模块的子流程图配合核心代码片段。流程图用Visio画不要用Photoshop手抠注意保持箭头规范和文字大小统一。第五章系统调试与分析是拉开差距的关键。不要只写“测试结果良好达到设计要求”要按“测试环境—测试方法—测试结果—问题分析—改进措施”的格式分别写每个功能的调试过程。比如湿度传感器标定表格里展示5种样本的实测ADC值舵机动作时间测试记录里展示从传感器触发到翻板到位耗时多少毫秒这些具体数据才是论文的“干货”。第六章总结与展望不超过两页总结写系统实现了哪些功能、性能指标如何展望部分写哪些功能因为时间原因没做比如视觉识别、远程监控这些都可以作为后续工作的自然展望。6.2 论文中的数据呈现和图表规范论文里所有图表必须有编号和标题图题在图片下方居中表题在表格上方居中。图里的中文用宋体或黑体不要用花哨的艺术字。截图里的坐标轴要含单位不能在图上留大片空白如果没有数据点覆盖的范围就直接把坐标轴截断图会显得专业很多。测试数据表要记录多次测量的平均值、最大值和最小值让人看出数据的稳定性而不只是一个孤零零的数字。表格的线用三线表即顶线、底线和栏目线这是学术规范中最基本的要求。论文代码以关键片段为主不要整页贴代码。每一段代码后面配合解释其功能说明这样写的理由。大段的驱动代码放入附录主体部分保持阅读流畅。6.3 答辩前准备和常见问题应对答辩时间通常只有五到十分钟所以要对系统演示路径保持熟悉。演示时先展示系统整体结构然后展示分类流程让评委直观看到“垃圾被识别并投放到对应仓位”。演示用的是干净样本提前把样本表面的水渍擦干避免湿度传感器读数异常导致误判这种尴尬场面每年都有不少先例。准备好从原理层面回答几个比较常被问到的问题算是答辩的一个提前准备“如果两种传感器数据冲突你的系统如何决策”回答思路是系统有决策优先级金属特征优先级最高其次是湿度、透光、重量。请你描述一下冲突处理逻辑并举例说明同时点出这个策略在哪些场景下会失效。“你的系统为什么不用图像识别”回答思路是图像识别对主控算力要求高成本高硬件不是系统的主要约束反而传感器组合可以在低功耗低成本的条件下完成初步分类。如果后续升级主控可以保留当前传感器方案作为辅助判断。“你的系统在城市和农村环境下有何区别”回答思路是一方面农村垃圾成分更复杂湿度、泥沙的干扰对传感器阈值有较大影响需要重新标定另一方面农村垃圾处理量小小型化分布式方案比集中分拣更切实际。把这些问题提前想透答辩时你的状态会完全不一样评委问什么你都接得住这比临时翻论文从容很多。7. 经验补充硬件焊接、电源管理和外壳设计的几个实用建议最后补充几条从实践中总结出来的细节经验不算核心内容但很能影响项目做起来顺不顺手。焊接方面洞洞板焊接前先用笔在板上标好每个模块的安装区域按电源线—地线—信号线的顺序走线尽量让地线粗一些。如果你的信号线在洞洞板上交叉严重宁可多飞几根线也不要强行挤在一起否则后期排查短路会非常痛苦。杜邦线只用于模块间的临时连接如果是最终定型作品建议用排针加短路帽或直接焊接接触不良是许多灵异现象的源头。电源管理方面推荐USB供电加一个电源开关方便演示时快速断电。通道中加一颗自恢复保险丝防止误接正负极时烧掉整个系统。不要直接用充电宝供电部分充电宝低电流时会自动关闭输出导致系统断电要选支持小电流输出的充电宝或直接用5V开关电源适配器。外壳设计方面你可以用3D打印做一个简单的分拣箱体内部用亚克力板或硬纸板做分隔。箱体的投递口开在上方传感器区和翻板区做成分离空间防止垃圾在检测区卡住翻板。外表面贴上标签标明每个仓位的垃圾类别演示时导向性更好也在视觉上显得更完整。这个系统做完之后你收获的不止是一篇论文和一个能跑的小盒子。你会真正理解一套嵌入式系统从需求拆分到方案选型再到软硬件联调的全过程这个过程里的每个坑都是下次再做项目时别人抢不走的经验。如果你在做的过程中遇到了具体的报错或者奇怪现象欢迎带着现场的照片和数据来交流我可以帮你一起定位问题。本文还有配套的精品资源点击获取
返回列表