270 [Diseño de recorrido completo] Diseño de sistema de control automático de puertas basado en 51 Microcomputadora de un solo chip-Liberación térmica-Evitación de obstáculos por infrarrojos-ULN2003

[Descarga de recursos] La dirección de descarga es la siguiente:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

51 Diseño del sistema de control automático de la puerta-liberación de calor-LED-en el lugar-evitación de obstáculos infrarrojos-BELL-ULN2003

El diseño está compuesto por un circuito de un solo chip STC89C52 + circuito de módulo piro-infrarrojo + circuito indicador LED + circuito de detección de interruptor en posición + circuito sensor de evitación de obstáculos infrarrojos + circuito de alarma de zumbador + circuito de accionamiento del motor paso a paso ULN2003 + circuito de alimentación.

1. El sensor piro-infrarrojo detecta si hay alguien y el motor paso a paso se detiene por defecto (es decir, la puerta está cerrada por defecto). Si hay una persona, el motor paso a paso gira hacia adelante (simulando la apertura de la puerta) hasta que la señal es detectada por el interruptor en posición No. 1 (la puerta se abre al máximo), el motor paso a paso se detiene. Si no se detecta a nadie de nuevo, el motor paso a paso se invierte (cierre analógico de la puerta) y el motor paso a paso se detiene cuando la señal es detectada por el interruptor en posición de 2 ha (la puerta está cerrada). Ciclo a su vez ...

2. Cuando el piro infrarrojo detecta a una persona, el LED amarillo se encenderá; de lo contrario, el LED amarillo no se encenderá.

3. Si el sensor infrarrojo para evitar obstáculos detecta un obstáculo, el zumbador emitirá una alarma; de lo contrario, el zumbador no emitirá una alarma.

4. Si se detecta a alguien durante el proceso de cierre de la puerta, en este momento, el motor paso a paso gira para abrir la puerta.

#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 ;//探头检测到报警

 

Supongo que te gusta

Origin blog.csdn.net/theroadon/article/details/109261504
Recomendado
Clasificación