### 3.3.7 Regulación de Temperatura y Humedad #### 3.3.7.1 Visión general ![Img](./media/top1.png) En este proyecto, presentaremos cómo construir un sistema de regulación de temperatura y humedad con una placa micro:bit, el sensor de temperatura y humedad XHT11, un motor 130, un módulo de atomización y una pantalla OLED. El sistema mide la temperatura y la humedad ambiente mediante el sensor XHT11 y las ajusta controlando la rotación del ventilador y la pulverización de la niebla de agua mediante el módulo de atomización según sea necesario. Cuando la temperatura o la humedad superan el umbral establecido, activará el ventilador y rociará niebla de agua desde el módulo de atomización. Mientras tanto, la pantalla OLED mostrará la temperatura y la humedad actuales en tiempo real. Dado que puede regular la temperatura y la humedad, se aplica ampliamente a proyectos que necesitan controlar esas variables. ![Img](./media/bottom1.png) #### 3.3.7.2 Conocimientos de los componentes ![Img](./media/2top.png) **Sensor de temperatura y humedad XHT11** ![Img](./media/XHT11.png) El sensor de temperatura y humedad XHT11 emite señales digitales. Adquiere y convierte señales analógicas, y detecta temperatura y humedad para garantizar su excelente estabilidad a largo plazo y alta fiabilidad. Además, contiene un sensor de humedad resistivo de alta precisión y un sensor termoresistivo de temperatura, y está conectado a un microcontrolador de 8 bits de alto rendimiento. **Modo de comunicación de XHT11:** El XHT11 adopta una comunicación simplificada de bus único. Un bus único significa que solo hay una línea de datos, por lo que el intercambio de datos y el control en el sistema se realizan aquí. - Definición de transmisión de bits de datos por bus único: - Formato de datos del bus único: se transmiten 40 bits de datos a la vez, saliendo primero los bits más altos. - 8 bits de humedad entera + 8 bits de humedad decimal + 8 bits de temperatura entera + 8 bits de temperatura decimal + 8 bits de paridad. **Tenga en cuenta que la parte decimal de la humedad es 0**. - Definición del bit de paridad: - 8 bits de humedad entera + 8 bits de humedad decimal + 8 bits de temperatura entera + 8 bits de temperatura decimal. El bit de paridad de 8 bits es los últimos 8 bits del resultado. ![Img](./media/cou73-1.png) Diagrama temporal de los datos: Después de que el host (MCU) envía una señal de inicio una vez, el XHT11 cambia de modo de bajo consumo a modo de alta velocidad. Una vez que la señal de inicio del host termina, el XHT11 envía una señal de respuesta, emite 40 bits de datos y realiza una adquisición de señal. La transmisión de la señal se muestra a continuación. ![Img](./media/A229.png) ⚠️ **Nota:** Los datos de temperatura y humedad leídos por el host desde XHT11 son siempre el valor de la medición anterior. Si el intervalo entre dos mediciones es largo, por favor léalos dos veces consecutivas y tome el segundo valor obtenido como el valor en tiempo real. **Diagrama esquemático:** ![Img](./media/cou73-2.png) **Parámetros:** - Voltaje de funcionamiento: DC 3.3V~5V - Corriente de funcionamiento: (Max)2.5mA@5V - Potencia máxima: 0.0125W - Rango de temperatura: -25 ~ +60°C (±2℃) - Rango de humedad: 5 ~ 95%R (precisión de ±5%RH alrededor de 25 °C) - Señal de salida: bus único digital bidireccional **Módulo de atomización** ![Img](./media/Atomization.jpg) El módulo de atomización está compuesto por un driver y una placa de atomización, que atomiza el agua. Puede ser controlado por un microcontrolador o por botones manuales. **Principio de funcionamiento:** El módulo de atomización generalmente utiliza tecnología ultrasónica para generar niebla de agua. Contiene una placa de cerámica piezoeléctrica, que comienza a vibrar cuando se le aplica un voltaje de alta frecuencia. La vibración reúne pequeñas gotas de agua en la superficie del agua, que luego se dispersan para formar finas nieblas de agua. **Calidad de la niebla:** Este módulo puede convertir eficazmente el agua en diminutas partículas, generalmente entre 1 y 5 micras. Esta fina niebla tiende a evaporarse y difundirse en el aire con mayor facilidad, actuando así como un humidificador eficaz. ⚠️ **Atención:** **1. Después de encender, la placa de atomización debe colocarse en el agua. Si se deja en el aire durante mucho tiempo, la placa se calentará y se quemará.** **2. Coloque suavemente la placa de atomización sobre la superficie del agua. Si se sumerge en el agua, no generará niebla.** **Parámetros:** - Voltaje de funcionamiento: DC 5V - Agujero de instalación: diámetro de 4.8mm, espaciado de 16mm - Dimensiones: 31mm de largo, 23mm de ancho y 8mm de alto - Peso: 4.5g - Temperatura de funcionamiento: -25°C a +60°C - Interfaz del módulo: pines curvados de 3 pines, espaciado de 2.54 - Interfaz de la placa de atomización: conector PH2.0 hembra - Función: usado para transformar el agua en fina niebla y liberarla al aire **Dimensiones de la placa de atomización:** ![Img](./media/AB10.jpg) ⚠️ **Nota: Evite tirar del cable de la placa tanto como sea posible, de lo contrario su punto de soldadura puede desprenderse.** **Instrucciones de uso del módulo de atomización:** Hay dos modos de control: por botones y por programación con MCU. **Control por botón:** Pulse el botón para encender el módulo de atomización. Pulse el botón de nuevo para apagarlo. **Control por programación con MCU:** Simula la pulsación de un botón. Normalmente emite un nivel alto y baja cuando se pulsa. Al soltar el botón vuelve a emitir un nivel alto. Por lo tanto, al usar MCU, solo necesitamos enviar un breve nivel bajo al módulo, como si se presionara el botón. Podemos controlar el tiempo de inicio o pausa del módulo de atomización ajustando el tiempo del nivel alto. **Instale la varilla de algodón:** 1\. Empape completamente la varilla de algodón en agua (encuentre un contenedor de alta capacidad que cubra toda la varilla con agua y sumérjala durante más de 5 minutos para asegurarse de que absorba completamente el agua). ![Img](./media/ASZX11.png) 2\. Instale la placa de atomización dentro del soporte de plástico. Preste atención a la dirección de la placa. Coloque su cable en la ranura del soporte. ![Img](./media/AB051.png) ![Img](./media/AB05.jpg) 3\. Cierre el otro lado del soporte de plástico. ![Img](./media/AB06.jpg) 4\. Inserte la varilla de algodón en el centro del soporte. Debe insertarse hasta el fondo hasta tocar la placa de atomización. ![Img](./media/AB07.jpg) 5\. Conecte la placa de atomización al terminal hembra PH2.0 del módulo, como se muestra a continuación. ![Img](./media/AB09.png) 6\. Conecte el módulo de atomización al micro:bit shield y conecte una fuente de alimentación externa. ![Img](./media/WPS010.png) 7\. Vuelva a sumergir la varilla de algodón en agua durante más de 3 minutos. El agua debe cubrir la mayor parte posible de la varilla, pero sin que el agua rebose. ![Img](./media/WPS11.jpg) 8\. Pulse el botón negro del módulo y podrá ver que comienza a rociar. La niebla se rocía durante 3 segundos. Pulse el botón de nuevo para apagarlo. ⚠️ **Atención: La placa de atomización no debe trabajar durante mucho tiempo, y cada operación no debe exceder los 5 segundos. Es preferible parar 1 o 2 minutos hasta que la varilla de algodón esté llena de agua antes de continuar. De lo contrario, puede quemarse.** ![Img](./media/sz12.png) ![Img](./media/WPS12.jpg) ![Img](./media/2bottom.png) #### 3.3.7.3 Componentes necesarios | ![Img](./media/microbitV2.png)| ![Img](./media/ExpansionBoard.png) | ![Img](./media/Atomization1.png)| | :--: | :--: | :--: | | micro:bit V2 main board ×1 | micro:bit shield ×1 |módulo de atomización ×1| |![Img](./media/DHT11.png)|![Img](./media/OLED.png)|![Img](./media/motor.png) | |sensor de temperatura y
humedad XHT11 ×1|OLED display ×1 |motor 130 ×1| |![Img](./media/usb.png) |![Img](./media/4pin.png)|![Img](./media/3pin.png)| | cable micro USB ×1 |cable de 4 pines ×2 |cable de 3 pines ×2 | |![Img](./media/fan.png) |![Img](./media/batterycase.png)| ![Img](./media/AAbattery.png)| |ventilador ×1|porta pilas ×1|pilas AA (**suministradas por el usuario**) ×6| #### 3.3.7.4 Diagrama de conexiones ⚠️ **Al cablear, preste atención al color del cable.** | 130 motor | color del cable | pin del micro:bit shield | pin de la placa micro:bit | | :--: | :--: | :--: | :--: | | G | black | G | G | | V | red | V2 | V | | IN+ | blue | 2 | P2 | | IN- | green | 13 | P13 | | OLED display | color del cable | pin del micro:bit shield | pin de la placa micro:bit | | :--: | :--: | :--: | :--: | | GND | black | G | G | | VCC | red | V2 | V | | SDA | blue | 20 | P20 | | SCL | green | 19 | P19 | | módulo de atomización | color del cable | pin del micro:bit shield | pin de la placa micro:bit | | :--: | :--: | :--: | :--: | | G | black | G | G | | V | red | V2 | V | | S | yellow | 16 | P16 | | Sensor de temperatura y
humedad XHT11 | color del cable | pin del micro:bit shield | pin de la placa micro:bit | | :--: | :--: | :--: | :--: | | G | black | G | G | | V | red | V1 | V | | S | yellow | 0 | P0 | ![Img](./media/couj7.png) #### 3.3.7.5 Flujo del código ![Img](./media/flow-chart-7.png) #### 3.3.7.6 Código de prueba ⚠️ **Tenga en cuenta que los umbrales 30 y 70 en la condición if() se pueden modificar según la situación real.** **Código completo:** ![Img](./media/couj07.png) ![Img](./media/line1.png) **Breve explicación:** ① Inicializar píxeles del OLED, limpiar el OLED. La matriz de LED 5×5 muestra ![Img](./media/ab6.png). Definir dos variables temperature y humidity, y establecer sus valores iniciales en 0, y apagar el módulo de atomización. ![Img](./media/cou23.png) ② Asignar el valor de temperatura leído por el sensor XHT11 a la variable temperature, y el valor de humedad a la variable humidity. ![Img](./media/cou24.png) ③ El OLED muestra los valores de temperatura y humedad detectados por el sensor XHT11. ![Img](./media/cou25.png) ④ Sentencia de decisión: if()...else... Si la temperatura detectada está por encima de 30℃ o la humedad está por encima de 70%RH, el ventilador se detendrá después de girar durante 2 segundos. Luego el módulo de atomización funcionará y rociará niebla de agua para regular la temperatura y humedad ambiente. Mientras tanto, el OLED muestra “Enfriando/Humidificando”. ![Img](./media/cou26.png) De lo contrario, el ventilador y el módulo de atomización no funcionarán, y el OLED mostrará “Estado Normal”. ![Img](./media/cou27.png) ⑤ Retardo de 500ms(0.5s) ![Img](./media/cou28.png) #### 3.3.7.7 Resultado de la prueba ![Img](./media/4top.png) Tras realizar las conexiones y alimentar mediante el cable micro USB, conecte también una alimentación externa (6 pilas AA) para asegurar un suministro de energía suficiente. Para la App de Windows 10, simplemente haga clic en download. Para el navegador, envíe el archivo “.hex” a la placa micro:bit. Después de subir el código de prueba a la placa micro:bit, el OLED muestra en tiempo real los valores de temperatura y humedad detectados por el sensor XHT11. Si la temperatura detectada está por encima de 30℃ o la humedad está por encima de 70%RH, el ventilador se detendrá después de girar durante 2 segundos. Luego el módulo de atomización funcionará y rociará niebla de agua para regular la temperatura y humedad ambiente. Mientras tanto, el OLED muestra “Enfriando/Humidificando”. De lo contrario, el ventilador y el módulo de atomización no funcionarán, y el OLED mostrará “Estado Normal”. ![Img](./media/dongtu-7.gif) ⚠️ **Nota: Las piezas de construcción (building blocks) en el experimento no están incluidas en este kit.** (**Consejo:** Si no se observa ningún resultado, presione el botón de reinicio de la placa micro:bit.) ![Img](./media/4bottom.png)