270【毕设课设】基于51单片机的自动门控制系统设计-热释-红外避障-ULN2003

【资源下载】下载地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

51自动门控制系统设计-热释-LED-到位-红外避障-BELL-ULN2003

本设计由STC89C52单片机电路+热释红外模块电路+LED指示灯电路+到位开关检测电路+红外避障传感器电路+蜂鸣器报警电路+ULN2003步进电机驱动电路+电源电路组成。

1、通过热释红外传感器检测是否有人,步进电机默认停止(即默认门是关的)。如果有人,则步进电机一直正转(模拟开门),直到1号到位开关检测到信号(开门到了最大),则步进电机停转。如果再次检测到没人,则,步进电机反转(模拟关门),知道2哈到位开关检测到信号(门已关死),则步进电机停转。依次循环……

2、热释红外检测到有人时,黄色LED灯亮,否则黄灯不亮。

3、如果红外避障传感器检测到障碍物,蜂鸣器报警,否则蜂鸣器不报警。

4、如果在关门过程中,检测到有人,此时,步进电机正转开门。

#define Coil_B1 {A1=0;B1=1;C1=0;D1=0;}//B相通电,其他相断电
#define Coil_C1 {A1=0;B1=0;C1=1;D1=0;}//C相通电,其他相断电
#define Coil_D1 {A1=0;B1=0;C1=0;D1=1;}//D相通电,其他相断电
#define Coil_OFF {A1=0;B1=0;C1=0;D1=0;}//全部断电

unsigned char zfFlag = 0 ;		 //正反转标志
unsigned char guanIng = 1;//关闭过程中
unsigned long time_20ms=0;		   //定时器计数
unsigned char daoweiFlag = 2;//记录当前状态
void Init_Timer0(void);

void main (void)
{     

	Init_Timer0();        //定时器0初始化
	DelayMs(200);          //延时有助于稳定
	while (1)         //主循环
	{

		if(tanTou == 0) buzzer =0 ;//探头检测到报警

猜你喜欢

转载自blog.csdn.net/theroadon/article/details/109261504