1.1 Detección de temperatura y humedad del aire y sistema de alarma basado en MCU serie stc89c51

Sistema de alarma y detección de temperatura y humedad del aire basado en el microcontrolador de la serie STC89C51

descripción general

Hoy les presentaré un sistema de detección y alarma de temperatura y humedad del aire basado en el microcontrolador de la serie STC89C51. Este proyecto combina una microcomputadora de un solo chip, un módulo de temperatura y humedad DHT11, un módulo de pantalla LCD1602, botones, zumbador y otros componentes para monitorear la temperatura y la humedad del ambiente en tiempo real y activar una alarma cuando se excede el umbral establecido. Analicemos el proceso de desarrollo, el diseño del hardware, la implementación del software y la introducción del producto de este proyecto.

Antecedentes del proyecto

En la vida moderna, las personas prestan cada vez más atención a la comodidad y la salud del ambiente interior. Especialmente en estaciones alternas o climas húmedos y lluviosos, el control de la temperatura y la humedad ambientales es particularmente importante. Con el fin de satisfacer las necesidades de ambiente interior de las personas, decidimos desarrollar un sistema de alarma y detección de temperatura y humedad del aire conveniente y práctico. El sistema está diseñado para ayudar a los usuarios a comprender las condiciones ambientales de temperatura y humedad, y enviar una señal de alarma cuando la temperatura y la humedad son anormales.

diseño de hardware

1. Microcontrolador STC89C51

STC89C51 es un microcontrolador de 8 bits rentable con funciones potentes y estabilidad, adecuado para diversos escenarios de aplicación. Lo elegimos como núcleo de control, para procesar datos y controlar periféricos.

2. Módulo de temperatura y humedad DHT11

DHT11 es un sensor digital de temperatura y humedad con las características de bajo costo y fácil de usar. Se comunica con el microcontrolador STC89C51 a través de una interfaz serial de un solo cable y puede medir con precisión la temperatura y la humedad del ambiente.

3. Módulo de pantalla LCD1602

Para facilitar al usuario la observación intuitiva de los datos de temperatura y humedad, utilizamos el módulo de visualización LCD1602. Esta es una pantalla de cristal líquido de 16x2 caracteres, que está conectada a la microcomputadora de un solo chip STC89C51 a través de una interfaz paralela y puede mostrar información como la temperatura y la humedad.

4. Módulo de interacción humano-computadora

Para mejorar la interactividad del sistema, hemos diseñado tres botones, que son el botón de cambio de modo, el botón de umbral más y el botón de umbral menos. Los usuarios pueden cambiar el modo de trabajo del sistema y ajustar el umbral de alarma de temperatura y humedad presionando el botón. Al mismo tiempo, también agregamos un zumbador como dispositivo de alarma.

5. Módulo de potencia

Para garantizar el funcionamiento estable del sistema, hemos diseñado un módulo de alimentación adecuado para proporcionar tensión y corriente estables a cada módulo del sistema.

diseño de software

1. Inicialización de hardware

En la etapa inicial del diseño del software, llevamos a cabo la configuración de inicialización del hardware, incluida la configuración del puerto de E/S, el temporizador y la comunicación del puerto serie del STC89C51.

	F1602_init();
  	F1602_clear();
	timer0_init();
	DHT11_start();
	uart_init()	;
	TI = 1;
	SendString("welcome to temp sys");
	TI = 0;
	P22 = 0;

2. Lectura de datos DHT11

Para leer los datos de temperatura y humedad del sensor DHT11, escribimos la función correspondiente. El sensor DHT11 utiliza un protocolo de comunicación en serie de un solo cable, por lo que debemos enviar comandos correctamente y analizar los datos devueltos por el sensor.

void DHT11_receive()      
{
    
    
    uchar R_H,R_L,T_H,T_L,revise; 
    DHT11_start();
    if(Data==0)
    {
    
    
        while(Data==0);    
        DHT11_delay_us(40); 
        R_H=DHT11_rec_byte();   
        R_L=DHT11_rec_byte();   
        T_H=DHT11_rec_byte();      
        T_L=DHT11_rec_byte();    
        revise=DHT11_rec_byte(); 

        DHT11_delay_us(25);    

        if((R_H+R_L+T_H+T_L)==revise)      
        {
    
    
            RH=R_H;
            RL=R_L;
            TH=T_H;
            TL=T_L;
        } 

    }
}

3. Visualización de datos

Los datos leídos de temperatura y humedad deben mostrarse en el módulo de visualización LCD1602. Hemos escrito una función para formatear los datos y mostrarlos en la pantalla LCD, para que el usuario pueda observar la información ambiental de manera intuitiva.

void display0()
{
    
    
		if(mode == 0)
		{
    
    
			gotoxy(1,0);			
			display_string("TH:");
			display_num(TH_set);	
			gotoxy(2,0);
			display_string("temp:");
			display_num(TH);	
			display_string(".");
			display_num(TL);	
		}
		if(mode == 1)
		{
    
    
			gotoxy(1,0);
			display_string("temp high:");					
			gotoxy(2,0);
			display_num(TH_set);			
		}
}

4. Lógica de alarma

Para realizar la función de alarma, hemos diseñado la lógica de alarma correspondiente. Cuando la temperatura y la humedad excedan el umbral establecido, el zumbador enviará una señal de alarma para recordarle al usuario que el entorno es anormal.

		if(TH >= TH_set) P22 = 1;
		else P22 = 0;

5. Función de botón

Para realizar la función clave, hemos escrito una función de escaneo clave. Al detectar el estado del botón y procesar el evento del botón, se realizan las funciones de cambio de modo y ajuste de umbral.


void key0()
{
    
    
	if(k1 == 0)
	{
    
    
		while(k1 == 0);
		F1602_clear();
		mode++;
		if(mode >= 2)mode = 0;
	}
	if(k2 == 0)
	{
    
    
				while(k2 == 0);
		if(mode == 1)TH_set++;
		if(TH_set >= 100)TH_set = 100;
//		if(mode == 2)TL_set++;
//		if(TL_set >= TH_set)TL_set=TH_set;
	}
	

	if(k3 == 0)
	{
    
    
		while(k3 == 0);
		if(mode == 1)TH_set--;		
//		if( TH_set<= TL_set)TH_set= TL_set;	
//				if(mode == 2)TL_set--;

		if(TH_set <= 0)TH_set = 0;
		
		
		
	}	
}

6. función Bluetooth

Para realizar la función bluetooth, escribimos la función de envío del puerto serie. Después de formatear y mostrar los datos en el teléfono móvil, el usuario puede observar la información ambiental de manera intuitiva.

void SendData(unsigned char dat)
{
    
    
		SBUF = dat;				
		while(!TI);				
		TI = 0;					
}
void SendString(unsigned char *s)
{
    
    
    while (*s)                  
    {
    
    
        SendData(*s++);         
    }
}

inserte la descripción de la imagen aquí

Expansión de funciones

1. Registro y almacenamiento de datos

Para comprender mejor la tendencia cambiante del entorno, podemos considerar agregar funciones de registro y almacenamiento de datos. Al agregar un módulo de memoria, los datos de temperatura y humedad se pueden registrar y guardar regularmente, y se pueden dibujar curvas o hacer informes estadísticos para ayudar a los usuarios a observar los cambios de temperatura y humedad de manera más intuitiva.

2. Carga de datos y monitoreo remoto

Si hay una conexión de red, podemos considerar cargar los datos a la plataforma en la nube para monitoreo y administración remota. Los usuarios pueden ver datos ambientales a través de teléfonos móviles o computadoras, e incluso configurar funciones de alarma remota, lo que hace que el sistema sea más inteligente y conveniente.

3. Compensación de temperatura y humedad

Para mejorar la precisión de medición del sistema, podemos considerar agregar una función de compensación de temperatura y humedad. Al calibrar los datos del sensor y la compensación no lineal de temperatura y humedad, los resultados de medición del sistema son más precisos y confiables.

simulación

inserte la descripción de la imagen aquí

diagrama esquemático

inserte la descripción de la imagen aquí

Descripción del Producto

1. Diseño de apariencia

Diseñamos una carcasa simple y práctica, y le colocamos el microcontrolador STC89C51, el sensor DHT11, el módulo de pantalla LCD1602, los botones, el zumbador y otros componentes. La carcasa está hecha de material plástico ecológico y la superficie está tratada con mate, que es cómoda al tacto y puede prevenir eficazmente las huellas dactilares y la suciedad.

2. Escenarios de uso

El sistema de detección y alarma de temperatura y humedad del aire es adecuado para varios lugares, como hogares, oficinas y laboratorios. Los usuarios pueden colocarlo en el escritorio o en la pared para facilitar el monitoreo en tiempo real de la temperatura y la humedad del ambiente.

3. Instrucciones de uso

Usar el sistema es muy simple. Cuando el usuario lo usa por primera vez, el sistema realizará la configuración inicial, incluida la calibración y la configuración de los umbrales de alarma. Después de eso, el sistema controlará automáticamente la temperatura y la humedad del ambiente y mostrará los datos en la pantalla LCD. Los usuarios pueden cambiar de modo y ajustar los umbrales presionando los botones. Cuando la temperatura y la humedad excedan el umbral establecido, el zumbador enviará una señal de alarma para recordarle al usuario que el entorno es anormal.

4. Seguridad y Estabilidad

Para garantizar la seguridad de los usuarios, hemos realizado múltiples pruebas de seguridad en el producto, incluida la protección contra sobretensiones, protección contra la temperatura y protección contra la corriente. Al mismo tiempo, hemos realizado una prueba de estabilidad a largo plazo en el sistema para garantizar la confiabilidad y durabilidad del producto.

Resumen de la Experiencia

Durante el desarrollo del proyecto, nos encontramos con algunos retos y dificultades. Por ejemplo, la calibración y el procesamiento de precisión del sensor DHT11, el rebote del botón y el problema de múltiples disparadores, etc. A través de una depuración seria y pruebas continuas, finalmente superamos estos problemas y logramos un sistema estable y confiable.

Solución de problemas

En aplicaciones prácticas, pueden ocurrir algunas fallas. Por ejemplo, inestabilidad de la pantalla, datos del sensor inexactos y otros problemas. Podemos resolver estos problemas verificando las conexiones de hardware, ajustando los algoritmos de software y agregando mecanismos de manejo de excepciones.

Resumir

A través de este proyecto, tenemos una comprensión profunda del uso y los principios básicos de los microcontroladores de la serie STC89C51, y aprendimos a comunicarnos e intercambiar datos con módulos periféricos. El sistema de detección y alarma de temperatura y humedad del aire nos brinda una buena plataforma de aprendizaje, lo que nos permite tener una comprensión más profunda de la aplicación de sistemas integrados y la tecnología de Internet de las cosas.

¡Gracias por leer este blog! Si está interesado en el sistema de alarma y detección de temperatura y humedad del aire basado en STC89C51, puede intentar crear su propio sistema y ampliar aún más las funciones. El desarrollo de sistemas integrados es un campo de creatividad ilimitada, ¡esperamos más creaciones maravillosas de su parte!

Estos problemas se pueden resolver verificando las conexiones de hardware, ajustando los algoritmos de software y agregando mecanismos de manejo de excepciones.

Resumir

A través de este proyecto, tenemos una comprensión profunda del uso y los principios básicos de los microcontroladores de la serie STC89C51, y aprendimos a comunicarnos e intercambiar datos con módulos periféricos. El sistema de detección y alarma de temperatura y humedad del aire nos brinda una buena plataforma de aprendizaje, lo que nos permite tener una comprensión más profunda de la aplicación de sistemas integrados y la tecnología de Internet de las cosas.

¡Gracias por leer este blog! Si está interesado en el sistema de alarma y detección de temperatura y humedad del aire basado en STC89C51, puede intentar crear su propio sistema y ampliar aún más las funciones. El desarrollo de sistemas integrados es un campo de creatividad ilimitada, ¡esperamos más creaciones maravillosas de su parte!

Supongo que te gusta

Origin blog.csdn.net/qq_42704442/article/details/131755986
Recomendado
Clasificación