Tabla de contenido
resumen
En este proyecto, crearemos un sistema de control y monitoreo de velocidad del ventilador basado en la temperatura utilizando el módulo WiFi ESP8266 para observar datos en IoT App Blynk. La velocidad del ventilador aumenta en función del aumento de la temperatura. La aplicación Blynk muestra la temperatura actual y la velocidad del ventilador como un porcentaje. También puede usar Blynk para establecer un umbral de temperatura para encender el ventilador.
Para detectar la temperatura ambiente, utilice el sensor de temperatura impermeable DS18B20. La sección del ventilador es ideal para ventiladores de 12V porque la velocidad se puede controlar fácilmente mediante la señal PWM. La pantalla LCD de 16×2 también muestra la temperatura instantánea y la velocidad del ventilador.
Para empezar, consulte . Arduino Controlador de velocidad del ventilador de temperatura Proporciona una idea general sobre el proyecto, el trabajo.
Lista de materiales
Para crear un proyecto de sistema de control de velocidad del ventilador basado en la temperatura de IoT, necesita los siguientes componentes:
Esquemas y conexiones
A continuación se muestra un diagrama esquemático de un sistema de control y monitoreo de velocidad del ventilador basado en la temperatura de IoT que utiliza el ESP8266. La conexión es bastante simple.
Todo el circuito se puede alimentar desde una fuente de alimentación de 12V DC. De hecho, los ventiladores de CC solo requieren 12V para funcionar. Los componentes restantes utilizan 5V como entrada desde el CI del regulador de voltaje 7805. El sensor de temperatura impermeable DS18B20 está conectado al pin D6 del Nodemcu ESP8266. El DS18B20 VCC y GND están conectados a los 3,3 V y GND del NodeMCU. El pin de salida DS18B20 se eleva con una resistencia de 4,7K.
La pantalla LCD I2C de 16×2 se utiliza para mostrar la temperatura y la velocidad del ventilador. Conecte los pines VCC, GND, SDA y SCL de la pantalla LCD a 5V, GND, D2 y D1 en el NodeMCU ESP8266.
Los pines digitales del NodeMCU no pueden controlar solo el ventilador de 12V. Por lo tanto, estamos utilizando un MOSFET IRF540 para controlar el ventilador. Esta salida en el pin D0 de NodeMCU se dirige al terminal de puerta del MOSFET IRF540. El MOSFET actúa como un amplificador y puede controlar una gran cantidad de voltaje aplicando una pequeña cantidad de voltaje al terminal de la puerta.
Utilizamos cero PCB para ensamblar todos los componentes. Como fuente de alimentación, puede utilizar un adaptador de corriente de 12 V CC o una batería de 12 V. Se utiliza un paquete de baterías de iones de litio de 11.2V para alimentar el circuito.
Proyecto PCB Gerber File & PCB Ordering Online
Si no desea ensamblar sus circuitos a cero PCB y necesita PCB para su proyecto, aquí están los PCB. Primero utilicé EasyEDA para dibujar el esquema. Luego convertí el esquema a una PCB. La placa PCB para este proyecto se ve así:
El archivo Gerber de la PCB se muestra a continuación. Simplemente descargue el archivo Gerber y solicite la PCB. Todas las placas de circuito impreso Y $1$ Solamente.
Puede usar este archivo Gerber para solicitar una PCB de alta calidad para este proyecto. Para ello, Todas las placas de circuito impreso Visite el sitio web oficial haga clic aquí: https://www.allpcb.com/.
Con esto[今すぐ引用]Puede seleccionar una opción para cargar su archivo Gerber. De estas opciones, puede seleccionar el tipo de material, las dimensiones, la cantidad, el grosor, el color de la máscara de soldadura y otros parámetros requeridos.
Una vez que haya ingresado todos los detalles, seleccione su país y método de envío. Finalmente, puede realizar un pedido.
Puede ensamblar los componentes en la placa PCB.
Configuración del panel web y móvil de Blynk 2.0
Entonces, configuremos primero el panel web de Blynk. Para hacer esa visita blynk.io y regístrese con su ID de correo electrónico.
En primer lugar, cree una nueva plantilla.
Asigne el nombre Hardware y Tipo de conexión.
Desde el panel web, cree cuatro widgets: Medidor, Etiqueta, LED y Control deslizante.
En la configuración del indicador, seleccione Pin virtual V4. Esto se utiliza para mostrar la velocidad del ventilador como un porcentaje.
Para mostrar la temperatura en la etiqueta, seleccione el pin virtual V3 y seleccione el tipo de datos como entero.
Para el control deslizante, asigne el pin virtual como V7. El control deslizante se utiliza para establecer el umbral en el que se encenderá el ventilador.
Para la configuración del LED, cambie el nombre de la variable a Ventilador para indicar el estado de encendido/apagado del ventilador. El pin vertical asignado al ventilador v es V0.
Además del panel web, también puede configurar un panel de aplicaciones móviles. Para eso, descargue Blynk desde la tienda de juegos o la tienda de aplicaciones. Puede usar paneles móviles para realizar la misma supervisión que los paneles web.
Código fuente/Programa
El código para el sistema de control y monitoreo de velocidad del ventilador basado en la temperatura IoT que utiliza el ESP8266 está escrito en el IDE de Arduino. Primero debe instalar las siguientes bibliotecas:
- Biblioteca de parpadeo: descargar
- Biblioteca OneWire: descargar
- Biblioteca de temperatura de Dallas: descargar
- Biblioteca LCD I2C: descargar
Desde las siguientes líneas podemos cambiar el SSID WiFi, la contraseña y el token de autenticación de Blynk.
chamuscar autenticación[] = “*********************”; Token de autenticación de Blynk chamuscar SSID[] = “*********************”; SSID de LAN inalámbrica chamuscar pasar[] = “*********************”; Contraseña de LAN inalámbrica |
Seleccione la placa NodeMCU 1.0 de la lista de placas y seleccione el puerto apropiado en el ESP8266 de la lista de puertos COM. Luego presione el botón de carga para cargar su código.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | #include <ESP8266WiFi.h> #include < Blink Simple Esp8266.h> #include <OneWire.h> #include <Dallas temperature.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C Pantalla de cristal líquido(0x27, 16, 2); #define BLYNK_PRINT Cereales #define ONE_WIRE_BUS 12 entero Fanpin = 16; entero Ciclo de trabajo = 0; flotar una vez = 0; entero umbral = 30; Un cable Un cable(ONE_WIRE_BUS); Temperatura Dallas sensor(&oneWire); Widget LED abanicar(V0); chamuscar autenticación[] = “*********************”; chamuscar SSID[] = “*********************”; chamuscar pasar[] = “*********************”; No válido arreglo() { serial.empezar(115200); sensor.empezar(); Modo Pin(Fanpin, salida); Pantalla de cristal líquido.inicialización(); Pantalla de cristal líquido.Luz de fondo(); Pantalla de cristal líquido.Establecer cursor(0, 0); Pantalla de cristal líquido.Impresión(” Temperatura “); Pantalla de cristal líquido.Establecer cursor(0, 1); Pantalla de cristal líquido.Impresión(“Sistema de vigilancia”); demorar(4000); Pantalla de cristal líquido.claro(); Rango de escritura analógica(100); Frecuencia de escritura analógica(10000); Parpadear.empezar(autenticación, SSID, pasar, 「blynk.cloud」, 80); } BLYNK_WRITE(V7) { umbral = parámetro.asInt(); serial.Impresión(El umbral para el umbral es el siguiente:); serial.Printrung(umbral); serial.Printrung(); } No válido Controle la velocidad del ventilador(entero Porcentaje de velocidad del ventilador) { Escritura analógica(Fanpin, Porcentaje de velocidad del ventilador); serial.Impresión(“Velocidad del ventilador: “); serial.Impresión(Porcentaje de velocidad del ventilador); serial.Printrung(“%”); Pantalla de cristal líquido.Establecer cursor(0, 1); Pantalla de cristal líquido.Impresión(“Velocidad del ventilador: “); Pantalla de cristal líquido.Impresión(Porcentaje de velocidad del ventilador); Pantalla de cristal líquido.Impresión(“%”); } No válido bucle() { Parpadear.correr(); sensor.Requisitos de temperatura(); una vez = sensor.getTempCByIndex(0); serial.Impresión(“Temperatura: “); serial.Impresión(una vez); serial.Printrung(“*C”); Pantalla de cristal líquido.Establecer cursor(0, 0); Pantalla de cristal líquido.Impresión(“Temperatura: “); Pantalla de cristal líquido.Impresión(una vez); Pantalla de cristal líquido.Impresión(“*C”); Parpadear.Escritura virtual(V3, una vez); Si (una vez >= umbral) { abanicar.en(); entero Porcentaje de velocidad del ventilador = mapa(una vez, umbral, 55, 10, 100); Controle la velocidad del ventilador(Porcentaje de velocidad del ventilador); Parpadear.Escritura virtual(V4, Porcentaje de velocidad del ventilador); } de otra manera Si (una vez < umbral) { abanicar.apagado(); entero Porcentaje de velocidad del ventilador = 0; Controle la velocidad del ventilador(Porcentaje de velocidad del ventilador); Parpadear.Escritura virtual(V4, Porcentaje de velocidad del ventilador); } } |
Para generar PWM, escribaEscritura analógica (Pin, valor PWM)” funciona con 8 bits, lo que significa si el valor PWM es igual al valor analógico. Por lo tanto, si necesita generar el 20% del ciclo de trabajo, puede usar un valor de 255/5 como PWM como “Escritura analógicafunción.
Prueba: Sistema de control de velocidad del ventilador basado en la temperatura de IoT
Después de cargar el código, el ESP8266 intentará conectarse a la red WiFi. Después de conectarse a la red WiFi, use el token de autenticación de Blynk para conectarse a la plataforma Blynk.
Al mismo tiempo, la pantalla LCD de 16×2 muestra la temperatura en grados Celsius y la velocidad del ventilador como porcentaje.
Al mismo tiempo, la aplicación Blynk también muestra la temperatura (°C) y la velocidad del ventilador en el widget del medidor. Además, el estado de encendido / apagado del ventilador y el umbral se muestran en el control deslizante.
De forma predeterminada, el umbral se establece en 30 °C. Esto significa que si la temperatura excede el umbral, el ventilador se iniciará automáticamente. La velocidad del ventilador aumenta gradualmente de 0 a 100% entre el rango umbral y el límite superior. En este caso, el límite superior se establece en 55 ° C. Si la temperatura actual está por debajo del umbral, el ventilador no arrancará.
El umbral se puede establecer utilizando el control deslizante Blynk.
Cuando el sensor detecta una temperatura alta, el ventilador se enciende, cuya velocidad depende de la temperatura.
Cuanto mayor sea la temperatura, más rápida será la velocidad del ventilador. A una temperatura de 55 ° C, la velocidad del ventilador será del 100%. Puede cambiar el límite superior de la temperatura en la parte de código.
Lo mismo se puede monitorear en línea en el panel web de Blynk también. Puede observar la velocidad y la temperatura del ventilador desde cualquier parte del mundo.
Así es como se utilizan las aplicaciones ESP8266 y Blynk para crear y configurar el control y la supervisión de la velocidad del ventilador basados en la temperatura de IoT.
Video Tutorial y Guía
Sistema automático de monitoreo y control automático de la velocidad del ventilador basado en la temperatura IoT con ESP8266 y Blynk 2.0