基于单片机控制的新型自动垃圾桶设计
摘 要:垃圾桶是日常生活中必不可少。无论在家庭还是公共场合垃圾桶都发挥着洁净生活、方便生活的作用。现在市场上流通的垃圾桶,都是传统的垃圾桶,在日常生活中暴露出了诸多不便。在c8051f020单片机的基础上,开发此智能控制系统。编程语言采用广泛使用的c语言。控制系统操作简单,配合垃圾桶的机械装置,并控制机械装置,达到自动感应打开垃圾桶盖和自动将垃圾桶打包的功能。
关键词: 工业技术;控制系统;智能垃圾桶;单片机;电动封口 中图分类号:ts976.9;ts04;tm925.39 1 引 言
在智能化改变生活的今天,日常生活中的垃圾桶已经显示出了其不足。垃圾桶的智能化趋势随着科技的发展已经势不可挡。本设计基于c8051f020型号单片机,并经过实物制作,进行多次试验证明了其可行性。此垃圾桶将巧妙、实用的机械构造和单片机的电气智能化结合在一起,不用手、脚开桶盖,也不用手打包垃圾,充分了人的身体,让人们远离垃圾中滋生的细菌,和垃圾、细菌保持距离。让生活更加洁净,提高生活品质。经实用证明此设计方便、卫生,性能可靠,从而有效预防接触性感染。通过机械结构装置实施智能动作。硬件系统由检测信号装置、控制系统电路、和实施机构三大部分组成。检测信号装置包括按键检测和红外感应检测,主要感知用户的需求和命令,用以下一步的分析和处理;控制系统电路
将用户的需求和命令信号加以处理,而后传送到执行机构;执行机构是利用直流电动机将电信号转变为机械动作,实现最终效果。本文主要对此智能垃圾桶的电路和程序设计进行阐述和说明。 2 控制系统
新型多功能自动垃圾桶的智能控制系统基于c8051f020单片机。输入信号是红外感应模块hc-sr501。当有人进入hc-sr501感应范围其输入高电平,人离开感应范围则关闭高电平,输出低电平。c8051f020检测hc-sr501的信号,输出信号控制开盖电动机m4,实现垃圾桶的自动开盖。其他是输入信号通过按钮实现,c8051f020输出信号到执行电路,实现一键封口和顶出垃圾的功能。 封口信号目前由按键进行检测,当检测到按键信号时,控制封口电动机m1运转指定时间,此时封口完成并为下一次封口做准备。 提取垃圾操作由红外感应和按键同时检测,分析信号后控制顶出电动机m2、m3运转,并等到人离开后自动复位。 3 电路部分
电路电路图如图2。c8051f020的p0检测信号输入。单片机端口p0.0、p0.1、p0.2、p0.3、p0.4分别检测k1、k2、k3、k4、k5的状态。p0.5检测红外感应器hc-sr501的输出信号。
电动机m1、m2、m3用l298n进行驱动,电动机m4用uln2003驱动。单片机端口p1.0~p1.5通过输出信号到l298n分别控制电动机m1、m2、m3的正转、反转和停转以及运转时间。开盖装置由于使用凸轮,故电动机m4无需反转。单片机端口p1.6通过输出信号到uln2003
控制电动机m4的正转和停转以及运转时间。 4 程序
c语言程序如下:
#include “c8051f020.h”
// peripheral specific initialization functions, // called from the init_device() function sbit k1=p0 ; sbit k2=p0 ; sbit k3=p0 ; sbit k4=p0 ; sbit k5=p0 ; sbit sr501=p0 ; sbit ena=p1 ; sbit enb=p1 ; sbit in1=p1 ; sbit in2=p1 ; sbit in3=p1 ; sbit in4=p1 ; sbit uln1=p1 ; sbit uln2=p1 ; sbit led1=p2 ; sbit led2=p2 ;
void port_io_init() {
xbr2 = 0x40; }
void oscillator_init() {
int i = 0; oscxcn = 0x77;
for (i = 0; i void k1_1(void) { ena=1; in1=1; in2=0; delay(2000); ena=0;
led1=1; //已打包指示灯亮 }//k1闭合时,电动机m1正向转动 void k1_2(void) { ena=1; in1=0; in2=1;
delay(30000); ena=0; }//电动机1复位 void k2_1(void) { enb=1; in3=1; in4=0; delay(1050); enb=0;
delay(10000); //顶出后停顿10s enb=1; in3=0; in4=1;
delay(1050);//电动机m2、m3复位 led1=0; //已打包指示灯灭 }
void sr501_1(void) { uln1=1; delay(5250); uln1=0; }
unsigned int i; void main() {
wdtcn=0xde;
wdtcn=0xad; //禁止看门狗定时器 init_device(); i=15;
p0=0xdf; //置p0为输入方式 while(1) {
if(p0!=0xdf) {
delay(10); }
else continue; if(k1==0) { k1_1(); i--; }
if(i==0) {
led2=1; k1_2(); }
if(k2==0) { k2_1(); }
if(k3==0) { i=15; led2=0; }
if(sr501==1) {
sr501_1(); } } } 5 结论
基于c8051f020单片机设计的自动垃圾桶智能控制系统,在提供智能化的服务同时,将用户操作过程简化,方便用户使用,适合多种场合。用户无需亲自动手开盖即可扔垃圾,无需亲自打包,无需提
出,自动顶出,有良好的市场前进和应用价值。 参考文献:
[1] 胡乾斌. 单片微型计算机原理与应用[m] ..武汉:华中科技大学出版社,2006.
[2]倪晓军. 单片机原理与接口技术教程[m] . 北京:清华大学出版社,2009.