Sadržaj:

Monitor zraka Esp32: 6 koraka
Monitor zraka Esp32: 6 koraka

Video: Monitor zraka Esp32: 6 koraka

Video: Monitor zraka Esp32: 6 koraka
Video: ESP32 Tutorial 4 - Data types Define Variable Int, bool, char, Serial Monitor-ESP32 IoT Learnig kit 2024, Studeni
Anonim
Monitor zraka Esp32
Monitor zraka Esp32

U ovom vodiču izradit ćete monitor zraka koji prati temperaturu, vlažnost i tlak zraka, a sve pomoću Blynk -a, esp32, DHT22 i BMP180.

Pribor

  • esp32 Mikrokontroler
  • DHT22
  • BMP180

Korak 1: Postavite Blynk

Za ovaj projekt trebat će vam Blynk kako biste rezultate mogli vidjeti u stvarnom vremenu bilo gdje u svijetu. Možete vidjeti kako postaviti Blynk u mom prethodnom vodiču.

Korak 2: Instalirajte knjižnice

Prva biblioteka koju trebate instalirati je SparkFun RHT03 Arduino knjižnica, koju možete preuzeti s https://learn.sparkfun.com/tutorials/rht03-dht22-humidity-and-temperature-sensor-hookup-guide?_ga= 2.53575016.1755727564.1559404402-688583549.1496066940#biblioteka-instalacija. Nakon preuzimanja otvorite Arduino IDE i idite u Sketch> Include Library> Add. ZIP Library … i odaberite.zip datoteku koju ste upravo preuzeli.

Druga biblioteka koju trebate instalirati je Adafruit BMP085 knjižnica, koju možete instalirati tako da odete u Sketch> Include Library> Manage Libraries …, a zatim potražite 'BMP085'.

Korak 3: Ožičite krug

Ožičite krug
Ožičite krug
Ožičite krug
Ožičite krug

Sada morate spojiti krug, to je prilično jednostavan krug. Pogledajte gornje sheme kola.

Korak 4: Izradite aplikaciju za Blynk

Napravite aplikaciju za Blynk
Napravite aplikaciju za Blynk
Napravite aplikaciju za Blynk
Napravite aplikaciju za Blynk
Napravite aplikaciju za Blynk
Napravite aplikaciju za Blynk
Napravite aplikaciju za Blynk
Napravite aplikaciju za Blynk

Trebat će vam aplikacija u Blynku kako biste mogli primiti podatke i prikazati vam ih u aplikaciji, grafički. Za njegovu izradu upotrijebite gornje slike.

Widgeti:

  • 2x mjerači
  • 1x vodoravna razina

Postavke mjerača temperature:

  • Naziv: Temperatura
  • Boja: Narančasta/Žuta
  • Ulaz: V5 0-100
  • Oznaka: /pin /° C
  • Interval osvježavanja: 1 sek

Postavke mjerača vlage:

  • Naziv: Vlažnost
  • Boja: Svijetlo plava
  • Ulaz V6 0-100
  • Oznaka: /pin /%
  • Interval osvježavanja: 1 sek

Postavke razine tlaka

  • Naziv: Tlak
  • Boja: Narančasta/Žuta
  • Ulaz: V7 950-1050
  • Okretna os: Isključeno
  • Interval osvježavanja: 1 sek

Korak 5: Prenesite kôd

Sada smo spremni za kod. Prije učitavanja koda morat ćete unijeti nekoliko izmjena, pronaći redak char auth = "YourAuthToken"; i zamijenite YourAuthToken tokenom autorizacije koji ste ranije zapisali, a ako koristite wifi, pronađite redak char ssid = "YourNetworkName"; i zamijenite YourNetworkName svojim imenom mreže i pronađite red char pass = "YourPassword"; i zamijenite svoju lozinku lozinkom za WiFi. Nakon što to učinite, sada možete učitati kôd.

#define BLYNK_PRINT Serijski #include

#uključi

#uključi

#uključi

#uključi

#uključi

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

// Pin Definitions // /////////////////////// const int DHT22_DATA_PIN = 27; // DHT22 pin pin const int FLAME_SENSOR_DATA_PIN = 32; // pin podataka senzora plamena /////////////////////////// // RHT03 Stvaranje objekta // //////////// /////////////////// RHT03 rht; // Ovo stvara objekt RTH03, koji ćemo koristiti za interakciju sa senzorom ///////////////////////////// BMP180/BMP085 Stvaranje objekta // ///////////////////////////// Adafruit_BMP085 bmp; // Trebali biste dobiti Auth Token u aplikaciji Blynk. // Idite na Postavke projekta (ikona matice). char auth = "YourAuthToken"; // Vaše WiFi vjerodajnice. // Postavi lozinku na "" za otvorene mreže. char ssid = "Ime vaše mreže"; char pass = "Vaša lozinka"; BlynkTimer mjerač vremena; void sendSensor () {int updateRet = rht.update (); if (updateRet == 1) {// Funkcije vlažnosti (), tempC () i tempF () mogu se pozvati - nakon // uspješnog ažuriranja () - za dobivanje posljednje vlažnosti i temperature // vrijednost pluta latestHumidity = rht.humidity (); float latestTempC = rht.tempC (); float latestTempF = rht.tempF (); float latestPressure = bmp.readPressure ()/100; Blynk.virtualWrite (V5, najnovijiTempC); Blynk.virtualWrite (V6, najnovija vlažnost); Blynk.virtualWrite (V7, najnovijiPritisak); } else {// Ako ažuriranje nije uspjelo, pokušajte odgoditi RHT_READ_INTERVAL_MS ms prije nego // pokušate ponovno. kašnjenje (RHT_READ_INTERVAL_MS); }} void setup () {// Konzola za otklanjanje pogrešaka Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Također možete navesti poslužitelj: //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 ("Nije moguće pronaći važeći BMP085/BMP180 senzor, provjerite ožičenje!"); while (1) {}} // Postavljanje funkcije koja će se zvati svaki drugi timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }

Korak 6: Završeno

Završeno
Završeno
Završeno
Završeno
Završeno
Završeno

Bravo, krug je sada dovršen i sada se može postaviti na mjesto gdje se napaja te će slati podatke o temperaturi, vlažnosti i tlaku na vaš telefon!

Preporučeni: