# Medir Temperatura y Humedad con el DHT22

Este caso es distinto, pues

- En el **Rover marciano con Arduino** el DHT22 está conectado al pin D5 digital del NodeMCU
- En el **Arduinobloks en el aula**, el DHT11 de la placa Imagina TDR Steam está conectado al pin D4 digital del Arduino
- En el **IoT en el Aula**  el DHT11 de la placa Imagina TDR Steam está conectado al pin D4 digital del ESP32

<p class="callout danger">Pero los dos miden dos variables **Temperatura** Y **Humedad**</p>

<p class="callout warning">**🤔😳¿Cómo hacemos para medir dos variables en un sensor que está conectado a un sólo PIN?🤔😳**</p>

<span style="color: #169179;">**Solución PINES VIRTUALES:** </span>si, has leído bien, vamos a utilizar **pines virtuales**.

##### <span style="color: #169179;">**En ARDUINOBLOCKS**</span>

Vamos a ARDUINOBLOCKS y establecemos dos pines virtuales, uno para la temperatura y otro para la humedad, arbitrariamente he puesto V2 y V3 pero puede ser cualquiera.

- Para el kit de **ROVER MARCIANO CON ARDUINO** poner pin **D5** 
    - Si el sensor es AZUL entonces DHT11 si el sensor es BLANCO entonces DHT22

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-xrcnij5m.jpeg)

- Para el kit que tenga la placa **TDR STEAM IMAGINA** es decir los cursos **ARDUINO BLOCKS EN EL AULA y ESP32 EN EL AULA** poner pin **D4** 
    - Si el sensor es AZUL entonces DHT11 si el sensor es BLANCO entonces DHT22

[![dht11arduinoblockstdrsteam2.jpg](https://libros.catedu.es/uploads/images/gallery/2022-09/scaled-1680-/dht11arduinoblockstdrsteam2.jpg)](https://libros.catedu.es/uploads/images/gallery/2022-09/dht11arduinoblockstdrsteam2.jpg)

<p class="callout warning">**Fíjate** que hay dos maneras de programar estos eventos:  
- en el primero, utilizamos un bucle propio de Blynk que simplemente cada segundo lee el sensor y los almacenan los pines virtuales V2 y V3  
- en el segundo no se ha utilizado ese bucle propio de Blynk sino simplemente dentro de Bucle hemos puesto otro bucle que se ejecuta cada 2 segundos, y dentro una funciona que se llama LECTURAS. dentro de lecturas esta la lectura de los pines virtuales V2 y V3  
  
Da igual. Nosotros tenemos preferencia por el segundo método, nos parece más elegante y más controlable.</p>

##### <span style="color: #169179;">**En la APP de Blynk**</span>

Y en Blynk incorporamos un Gauge que sea al PIN VIRTUAL V2.

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-68mixoi5.png)

Modificamos también los límites, pues por defecto sale 0 a 1023 y se vería muy bajo la temperatura, ponemos -10 a 30. Si es para el Rover marciano de Arduino, allí se puede llegar a -50ºC y si es para el TDR Steam será en Aragón, el récord lo tiene [Fuentes Claras con -30ºC.](https://www.youtube.com/watch?v=DgT1THxQ89w)

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-gkwu9cq3.png)

Para la humedad hacemos lo mismo:

- Pin virtual V3
- Límites 0% a 100%

Resultado :

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-hj7yxf2m.png)