Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

¿Quieres mantener tu espacio fresco y cómodo sin esfuerzo? ¡Tenemos la solución perfecta para ti! En este artículo, descubrirás todo lo que necesitas saber sobre el Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil. No te pierdas esta increíble innovación que hará de tu hogar o lugar de trabajo un lugar fresco y agradable en todo momento. ¡Sigue leyendo para conocer los detalles!

Las máquinas de enfriamiento automático son ampliamente utilizadas en las industrias. Y en esta publicación, aprenderá cómo hacer un ventilador de enfriamiento de este tipo usando LCD como pantalla y un sensor de temperatura con esp8266. El motor paso a paso se utiliza aquí como actuador (mecanismo de refrigeración). El sensor de temperatura y el esp8266 se comunican a través de una línea de comunicación, mientras que el modo de comunicación entre el esp8266 y la pantalla inteligente es la comunicación en serie.

Contenido

Diagrama de bloques y principio de la máquina de enfriamiento:

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil
Diagrama de bloques del ventilador de refrigeración basado en ESP8266

La función del enfriador se divide en modo automático y modo manual.

Modo automatico

En el modo automático, el umbral de temperatura se puede configurar en la pantalla LCD TFT. La temperatura ambiente actual se mide con un sensor de temperatura DS18B20 y se compara con el umbral de temperatura establecido. Cuando es más alta que el rango de temperatura ambiente actual, esp8266 inicia el motor paso a paso como una función de enfriamiento. También podemos detener el motor presionando el botón STOP en la pantalla LCD.

Modo manual

En modo manual, podemos usar la pantalla LCD directamente y establecer la velocidad/tiempo de rotación del motor de refrigeración. Después de realizar la configuración, simplemente haga clic en el botón de inicio. Y al igual que el modo automático, puede hacer clic en el botón de parada para detener el motor al instante.

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

>

Componentes necesarios para la máquina de refrigeración

En términos de selección de dispositivos, este proyecto requiere un sensor de temperatura para detectar el cambio de temperatura ambiental. Un esp8266 como control principal, un motor paso a paso como enfriador y LED como indicadores. Pero lo más importante es la pantalla LCD TFT que se utiliza para comunicarse con el ESP8266.

  1. DS18B20
  2. Módulo Esp8266
  3. Lámpara LED X 3
  4. Motor paso a paso
  5. Pantalla LCD TFT de piedra

Funciones de LCD TFT:

  1. Para la función de la interfaz de cambio de botones.
  2. La piedra TFT LCD puede saltar automáticamente a la interfaz principal.
  3. La función de ajuste de tiempo.
  4. Distribución de variables de datos
  5. Función de entrada variable.
  6. Para visualizar la función de selección de la barra de menú.

Esp8266 Funciones:

  1. Para control de LED;
  2. Lectura y análisis de datos DS18B20;
  3. Controla el control de velocidad y rotación del motor paso a paso.

Diagrama de circuito

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil
Diagrama de circuito del proyecto de ventilador de refrigeración basado en ESP8266

Introducción a Módulos/Componentes

Sensor de temperatura DS18B20

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil
Sensor de temperatura DS18B20

Sensor de temperatura DS18B20 se utiliza aquí, que es un sensor de temperatura digital de uso común. Es:

  • La salida es digital
  • El tamaño es pequeño
  • baja sobrecarga de hardware
  • tiene una fuerte capacidad anti-interferencia
  • tiene características de alta precisión

Para usar la interfaz del sensor de temperatura DS18B20, debe instalar la biblioteca de temperatura Dallas de la biblioteca de un cable.

ULN2003 para control de motor paso a paso

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil
Motor paso a paso controlado mediante ULN2003

ULN2003 es un IC de controlador de par Darlington y tiene capacidad de alto voltaje y alta corriente. Se puede conectar directamente a circuitos TTL y CMOS con un voltaje de trabajo de 5V. Puede procesar directamente los datos que necesitan un búfer lógico estándar. Aquí estamos usando un Paquete DIP-16 ULN2003 y un Motor paso a paso de 4 fases, 5 hilos, 5 V.

Matriz de LED

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil
Matriz de LED

Este es un módulo de visualización de lámpara galopante con 8 LED. El voltaje externo es de 3 a 5,5 V, y el LED correspondiente se puede encender dándole una señal de voltaje BAJO o 0. Es adecuado para la prueba IO de una microcomputadora de un solo chip para realizar el control de la luz indicadora.

Tablero ESP8266

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil
Tablero ESP8266 con módulo ULN2003

Esp8266 se puede iniciar directamente desde la memoria externa cuando está equipado con una aplicación y es el único procesador de aplicaciones en el dispositivo. La memoria caché integrada puede mejorar el rendimiento del sistema y reducir los requisitos de memoria. Además, esp8266 tiene un potente procesador en chip y capacidad de almacenamiento. Esto le permite integrar sensores y otros dispositivos específicos de la aplicación a través del puerto GPIO.

Pantalla LCD STVC101WT-01

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil
Pantalla LCD STVC101WT-01

Características de la pantalla:

  • Panel TFT de grado industrial de 10,1 pulgadas 1024 × 600 y pantalla táctil de resistencia de 4 hilos
  • El brillo es de 300 cd/m2, retroiluminación LED.
  • El color RGB es 65K
  • El área visual es de 222,7 mm * 125,3 mm
  • El ángulo visual es 70/70/50/60
  • La vida laboral es de 20000 horas. Procesador cortex-m4 de 32 bits y 200 Hz
  • Controlador CPLD epm240 TFT-LCD
  • Memoria flash de 128 MB (o 1 GB)
  • Descarga del puerto USB (disco U)
  • software de caja de herramientas para el diseño de GUI, instrucciones hexadecimales simples y potentes.

Funciones básicas de la pantalla

  • Control de pantalla táctil/imagen de visualización/texto de visualización/curva de visualización/lectura y escritura de datos/reproducción de vídeo y audio. Es adecuado para diversas industrias.
  • La interfaz UART es RS232/RS485/TTL;
  • El voltaje es de 6v-35v;
  • el consumo de energía es 3.0w;
  • la temperatura de trabajo es – 20 ℃ / + 70 ℃;
  • la humedad del aire es de 60 ℃ 90%.

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

El>

El manual se puede descargar desde el sitio web oficial:

https://www.stoneitech.com/support/download

Además del manual de datos, hay manuales de usuario, herramientas de desarrollo comunes, controladores, algunas demostraciones de rutinas simples, tutoriales en video y algunos para proyectos de prueba.

Diseño y producción

Descargar IDE de Arduino:

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

Para programar ESP, Arduino IDE se utiliza para desarrollar y compilar el código. Primero, debe instalar el entorno Arduino desde el enlace que figura a continuación:

https://www.arduino.cc/en/Main/Software

Después de la instalación, cree un nuevo proyecto. Aquí escribiremos el código lógico y luego formularemos el protocolo del puerto serie con TFT LCD, principalmente para recibir BUF.

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

>

Herramienta de software de desarrollo de PC 2019 para pantalla TFT

Para desarrollar nuestra TFT LCD, necesitamos usar una herramienta de software de desarrollo para PC 2019. Todas las operaciones se llevan a cabo en este software para PC, que debe descargarse del sitio web oficial que se indica a continuación:

https://www.stoneitech.com/support/download

1. Crear un nuevo proyecto

Haga doble clic en HERRAMIENTA 2019.exe. Para iniciar este proyecto, se debe crear un nuevo proyecto.

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

  • Haga> nuevo
  • luego, en el cuadro emergente de nuevo proyecto, seleccione mi modelo de pantalla como STV, tamaño 1024 * 600
  • establecer el nombre del proyecto como piedra
  • y finalmente, seleccione la ruta de guardado del proyecto y luego haga clic en Aceptar
  • Después de eso, saltará a la interfaz azul, que es la imagen de fondo predeterminada del nuevo proyecto.

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

2.>

Después de crear el nuevo proyecto, es necesario agregar las imágenes creadas con anterioridad. El tamaño de la imagen de fondo debe ser consistente con el tamaño real de la pantalla, es decir, 1024 * 600.

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

Haga>

3. Configuración de la interfaz:

a) RTC: reloj en tiempo real

Para mostrar la hora, necesitamos agregar un control RTC aquí. La pantalla tiene la función de sincronización RTC, que se puede utilizar para mostrar la hora local. La MCU puede escribir el tiempo inicial y luego la pantalla se puede cronometrar de forma independiente.

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

  • En>
  • En el segundo paso, agregue una pantalla de tiempo y colóquela en la esquina superior derecha.

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

En>

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

Seleccione>

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

En>

Esto completa la producción de ajuste de tiempo RTC.

b) Menú emergente:

En modo manual, es necesario configurar la velocidad del motor en tres marchas: alta, media y baja. Aquí está el menú emergente. El proceso de diseño se da a continuación:

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

Haga>

Una vez finalizado el archivo ICO, abra la imagen No.6. Hacer clic Toque Configuración->Menú emergente.

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

En>

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

Después de eso, agregue un ícono de variable a la ubicación original. Tenga en cuenta que la dirección de almacenamiento del icono debe ser coherente con la dirección del control emergente. El valor inicial se establece en 1 para mostrar el icono No. 1. La biblioteca de iconos utiliza el 1.ico generado justo ahora y establece los límites superior e inferior.

Esto completa la configuración del menú emergente.

c) Configuración de salto de página:

Aquí he hecho el efecto de la interfaz de arranque y el proceso de diseño es el siguiente:

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

Haga>

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

Después>interfaz de selección de modo. En la interfaz de selección de modo, agregue controles de dos botones, haga clic en el icono del botón para agregar. Y luego configure el efecto del botón en la interfaz 4, el cambio de página en modo inteligente a la interfaz 5 correspondiente y el modo manual a la interfaz 6.

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

Esto>

Programa:

if(dataflag == true)
  {
    if(datalen == 13)
    {
        memset(RecievedTemp, 0 , 13);
        for(cout_i = 0; cout_i < 13; cout_i ++)
        {
          RecievedTemp[cout_i] = Serial.read();
        }
        Serial.write(RecievedTemp, 13);
        memset(RecievedTemp, 0 , 13);
        dataflag = false;
    }       
  }
  else if(datalen == 9)
  {
    memset(RecievedTemp, 0 , 9);
    for(cout_i = 0; cout_i < 9; cout_i ++)
    {
      RecievedTemp[cout_i] = Serial.read();
    }
      Serial.write(RecievedTemp, 9);
    switch(RecievedTemp[5])
    {
    case 0x39://temp
      if(HeadStepper.isRunning() == true)
      {

        HeadStepper.stop();    
      }
    StepperStart = false;
//    TempStartStop = true;
    Temperatue = RecievedTemp[8];
      break;
    case 0x2B://temp start
      TempStartStop = true;
      StepperStart = false;
//        HeadStepper_Setting_Run(speed_str[0], 5);
    break;
    case 0x2A://temp stop
      if(HeadStepper.isRunning() == true)
      {
        HeadStepper.stop();  
      }
      TempStartStop = false;
      StepperStart = false;
//      terstop = true;
    break;
    case 0x2E://mode gear
        if(HeadStepper.isRunning() == true)
      {
        HeadStepper.stop();  
      }
        settingbuf[0] = speed_str[RecievedTemp[8]];
        if(RecievedTemp[8] == 3)
      {
      digitalWrite(ledPin_1, LOW);   // turn the LED on (HIGH is the voltage level)
      digitalWrite(ledPin_2, HIGH);   // turn the LED on (HIGH is the voltage level)
      digitalWrite(ledPin_3, HIGH);   // turn the LED on (HIGH is the voltage level)
      }
      else if(RecievedTemp[8] == 2)
      {
      digitalWrite(ledPin_1, LOW);   // turn the LED on (HIGH is the voltage level)
      digitalWrite(ledPin_2, LOW);   // turn the LED on (HIGH is the voltage level)
      digitalWrite(ledPin_3, HIGH);   // turn the LED on (HIGH is the voltage level)
      }
      else 
      {
      digitalWrite(ledPin_1, LOW);   // turn the LED on (HIGH is the voltage level)
      digitalWrite(ledPin_2, LOW);   // turn the LED on (HIGH is the voltage level)
      digitalWrite(ledPin_3, LOW);   // turn the LED on (HIGH is the voltage level)
      }
      break;
    case 0x34://mode timing
      if(HeadStepper.isRunning() == true)
      {
        HeadStepper.stop();  
      }
      
        settingbuf[1] = RecievedTemp[8];
        break;
    case 0x2C://mode start
      if(settingbuf[1] == 0)
      {
        settingbuf[1] = 5;
      } 
      TempStartStop = false;
      StepperStart = true;
      HeadStepper_Setting_Run(settingbuf[0], settingbuf[1]);
        break;
    case 0x2D://mode stop
      if(HeadStepper.isRunning() == true)
      {
        TempStartStop = false;
        StepperStart = false;
        HeadStepper.stop();    
      }
        break;
    default:
        break;
    }
   }

IMÁGENES DEL PROYECTO

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded




Proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

Preguntas frecuentes sobre el proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil

1. ¿Qué es un ESP8266?

El ESP8266 es un microcontrolador Wi-Fi de bajo costo y de alto rendimiento, utilizado ampliamente en proyectos de Internet de las cosas (IoT).
Puede actuar como un controlador central para diversos dispositivos electrónicos, además de poseer la capacidad de conectarse a redes Wi-Fi.

2. ¿De qué se trata el proyecto de ventilador de enfriamiento automático?

El proyecto consiste en construir un ventilador que pueda ser controlado de manera automática. El ventilador se encenderá o apagará según las necesidades
de enfriamiento de la habitación. Utiliza un ESP8266 como controlador y cuenta con un control LCD táctil para configurar las opciones de control.

3. ¿Cuál es la función del control LCD táctil?

El control LCD táctil permite al usuario configurar diferentes parámetros del ventilador, como la temperatura deseada, la velocidad del ventilador,
la duración del tiempo de funcionamiento, entre otros.

4. ¿Cómo se conecta el ESP8266 al ventilador?

El ESP8266 se conecta al ventilador mediante la configuración adecuada de los pines de control. Se establecen conexiones físicas entre el microcontrolador
y los componentes eléctricos del ventilador para su interacción y control.

5. ¿El proyecto utiliza algún sensor de temperatura?

Sí, el proyecto utiliza un sensor de temperatura para medir la temperatura ambiente de la habitación. Esta información es utilizada por el ESP8266
para regular el encendido o apagado del ventilador según se requiera para mantener la temperatura deseada.

6. ¿Dónde puedo encontrar más información sobre el ESP8266 y los controladores LCD táctiles?

Puedes encontrar más información sobre el ESP8266 en este enlace.

7. ¿Existen otros proyectos similares a este?

Sí, hay varios proyectos similares disponibles en línea que utilizan el ESP8266 y un control LCD táctil para controlar diferentes dispositivos.
Puedes buscar en la web para encontrar más ejemplos y referencias.

8. ¿Requiere conocimientos avanzados de programación para implementar este proyecto?

Sí, se requieren conocimientos básicos de programación y electrónica para implementar exitosamente este proyecto. Es necesario comprender la programación
en el lenguaje de programación utilizado por el ESP8266 y tener experiencia en la conexión de circuitos electrónicos.

9. ¿Cuáles son los beneficios de este proyecto?

Los beneficios de este proyecto incluyen la comodidad de tener un ventilador que se enciende y apaga automáticamente según las necesidades de enfriamiento,
lo que ayuda a mantener la temperatura adecuada en la habitación y a ahorrar energía al no funcionar cuando no es necesario.

10. ¿Es posible personalizar el proyecto según mis necesidades?

Sí, el proyecto se puede personalizar según tus necesidades. Puedes ajustar los parámetros de control, agregar más sensores o incluso incorporar ideas
adicionales para mejorar las funcionalidades del ventilador.

Esperamos que estas preguntas frecuentes te ayuden a entender mejor el proyecto de ventilador de enfriamiento automático basado en ESP8266 con control LCD táctil.


Deja un comentario