domingo, 2 de octubre de 2022

DHT11 usando el Serial Plotter de Ardunino IDE 2.0

Arduino IDE 2.0 nos brinda una herramienta que nos permite hacer gráficos con los datos enviados a través del puerto serie. El IDE o Entorno de Desarrollo Integrado (Integrated Development Environment) es la aplicación en la que está incorporado el Serial Plotter, con otras más, como un editor de código, un compilador, un depurador y un monitor serie que nos permite ver y enviar datos a través del puerto serie, formando en su conjunto el grupo de herramientas de programación para Arduino.

Con sólo tres patillas, el DTH11 es un sensor que nos proporciona en su salida digital la temperatura y humedad medida por él mismo. Una patilla es el negativo y otra el positivo de la alimentación, entre 3,3 y 5V; la patilla central es la salida serie por donde envía los datos, haciendo así extremadamente fácil integrar este sensor en un sistema digital.

Instalé Arduino IDE 2.0 desde Flatpak con Software en Debian 11:


Arduino IDE v2 lo encontramos en el Menú de inicio -> Desarrollo


Después de arrancar, nos podemos encontrar que no es visible el puerto donde se conecta la tarjeta. La "medicina" tradicional para resolver este problema es la siguiente:

  • Abrimos un terminal
  •  Ejecutamos el comando que habilita al usuario actual para usar los puertos:
    • sudo usermod -a -G dialout $USER
  • Reiniciamos o cerramos la sesión gráfica, y volvemos a entrar

Ahora los puertos se pueden listar.



Antes de ir al grano, no debemos olvidar instalar la librería del sensor DHT11 y DHT22, la DHT sensor library de Adafruit:


El circuito es el siguiente:


Conectamos el hardware a través del puerto USB:


 Hay que tener mucho cuidado de realizar correctamente las conexiones del sensor de humedad y temperatura DHT11. Invertir la polaridad en el mismo suele causar su destrucción. El sensor de tres patillas lleva integrada la resistencia pull-up, siendo innecesaria la resistencia de 4K7 representada en el esquema anterior:

Con un sencillo programa podemos visualizar la temperatura y la humedad fácilmente:

#include "DHT.h"

#define DHTPIN 2 // Patilla donde está conectado el sensor

#define DHTTYPE DHT11 // Para el DHT 11
// #define DHTTYPE DHT22 // Para el DHT22

DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
float h = dht.readHumidity(); // Registramos la Humedad
float t = dht.readTemperature(); // Registramos la temperatura en grados Celsius
delay(5000);
//--------Enviamos las lecturas a través del puerto serie-------------
Serial.print("Temperatura:"); // Etiqueta Temperatura para el Serial Plotter
Serial.print(t);
Serial.print(","); // Permite ver las dos magnitudes en el mismo gráfico del
                        Serial Plotter     
 
Serial.print("Humedad:"); Etiqueta Humedad para el Serial Plotter
Serial.println(h);
}

Para cargarlo en el Arduino UNO tenemos que abrir la aplicación Arduino IDE y Cargar:


Para ver el resultado del programa, abrimos el Plotter serie:


El programa no requiere un gran comentario, pero el resultado en el Plotter serie es el siguiente:

Si desmarcamos la temperatura, podemos ver la gráfica de la humedad con mucho más detalle:

En este caso marca una humedad relativa del 48 %

Si desmarcamos la humedad, podemos ver la gráfica de la temperatura de forma mas detallada:

La gráfica representa aquí una temperatura de 23 °C

Creo que el Plotter serie o Serial plotter es una herramienta muy interesante que complementa la del Monitor serie del Arduino IDE:



No hay comentarios:

Publicar un comentario