Índice:

Esp32 Air Monitor: 6 etapas
Esp32 Air Monitor: 6 etapas

Vídeo: Esp32 Air Monitor: 6 etapas

Vídeo: Esp32 Air Monitor: 6 etapas
Vídeo: How to Monitor Air Quality Using ESP32 | Air Quality Monitoring System | ESP32 | Blynk IOT Projects 2024, Novembro
Anonim
Esp32 Air Monitor
Esp32 Air Monitor

Neste tutorial, você construirá um monitor de ar que monitora a temperatura, umidade e pressão do ar, todos usando Blynk, um esp32, um DHT22 e um BMP180.

Suprimentos

  • microcontrolador esp32
  • DHT22
  • BMP180

Etapa 1: configurar o Blynk

Você precisará do Blynk para este projeto para que possa ver os resultados em tempo real em qualquer lugar do mundo. Você pode ver como configurar o Blynk no meu tutorial anterior.

Etapa 2: instalar as bibliotecas

A primeira biblioteca que você precisa instalar é a SparkFun RHT03 Arduino Library, você pode baixá-la em https://learn.sparkfun.com/tutorials/rht03-dht22-humidity-and-temperature-sensor-hookup-guide?_ga= 2.53575016.1755727564.1559404402-688583549.1496066940 # library-installation. Depois de baixá-lo, abra o Arduino IDE e vá para Sketch> Incluir Biblioteca> Adicionar. ZIP Library … e selecione o arquivo.zip que você acabou de baixar.

A segunda biblioteca que você precisa instalar é a Biblioteca Adafruit BMP085, você pode instalá-la acessando Sketch> Incluir Biblioteca> Gerenciar Bibliotecas … em seguida, procure por 'BMP085'.

Etapa 3: Conecte o circuito

Ligue o circuito
Ligue o circuito
Ligue o circuito
Ligue o circuito

Agora você precisa conectar o circuito, é um circuito bem fácil. Veja o esquema do circuito acima.

Etapa 4: Crie o aplicativo para Blynk

Crie o aplicativo para Blynk
Crie o aplicativo para Blynk
Crie o aplicativo para Blynk
Crie o aplicativo para Blynk
Crie o aplicativo para Blynk
Crie o aplicativo para Blynk
Crie o aplicativo para Blynk
Crie o aplicativo para Blynk

Você precisará do aplicativo em Blynk para que possa receber os dados e exibi-los graficamente no aplicativo. Para construí-lo use as fotos acima.

Widgets:

  • 2x medidores
  • 1x nível horizontal

Configurações do medidor de temperatura:

  • Nome: Temperatura
  • Cor: Laranja / Amarelo
  • Entrada: V5 0-100
  • Etiqueta: / pin / ° C
  • Intervalo de atualização: 1seg

Configurações do medidor de umidade:

  • Nome: Umidade
  • Cor: Azul Claro
  • Entrada V6 0-100
  • Etiqueta: / pin /%
  • Intervalo de atualização: 1seg

Configurações de nível de pressão

  • Nome: Pressão
  • Cor: Laranja / Amarelo
  • Entrada: V7 950-1050
  • Flip Axis: Off
  • Intervalo de atualização: 1seg

Etapa 5: faça upload do código

Agora estamos prontos para o código. Antes de enviar o código, você precisará fazer algumas alterações, localize a linha char auth = "YourAuthToken"; e substitua YourAuthToken pelo Auth Token que você anotou anteriormente e, se estiver usando wi-fi, encontre a linha char ssid = "YourNetworkName"; e substitua YourNetworkName pelo seu nome de rede e encontre a linha char pass = "YourPassword"; e substitua YourPassword por sua senha Wifi. Depois de fazer isso, agora você pode fazer upload do código.

#define BLYNK_PRINT Serial #include

#incluir

#incluir

#incluir

#incluir

#incluir

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

// Pin Definitions // ///////////////////// Const int DHT22_DATA_PIN = 27; // Pino de dados DHT22 const int FLAME_SENSOR_DATA_PIN = 32; // Pino de dados do sensor de chama /////////////////////////// // RHT03 Criação de objeto // ////////// ///////////////// RHT03 rht; // Isso cria um objeto RTH03, que usaremos para interagir com o sensor /////////////////////////////// // BMP180 / BMP085 Criação de objeto // /////////////////////////// Adafruit_BMP085 bmp; // Você deve obter o Auth Token no aplicativo Blynk. // Vá para as configurações do projeto (ícone de noz). char auth = "YourAuthToken"; // Suas credenciais de WiFi. // Defina a senha para "" para redes abertas. char ssid = "YourNetworkName"; char pass = "SuaSenha"; Cronômetro BlynkTimer; void sendSensor () {int updateRet = rht.update (); if (updateRet == 1) {// As funções umidade (), tempC () e tempF () podem ser chamadas - após // uma atualização bem-sucedida () - para obter a última umidade e temperatura // valor flutuante lastHumidity = rht.humidity (); float lastTempC = rht.tempC (); float lastTempF = rht.tempF (); float latestPressure = bmp.readPressure () / 100; Blynk.virtualWrite (V5, últimoTempC); Blynk.virtualWrite (V6, umidade mais recente); Blynk.virtualWrite (V7, latestPressure); } else {// Se a atualização falhou, tente atrasar por RHT_READ_INTERVAL_MS ms antes de // tentar novamente. atraso (RHT_READ_INTERVAL_MS); }} void setup () {// console de depuração Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Você também pode 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 ("Não foi possível encontrar um sensor BMP085 / BMP180 válido, verifique a fiação!"); while (1) {}} // Configura uma função a ser chamada a cada segundo timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }

Etapa 6: Concluída

Finalizado
Finalizado
Finalizado
Finalizado
Finalizado
Finalizado

Muito bem, o circuito agora está completo e agora pode ser colocado em um local onde é alimentado e enviará dados de temperatura, umidade e pressão para o seu telefone!

Recomendado: