基于单片机的智能垃圾桶设计
摘要:本文设计了一款基于STC89C52单片机的低成本智能分类垃圾桶系统。针对当前城市垃圾处理效率低、分类困难等问题,系统通过红外避障模块检测人体接近,利用红外对射管实时监测垃圾桶容量状态。当垃圾桶满载时,系统会触发声光报警并通过蓝牙模块向管理人员发送提示信息。用户可通过语音识别功能实现垃圾分类投放,由舵机控制对应垃圾桶盖自动开启。硬件设计包括单片机最小系统、红外检测模块、舵机驱动电路等核心部件,
摘要:最近几年,随着当前我国的经济不断发展,当前我国的城市化越来越高,也随着城市化的增加,使得当前人们的生活垃圾也越来越多。垃圾桶作为人们生活中的较为常见的一种环卫工具,当前正在随着垃圾分类的垃圾智能分类的到来,越来越多的垃圾桶分类也在不断被设计出来。智能分类垃圾桶的设计,在一定程度上可以减轻环卫工人的工作量及其环卫工作管理需要花费的财力和物力,智能垃圾桶的设计,对系统的管理和对其专业的要求较高。此次设计针对当前设计的垃圾桶规模大,成本高进行改进,设计实用且成本较低的垃圾桶。
此次设计的垃圾桶采用STC89C52单片机作为此次设计的主控芯片,然后配合红外对射管对垃圾桶量的检测,当监测到垃圾桶满,红色指示灯点亮,反之绿色指示灯点亮,监测到垃圾桶垃圾装满时,及时将垃圾桶的信息传输到环卫管理工作人员的手机上,用户可以通过语音对各种垃圾进行识别,并打开对应的垃圾桶盖子。此次设计通过对实物的硬件和软件进行设计,最终对实现的功能和性能进行测试,使其可以具有较高的稳定性和可靠性。
关键词:垃圾桶;声光报警;蓝牙模块;容量监测;语音识别
Intelligent garbage can based on SCM
Abstract: In recent years, along with the current economic development, the current urbanization of China is becoming more and more high, also with the increase of urbanization, making the current people's living garbage more and more. Trash can is a common sanitation tool in people's life. With the coming of intelligent garbage classification, more and more garbage can classification is also being designed. The design of intelligent classification trash can can reduce the workload of sanitation workers and the financial and material resources needed for sanitation management to a certain extent. The design of intelligent trash can has high requirements for system management and its profession. This design is aimed at the current design of the trash can large scale, high cost to improve the design of practical and low cost trash can.
The trash can use STC89C52 microcontroller as the design of the design of main control chip, and then cooperate with infrared correlation tube for detecting the amount of trash, when the monitoring to the trash can is full, the red indicator light, whereas the green light is lit, monitoring to trash can full of garbage, to transmit a bin of information in a timely manner to the sanitation management staff on the phone, Users can identify various kinds of garbage by voice and open the lid of the corresponding trash can. This design through the physical hardware and software design, the final function and performance of the implementation of the test, so that it can have a high stability and reliability.
Key words: trash can; Sound and light alarm; Bluetooth module; Capacity monitoring; Speech recognition
目 录
第1章 绪论
当前随着我国经济的不断发展,人们的生活水平大幅度提高,人们对资源的大量消耗,也导致我给国当前城市生活中的垃圾也不断增加,当前我国对垃圾的可回收利用和持续发展重视程度越来越高。
对当前垃圾的处理是每个人的责任。处理好垃圾问题,不仅仅造福我们自己,也会造福我们的后代。中国作为世界第一大国,对垃圾处理的结果好坏,对我国及其全球都具有较大的影响。当前对垃圾的处理,只有我们每个人都从自己做起,才能从源头解决这个问题。垃圾桶作为当前人们生活必不可少的生活用户产品,也作为当前关注度较高的一种工具。
垃圾桶从之前的简易的垃圾桶,最开始就是一些在户外进行使用的垃圾桶,然后进步到一些较为简易的垃圾桶,后来发展的一些脚踏垃圾桶到当前的一些可进行分类的垃圾桶,通过垃圾桶的不断改进,从中也可以看出当前我国社会在不断进步,也是人类文明的一种象征。最开始的垃圾桶,主要在垃圾桶的外观上进行设计,虽然造型较多,但是这些垃圾桶的功能较为简单,只是用来盛放用户丢弃的物品,对垃圾的识别率较低。且传统的垃圾桶需要环卫工人定时进行检测,然后对其进行搬运,但是对垃圾桶的具体量不好把控,不但会造成垃圾运输不及时,垃圾桶满的没有及时运送,而对垃圾桶没满的进行处理,垃圾桶垃圾较多,没有及时进行处理,使得垃圾桶周围经,常出现刺鼻气体及其较多的蚊虫。且进行垃圾处理的过程也较为复杂。此次设计为了解决当前垃圾桶处理速度低,设计一款成本低,可进行垃圾分类,及其及时将垃圾桶的消息发送到管理员手机中智能垃圾桶。使得垃圾可以回收利用,处理及时提高人们的生活环境。
当前国内的垃圾桶和国外的垃圾桶技术相比较,国内的垃圾桶智能化程度较低,且垃圾桶的发展和国家的经济及其国家当前的发展水平及其当前人们的素质等有很大的关系。当前我国设计的垃圾桶,虽然价格较为低廉,操控较为简单,但是存在质量较差很容易被损毁,且功能较为单一等缺点,虽然当前也存在一些较为智能的垃圾桶,如采用人体红外设计的垃圾桶,通过采用红外对管或者采用超声波检测是否有人,检测到有人,垃圾桶自动打开垃圾桶盖,等到用户放完垃圾桶后,会自动关闭垃圾桶,通过这种方式设计的垃圾桶,可以解决当前人为打开垃圾桶或者脚踩式打开垃圾桶带来的麻烦,可以减少人们触碰到垃圾、减少细菌的感染,这种垃圾桶也是当前使用较多的一款垃圾桶,一经发现就被广泛进行使用。
到2006年的时候,在美国设计了一款太阳能垃圾桶,采用太阳能设计的垃圾桶或者一些作为商业使用的垃圾桶。太阳能表面采用太阳能板进行设计,然后将检测的太阳能转换为电能进行存储,在因与天或者在夜晚时给系统进行供电,并且将太阳能点亮路灯,作为夜晚的路灯使用,或者垃圾桶的外面贴放一些广告牌,作为城市的宣传栏使用。
我国当前也设计了使用太阳那作为动能,然后对垃圾进行自动压缩处理,减少垃圾的体积。如我国的汇丰设计的垃圾桶,可以将当前的垃圾桶进行压缩,使得垃圾可以减少到原来的1/8,这款太阳能垃圾桶在没有用户仍垃圾的区间,其具有较好的封闭性,使得垃圾向周围发散的气味较小,但是这种设计主要利用在太阳光较为充足的地方。
商业广告垃圾桶,采用垃圾桶作为广告栏,采用这种垃圾桶虽然可以对商业的推广起到一定的作用,也会当前的经济起到一定的促进作用,也可以给行人提供热点或者充电口,但是这种设计其布线较为麻烦,其推广度较小,只适宜用在一些商业中。
1.3 本论文研究目标与框架
此次设计一款结构较为简单,可以自动控制垃圾桶盖的开关,可以检测垃圾桶是否装满,当检测到垃圾桶装满的情况时,垃圾桶的指示灯变红,且及时通过短信发送给环卫工人进行处理,减少环卫工人定期进行检测但是效率低的问题,用户可以语音控制不同垃圾桶盖的打开。
此次设计主要实现以下功能。
1、通过红外避障管检测垃圾桶前是否有人
2、通过红外对射管检测垃圾桶是否装满
3、通过舵机模拟垃圾桶盖的打开和关闭
4、当检测到有人且垃圾桶没满,则自动打开垃圾桶盖,3秒后自动关闭。如果垃圾桶已满,则不打开,且声光报警3次。
5、可通过按键手动打开垃圾桶盖,3秒后自动关闭
此次设计框架结构:
第一章:绪论,针对此次设计的垃圾桶,对当前垃圾桶的研究背景及其意义进行了解,对当前垃圾桶的背景和研究意义进行了解,分析当前国内和国外研究现状进行分析,得出此次设计需要实现的功能。
第二章:系统方案设计,根据第一章对此次系统功能的设计,然后进行主要器件的选型,最后根据此次选择的主要器件对此次功能的系统框图进行绘制。
第三章:硬件电路,根据第二章方案设计进行此次设计原理图的绘制,然后对主要模块在此次设计中的功能及其工作原理进行详细介绍。
第四章:软件设计,通过KEIL5进行程序的撰写,然后对此次设计的程序进行流程图的绘制。
第五章:仿真测试,对此次设计的系统进行仿真,然后对代码进行综合调试,增加系统设计的可行性,使得最终得此次设计的需求。
第六章:实物测试,对此次设计的实物进行焊接,然后对实物和代码进行综合调试,使得最终得此次设计的需求。
第2章 系统设计方案
2.1 整体设计方案
本设计以单片机为核心控制器,加上其他模块一起组成此次设计的整个系统,其中包括中控部分、输入部分和输出部分。中控部分采用了单片机控制器,其主要作用是获取输入部分的数据,经过内部处理,逻辑判断,最终控制输出部分。输入由四部分组成,第一部分是红外避障检测模块,通过该模块检测当前是否有人;第二部分是红外对射管检测模块,通过该模块检测垃圾桶是否装满;第三部分是按键模块,通过该模块可以控制垃圾桶盖子的打开;第四部分是供电模块,通过该模块可给整个系统进行供电。输出由两部分组成,第一部分是舵机模块,通过该模块控制垃圾桶盖的打开或者关闭;第二部分是报警模块,检测到垃圾桶满检测到有人进行声光报警提醒。具体系统框图如图3.1所示。

图3.1 系统框图
2.2 主要元器件选择
2.2.1 主控芯片选择
方案一:HC32L136单片机,这是出自上海的华大半导体公司最近几年研发的,是一款32位单片机,和STM32对比,在功能上和STM32单片机很相似,但是这款单片机有较低的功耗。
方案二:STC89C52单片机,是市面上一款常见的8位单片机,应用领域广阔,广泛运用于小家电,电子产品等。
分析方案一,用华大的HC32L136,处理速度相对STC89C52单片机要快,并且内存要比STC89C52单片机大很多,但该芯片参考资料不全,代码编写相对较难,并且价格上比STC89C52单片机贵很多。
分析方案二,用STC89C52为主控芯片,该芯片经过长期的技术积累和用户反馈的积累,参考资料和芯片的稳定性都要比华大的单片机要好,最主要的是考虑到成本问题,STC89C52单片机要比华大的单片机价格优惠很多,因此选用STC89C52为主控芯片。
2.2.2 电机模块方案选择
方案一:采用步进作为此次设计的电机驱动方式,使用步进电机,可以通过单片机产生不同的PWM脉冲控制步进电机转动的角度,实现用户的不同需求,且控制方式较为简单。
方案二:使用舵机作为此次设计的电机驱动方式,使用舵机也可以实现不同角度进行控制,且使用舵机进行控制速度较快。
虽然使用步进电机和舵机都可以实现此次设计,但是使用步进电机进行控制其驱动能力小,且转速也较慢,使用舵机进行控制,其控制速度较快,因此选择方案二。
2.1.3 按键模块方案选择
常见的键盘种类有两种:独立式键盘和矩阵式键盘。
方案1:独立式键盘的结构简单,但占用的资源多,独立式键盘的特点是每个按键单独占用一根10口线,每个按键的。不会影响其它I0口线的状态。其中,上拉电阻保证了按键在断开时,I/0口线有高电平。
方案2:矩阵式键盘的结构相对复杂,但占用的资源较少。矩阵式键盘是由行线和列线组成的,按键位于行、列的交叉点上,若没有按键按下,行线处于高电平状态,列线处于低电平状态;若有按键按下,按键所在的行线和列线导通,此时的行线电平由与该行线相连的列线电平来决定。
因此,当单片机应用系统中只需少数几个功能键时,可以采用独立式键盘结构;当需要较多按键时,则可以采用矩阵式键盘结构。此次设计采用的按键较少,采用独立按键作为此次设计的按键选择模块。
附录
附录1:原理图

附录2:PCB

附录3:主程序
/**********************************
包含头文件
**********************************/
#include "main.h"
#include "key.h"
#include "servo.h"
/**********************************
变量定义
**********************************/
uchar key_num = 0; //按键扫描标志位
uint time_num = 0; //10ms计时变量
bit flag_remind = 0; //是否提醒过标志位
uchar alarm_count = 0; //报警计数
bit flag_open = 0; //本次人体检测是否处理过
extern uint motor_duoji_pwm; //舵机pwm值
extern bit flag_timer_begin; //计时开始标志位
extern bit flag_3s; //定时10s完成标志位
/**********************************
函数声明
**********************************/
void Delay_function(uint x); //延时函数(ms)
void Key_function(void); //按键函数
void Manage_function(void); //处理函数
/****
******* 主函数
*****/
void main()
{
Time0_Init(); //定时器0初使化
Delay_function(50); //延时50ms
while(1)
{
Key_function(); //按键函数
Manage_function(); //处理函数
Delay_function(10); //延时10ms
time_num++; //计时变量+1
if(time_num == 5000)
{
time_num = 0;
}
}
}
/****
******* 延时 x ms函数
*****/
void Delay_function(uint x)
{
uint m,n;
for(m=x;m>0;m--)
for(n=110;n>0;n--);
}
/****
*******按键函数
*****/
void Key_function(void)
{
key_num = Chiclet_Keyboard_Scan(0); //按键扫描
if(key_num != 0) //有按键按下,垃圾没满,开盖
{
if(motor_duoji_pwm == 5 && CHECK_F == 0)
{
motor_duoji_pwm = 10;
flag_remind = 0;
}
else if(CHECK_F == 1)
{
alarm_count = 6;
}
}
}
/****
*******处理函数
*****/
void Manage_function(void)
{
if(CHECK_H == 0 && motor_duoji_pwm == 5) //检测到人且垃圾桶是关闭的
{
if(flag_open == 0)
{
flag_open = 1;
if(CHECK_F == 0) //垃圾未满,开盖
{
motor_duoji_pwm = 10;
flag_remind = 0;
}
else //垃圾已满,报警三次
{
if(flag_remind == 0)
{
flag_remind = 1;
alarm_count = 6;
}
}
}
}
else
{
flag_open = 0;
flag_remind = 0;
} //没有检测到人,开启定时器关闭
if(CHECK_H == 1 && motor_duoji_pwm == 10)
flag_timer_begin = 1;
else
flag_timer_begin = 0;
if(flag_3s == 1) //三秒到达,关盖
{
flag_timer_begin = 0;
motor_duoji_pwm = 5;
}
if(alarm_count > 0)
{
if(time_num % 20 == 0)
{
LED = ~LED;
BEEP = ~BEEP;
alarm_count--;
}
}
else
{
LED = 1;
BEEP = 1;
}
}
以上为部分内容节选,如您需要获取完整版,欢迎随时联系我们
更多推荐
所有评论(0)