本文主要是介绍感应关盖垃圾桶项目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.功能描述
检测靠近时,垃圾桶自动开盖并伴随滴一声,2秒后关盖
发生震动时,垃圾桶自动开盖并伴随滴一声,2秒后关盖
按下按键时,垃圾桶自动开盖并伴随滴一声,2秒后关盖
2.硬件说明
SG90舵机,超声波模块,震动传感器,蜂鸣器
接线说明
舵机控制口 P1.1;超声波Trig接 P1.5 ,Echo接 P1.6 ;
蜂鸣器接 P2.0 口; 震动传感器接 P3.2`口(外部中断0)
3.开发步骤:
3.1. 舵机和超声波代码整合
舵机用定时器0
超声波用定时器1
实现物体靠近后,自动开盖,2秒后关盖
3.2. 查询的方式添加按键控制
3.3. 查询的方式添加震动控制
3.4. 使用外部中断0配合震动控制
4.烧录代码时,先检查每一个模块的功能是否完整
4.1超声波模块改为定时器1代码
#include "reg52.h"
#include <intrins.h>sbit D5 = P3^7;//
sbit D6 = P3^6;
sbit Trig = P1^5;
sbit Echo = P1^6;void Delay10us() //@11.0592MHz
{unsigned char i;i = 2;while (--i);
}void Delay200ms() //@11.0592MHz
{unsigned char i, j, k;_nop_();i = 2;j = 103;k = 147;do{do{while (--k);} while (--j);} while (--i);
}void Time1Init()
{TMOD &= 0x0F; //保持低四位不变,高四位为0TMOD |= 0x10; //低四位保持不变, 把M1和M0改为 0 1 TH1 = 0;TL1 = 0;//
}void StartHC()
{Trig = 0;Trig = 1;Delay10us();Trig = 0;
}void main()
{double time;double dis;Tim
这篇关于感应关盖垃圾桶项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!