Cuprins:

Monitor de aer Esp32: 6 pași
Monitor de aer Esp32: 6 pași

Video: Monitor de aer Esp32: 6 pași

Video: Monitor de aer Esp32: 6 pași
Video: Make Air Quality Monitor for Home Assistant with ESP32 2024, Iulie
Anonim
Monitor de aer Esp32
Monitor de aer Esp32

În acest tutorial, veți construi un monitor de aer care monitorizează temperatura, umiditatea și presiunea aerului, toate folosind Blynk, un esp32, un DHT22 și un BMP180.

Provizii

  • microcontroler esp32
  • DHT22
  • BMP180

Pasul 1: Configurați Blynk

Veți avea nevoie de Blynk pentru acest proiect, astfel încât să puteți vedea rezultatele în timp real oriunde în lume. Puteți vedea cum să configurați Blynk în tutorialul meu anterior.

Pasul 2: Instalați bibliotecile

Prima bibliotecă pe care va trebui să o instalați este SparkFun RHT03 Arduino Library, puteți descărca acest lucru de pe https://learn.sparkfun.com/tutorials/rht03-dht22-humidity-and-temperature-sensor-hookup-guide?_ga= 2.53575016.1755727564.1559404402-688583549.1496066940 # biblioteca-instalare. După descărcare, deschideți ID-ul Arduino și accesați Sketch> Include Library> Add. ZIP Library … și selectați fișierul.zip pe care tocmai l-ați descărcat.

A doua bibliotecă pe care trebuie să o instalați este Biblioteca Adafruit BMP085, puteți instala aceasta accesând Sketch> Include Library> Manage Libraries … apoi căutați „BMP085”.

Pasul 3: conectați circuitul

Conectați circuitul
Conectați circuitul
Conectați circuitul
Conectați circuitul

Acum trebuie să conectați circuitul, este un circuit destul de ușor. Vedeți schemele de circuit de mai sus.

Pasul 4: Construiți aplicația pentru Blynk

Construiți aplicația pentru Blynk
Construiți aplicația pentru Blynk
Construiți aplicația pentru Blynk
Construiți aplicația pentru Blynk
Construiți aplicația pentru Blynk
Construiți aplicația pentru Blynk
Construiți aplicația pentru Blynk
Construiți aplicația pentru Blynk

Veți avea nevoie de aplicație în Blynk, astfel încât să puteți primi datele și să vi le arate în aplicație, grafic. Pentru a-l construi folosiți imaginile de mai sus.

Widgeturi:

  • 2x Calibre
  • 1x nivel orizontal

Setări Temp Gauge:

  • Nume: Temperatura
  • Culoare: portocaliu / galben
  • Intrare: V5 0-100
  • Etichetă: / pin / ° C
  • Interval de reîmprospătare: 1sec

Setări umiditate:

  • Nume: Umiditate
  • Culoare: Albastru deschis
  • Intrare V6 0-100
  • Etichetă: / pin /%
  • Interval de reîmprospătare: 1sec

Setări nivel presiune

  • Nume: Presiune
  • Culoare: portocaliu / galben
  • Intrare: V7 950-1050
  • Flip Axis: Off
  • Interval de reîmprospătare: 1sec

Pasul 5: încărcați codul

Acum suntem pregătiți pentru cod. Înainte de a încărca codul, va trebui să faceți câteva modificări, găsiți linia char auth = "YourAuthToken"; și înlocuiți YourAuthToken cu Auth Token pe care l-ați notat mai devreme și dacă utilizați wifi găsiți linia char ssid = "YourNetworkName"; și înlocuiți YourNetworkName cu numele rețelei și găsiți linia char pass = "Parola dvs."; și înlocuiți parola dvs. cu parola Wifi. După ce faceți acest lucru, puteți încărca acum codul.

#define BLYNK_PRINT Serial #include

#include

#include

#include

#include

#include

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

// Definiții Pin // ///////////////////// const int DHT22_DATA_PIN = 27; // DHT22 pin pin const int FLAME_SENSOR_DATA_PIN = 32; // Pinul de date al senzorului de flacără /////////////////////////// // RHT03 Crearea obiectelor // ////////// ///////////////// RHT03 rht; // Aceasta creează un obiect RTH03, pe care îl vom folosi pentru a interacționa cu senzorul /////////////////////////// // BMP180 / BMP085 Crearea obiectelor // /////////////////////////// Adafruit_BMP085 bmp; // Ar trebui să obțineți Auth Token în aplicația Blynk. // Accesați Setările proiectului (pictograma piuliță). char auth = "YourAuthToken"; // Acreditările dvs. WiFi. // Setați parola la „” pentru rețelele deschise. char ssid = "NumeleRetei Dvs."; char pass = "Parola ta"; Temporizator BlynkTimer; void sendSensor () {int updateRet = rht.update (); if (updateRet == 1) {// Funcțiile umiditate (), tempC () și tempF () pot fi apelate - după // o actualizare reușită () - pentru a obține ultima umiditate și temperatură // valoare float latestHumidity = rht.humidity (); float latestTempC = rht.tempC (); float latestTempF = rht.tempF (); float latestPressure = bmp.readPressure () / 100; Blynk.virtualWrite (V5, latestTempC); Blynk.virtualWrite (V6, latestHumidity); Blynk.virtualWrite (V7, latestPressure); } else {// Dacă actualizarea a eșuat, încercați să întârziați pentru RHT_READ_INTERVAL_MS ms înainte de a // încerca din nou. întârziere (RHT_READ_INTERVAL_MS); }} void setup () {// Consolă de depanare Serial.begin (9600); Blynk.begin (auth, ssid, pass); // De asemenea, puteți specifica serverul: //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 ("Nu s-a putut găsi un senzor BMP085 / BMP180 valid, verificați cablarea!"); while (1) {}} // Configurați o funcție care să fie numită la fiecare secundă timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }

Pasul 6: Finalizat

Terminat
Terminat
Terminat
Terminat
Terminat
Terminat

Bravo, circuitul este acum complet și acum poate fi plasat într-o locație în care este alimentat și vă va trimite date de temperatură, umiditate și presiune pe telefon!

Recomandat: