Sadržaj:

Esp32 Nadzor zraka: 6 koraka
Esp32 Nadzor zraka: 6 koraka

Video: Esp32 Nadzor zraka: 6 koraka

Video: Esp32 Nadzor zraka: 6 koraka
Video: ESP32 Tutorial 6 - Using RGB LED Project 2.3 -SunFounder's ESP32 IoT Learnig kit 2024, Novembar
Anonim
Esp32 Nadzor vazduha
Esp32 Nadzor vazduha

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

Supplies

  • 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 biblioteke

Prva biblioteka koju trebate instalirati je SparkFun RHT03 Arduino biblioteka, koju možete preuzeti sa 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 Library, 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 kolo, to je prilično jednostavno kolo. Pogledajte gornje sheme kola.

Korak 4: 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
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 koristite gornje slike.

Widgeti:

  • 2x mjerači
  • 1x horizontalni nivo

Postavke mjerača temperature:

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

Postavke mjerača vlažnosti:

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

Postavke nivoa pritiska

  • Naziv: Pritisak
  • Boja: Narandžasta/Žuta
  • Ulaz: V7 950-1050
  • Okretna osovina: Isključeno
  • Interval osvježavanja: 1 sek

Korak 5: Otpremite kôd

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

#define BLYNK_PRINT Serijski #include

#include

#include

#include

#include

#include

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

// Pin Definicije // /////////////////////// const int DHT22_DATA_PIN = 27; // DHT22 pin pin const int FLAME_SENSOR_DATA_PIN = 32; // pin podataka senzora plamena ///////////////////////////// // RHT03 Kreiranje objekta // //////////// /////////////////// RHT03 rht; // Ovo stvara objekt RTH03, koji ćemo koristiti za interakciju sa senzorom ///////////////////////////// BMP180/BMP085 Kreiranje objekata // ///////////////////////////// Adafruit_BMP085 bmp; // Trebali biste dobiti Auth Token u aplikaciji Blynk. // Idite na Postavke projekta (ikona oraha). char auth = "YourAuthToken"; // Vaši WiFi akreditivi. // Postavite lozinku na "" za otvorene mreže. char ssid = "Ime vaše mreže"; char pass = "Vaša lozinka"; BlynkTimer timer; 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, najnoviji TempC); Blynk.virtualWrite (V6, najnovija vlažnost); Blynk.virtualWrite (V7, najnoviji pritisak); } else {// Ako ažuriranje nije uspjelo, pokušajte odgoditi RHT_READ_INTERVAL_MS ms prije nego // pokušate ponovo. kašnjenje (RHT_READ_INTERVAL_MS); }} void setup () {// Konzola za otklanjanje grešaka Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Možete navesti i 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 ("Nije moguće pronaći važeći BMP085/BMP180 senzor, provjerite ožičenje!"); while (1) {}} // Postavljanje funkcije koja će se pozivati svaki drugi timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }

Korak 6: Završeno

Finished
Finished
Finished
Finished
Finished
Finished

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

Preporučuje se: