224 【Diseño de recorrido completo】 Diseño de bote de basura inteligente basado en 51 evasión de obstáculos por infrarrojos de computadora de un solo chip

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

51 diseño de bote de basura inteligente-infrarrojos para evitar obstáculos-alternar-relé-par de infrarrojos tubo-wt588d-fotosensible-LED

Este diseño consta de circuito de un solo chip STC89C52 + circuito de interruptor de palanca + sensor de evitación de obstáculos por infrarrojos + circuito de relé + circuito de tubo de par de infrarrojos + circuito de módulo de voz WT588D + circuito de fotoresistor + circuito de lámpara LED + circuito de fuente de alimentación.

1. Seleccione el modo de trabajo girando el interruptor. Gire el interruptor de palanca 1 hacia arriba para el modo automático y hacia abajo para el modo manual.

2. Modo manual: Gire el interruptor de palanca 2 hacia arriba, el relé se cierra, marque hacia abajo y el relé se abre.

3. Modo automático: el sensor de infrarrojos para evitar obstáculos detecta el obstáculo, el relé se cierra, el sensor de infrarrojos para evitar obstáculos detecta el obstáculo 1 no detecta el obstáculo, el relé se abre.

4. Si el tubo del par de infrarrojos detecta un obstáculo, el módulo de voz WT588D le indicará por voz que el bote de basura está lleno. De lo contrario, el módulo de voz no transmite ninguna información.

5. La luz está apagada durante el día, pero está encendida durante la noche.

#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#include<stdio.h>
#include "delay.h"

sbit led=P1^0; //定义引脚值
sbit ligh=P1^1;
sbit yuyin=P1^2;
sbit relay=P1^3;
sbit duiguan =P1^4;
sbit hot=P1^5;
sbit sw_mode = P1^6;
sbit sw_kgsw= P1^7;

void Init_Timer0(void);		 //函数声明
void SendStr(unsigned char *s,unsigned char length);
void UART_Init(void);
void SendByte(unsigned char dat);

unsigned long time_20ms=0;	  	//定时器定时
unsigned int yyLater  = 0;//语音延时计数

void main (void)
{     
	Init_Timer0();        //定时器0初始化
	UART_Init();
	DelayMs(10);

 

Supongo que te gusta

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