Tabla de contenido:

Monitor de aire Esp32: 6 pasos
Monitor de aire Esp32: 6 pasos

Video: Monitor de aire Esp32: 6 pasos

Video: Monitor de aire Esp32: 6 pasos
Video: ESP32 + HomeAssistant con ESPHome 2024, Noviembre
Anonim
Monitor de aire Esp32
Monitor de aire Esp32

En este tutorial, construirá un monitor de aire que monitorea la temperatura, la humedad y la presión del aire, todo usando Blynk, un esp32, un DHT22 y un BMP180.

Suministros

  • microcontrolador esp32
  • DHT22
  • BMP180

Paso 1: Configurar Blynk

Necesitará Blynk para este proyecto para que pueda ver los resultados en tiempo real en cualquier parte del mundo. Puedes ver cómo configurar Blynk en mi tutorial anterior.

Paso 2: instalar las bibliotecas

La primera biblioteca que deberá instalar es SparkFun RHT03 Arduino Library, puede descargarla desde https://learn.sparkfun.com/tutorials/rht03-dht22-humidity-and-temperature-sensor-hookup-guide?_ga= 2.53575016.1755727564.1559404402-688583549.1496066940 # instalación-biblioteca. Después de descargarlo, abra el IDE de Arduino y vaya a Sketch> Incluir biblioteca> Agregar biblioteca. ZIP … y seleccione el archivo.zip que acaba de descargar.

La segunda biblioteca que necesita instalar es la biblioteca Adafruit BMP085, puede instalarla yendo a Sketch> Incluir biblioteca> Administrar bibliotecas … luego busque 'BMP085'.

Paso 3: Conecte el circuito

Conecte el circuito
Conecte el circuito
Conecte el circuito
Conecte el circuito

Ahora necesitas conectar el circuito, es un circuito bastante fácil. Vea los esquemas del circuito arriba.

Paso 4: compile la aplicación para Blynk

Cree la aplicación para Blynk
Cree la aplicación para Blynk
Cree la aplicación para Blynk
Cree la aplicación para Blynk
Cree la aplicación para Blynk
Cree la aplicación para Blynk
Cree la aplicación para Blynk
Cree la aplicación para Blynk

Necesitará la aplicación en Blynk para que pueda recibir los datos y que se los muestre en la aplicación, gráficamente. Para construirlo usa las imágenes de arriba.

Widgets:

  • 2x medidores
  • 1x nivel horizontal

Configuración del indicador de temperatura:

  • Nombre: Temperature
  • Color: naranja / amarillo
  • Entrada: V5 0-100
  • Etiqueta: / pin / ° C
  • Intervalo de actualización: 1 segundo

Configuración del medidor de humedad:

  • Nombre: Humedad
  • Color: azul claro
  • Entrada V6 0-100
  • Etiqueta: / pin /%
  • Intervalo de actualización: 1 segundo

Configuración del nivel de presión

  • Nombre: Presión
  • Color: naranja / amarillo
  • Entrada: V7 950-1050
  • Voltear eje: desactivado
  • Intervalo de actualización: 1 segundo

Paso 5: cargue el código

Ahora estamos listos para el código. Antes de cargar el código, deberá realizar algunos cambios, busque la línea char auth = "YourAuthToken"; y reemplace YourAuthToken con el Auth Token que anotó anteriormente y si está usando wifi busque la línea char ssid = "YourNetworkName"; y reemplace YourNetworkName con el nombre de su red y busque la línea char pass = "YourPassword"; y reemplace YourPassword con su contraseña de Wifi. Después de hacer esto, ahora puede cargar el código.

#define BLYNK_PRINT Serial #include

#incluir

#incluir

#incluir

#incluir

#incluir

/////////////////////

// Definiciones de pines // ///////////////////// const int DHT22_DATA_PIN = 27; // Pin de datos DHT22 const int FLAME_SENSOR_DATA_PIN = 32; // Pin de datos del sensor de llama /////////////////////////// // Creación de objetos RHT03 // ////////// ///////////////// RHT03 rht; // Esto crea un objeto RTH03, que usaremos para interactuar con el sensor /////////////////////////// // BMP180 / BMP085 Creación de objetos // ///////////////////////////// Adafruit_BMP085 bmp; // Debería obtener el token de autenticación en la aplicación Blynk. // Vaya a Configuración del proyecto (icono de tuerca). char auth = "YourAuthToken"; // Tus credenciales de WiFi. // Establezca la contraseña en "" para redes abiertas. char ssid = "YourNetworkName"; char pass = "YourPassword"; Temporizador BlynkTimer; vacío sendSensor () {int updateRet = rht.update (); if (updateRet == 1) {// Las funciones de humedad (), tempC () y tempF () se pueden llamar - después de // una actualización exitosa () - para obtener la última humedad y temperatura // valor flotante latestHumidity = rht.humedad (); float latestTempC = rht.tempC (); float latestTempF = rht.tempF (); flotar última presión = bmp.readPressure () / 100; Blynk.virtualWrite (V5, latestTempC); Blynk.virtualWrite (V6, última humedad); Blynk.virtualWrite (V7, latestPressure); } else {// Si la actualización falló, intente retrasar RHT_READ_INTERVAL_MS ms antes de // intentarlo de nuevo. retraso (RHT_READ_INTERVAL_MS); }} void setup () {// Consola de depuración Serial.begin (9600); Blynk.begin (auth, ssid, pass); // También puede especificar server: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress (192, 168, 1, 100), 8080); rht.begin (DHT22_DATA_PIN); if (! bmp.begin ()) {Serial.println ("No se pudo encontrar un sensor BMP085 / BMP180 válido, ¡verifique el cableado!"); while (1) {}} // Configura una función para que se llame cada segundo timer.setInterval (1000L, sendSensor); } bucle vacío () {Blynk.run (); timer.run (); }

Paso 6: terminado

Finalizado
Finalizado
Finalizado
Finalizado
Finalizado
Finalizado

¡Bien hecho, el circuito ahora está completo y ahora se puede colocar en un lugar donde se alimenta y enviará datos de temperatura, humedad y presión a su teléfono!

Recomendado: