Innehållsförteckning:

Esp32 luftmonitor: 6 steg
Esp32 luftmonitor: 6 steg

Video: Esp32 luftmonitor: 6 steg

Video: Esp32 luftmonitor: 6 steg
Video: ESP32, более мощная чем любая другая Ардуино 2024, Juli
Anonim
Esp32 luftmonitor
Esp32 luftmonitor

I denna handledning kommer du att bygga en luftmonitor som övervakar lufttemperatur, luftfuktighet och tryck, allt med Blynk, en esp32, en DHT22 och en BMP180.

Tillbehör

  • esp32 mikrokontroller
  • DHT22
  • BMP180

Steg 1: Konfigurera Blynk

Du behöver Blynk för detta projekt så att du kan se resultaten i realtid var som helst i världen. Du kan se hur du konfigurerar Blynk i min tidigare handledning.

Steg 2: Installera biblioteken

Det första biblioteket du behöver installera är SparkFun RHT03 Arduino-biblioteket, du kan ladda ner det från https://learn.sparkfun.com/tutorials/rht03-dht22-humidity-and-temperature-sensor-hookup-guide?_ga= 2.53575016.1755727564.1559404402-688583549.1496066940#bibliotek-installation. När du har laddat ner den öppnar du Arduino IDE och går till Sketch> Inkludera bibliotek> Lägg till. ZIP -bibliotek … och välj.zip -filen du just laddade ner.

Det andra biblioteket du behöver installera är Adafruit BMP085 -biblioteket, du kan installera detta genom att gå in i Sketch> Inkludera bibliotek> Hantera bibliotek … sök sedan efter 'BMP085'.

Steg 3: Koppla upp kretsen

Koppla upp kretsen
Koppla upp kretsen
Koppla upp kretsen
Koppla upp kretsen

Nu måste du koppla upp kretsen, det är en ganska enkel krets. Se kretsscheman ovan.

Steg 4: Bygg applikationen för Blynk

Skapa applikationen för Blynk
Skapa applikationen för Blynk
Skapa applikationen för Blynk
Skapa applikationen för Blynk
Skapa applikationen för Blynk
Skapa applikationen för Blynk
Skapa applikationen för Blynk
Skapa applikationen för Blynk

Du behöver appen i Blynk så att du kan ta emot data och få den visad för dig i appen, grafiskt. Använd bilderna ovan för att bygga det.

Widgets:

  • 2x mätare
  • 1x Horisontell nivå

Temp Gauge Inställningar:

  • Namn: Temperatur
  • Färg: Orange/gul
  • Ingång: V5 0-100
  • Etikett: /pin /° C
  • Uppdateringsintervall: 1sek

Fuktighetsmätarinställningar:

  • Namn: Luftfuktighet
  • Färg: Ljusblå
  • Ingång V6 0-100
  • Etikett: /pin /%
  • Uppdateringsintervall: 1sek

Trycknivåinställningar

  • Namn: Tryck
  • Färg: Orange/gul
  • Ingång: V7 950-1050
  • Vändaxel: Av
  • Uppdateringsintervall: 1sek

Steg 5: Ladda upp koden

Nu är vi redo för koden. Innan du laddar upp koden måste du göra några ändringar, hitta raden char auth = "YourAuthToken"; och ersätt YourAuthToken med Auth Token som du skrev ner tidigare och om du använder wifi, hitta raden char ssid = "YourNetworkName"; och ersätt YourNetworkName med ditt nätverksnamn och hitta linjen char pass = "YourPassword"; och ersätt YourPassword med ditt Wifi -lösenord. Efter att du gjort detta kan du nu ladda upp koden.

#define BLYNK_PRINT Serial #include

#omfatta

#omfatta

#omfatta

#omfatta

#omfatta

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

// Pin Definitions // ///////////////////////// const int DHT22_DATA_PIN = 27; // DHT22 data pin const int FLAME_SENSOR_DATA_PIN = 32; // Flamsensordatapinne ////////////////////////////// // RHT03 skapande av objekt // ////////// ///////////////////// RHT03 rht; // Detta skapar ett RTH03 -objekt, som vi använder för att interagera med sensorn ///////////////////////////// Object Creation // ///////////////////////////////// Adafruit_BMP085 bmp; // Du bör få Auth Token i Blynk -appen. // Gå till projektinställningarna (mutterikon). char auth = "YourAuthToken"; // Dina WiFi -uppgifter. // Ställ in lösenordet på "" för öppna nätverk. char ssid = "Ditt nätverksnamn"; char pass = "Ditt lösenord"; BlynkTimer -timer; void sendSensor () {int updateRet = rht.update (); if (updateRet == 1) {// Luftfuktigheten (), tempC () och tempF () kan kallas - efter // en framgångsrik uppdatering () - för att få den sista luftfuktigheten och temperaturen // värdeflöde latestHumidity = rht.humidity (); float latestTempC = rht.tempC (); float latestTempF = rht.tempF (); float latestPressure = bmp.readPressure ()/100; Blynk.virtualWrite (V5, latestTempC); Blynk.virtualWrite (V6, senasteHumidity); Blynk.virtualWrite (V7, senaste tryck); } annat {// Om uppdateringen misslyckades, försök att fördröja RHT_READ_INTERVAL_MS ms innan // försöker igen. fördröjning (RHT_READ_INTERVAL_MS); }} void setup () {// Debug console Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Du kan också ange server: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress (192, 168, 1, 100), 8080); rht.start (DHT22_DATA_PIN); if (! bmp.begin ()) {Serial.println ("Det gick inte att hitta en giltig BMP085/BMP180 -sensor, kontrollera kabeldragning!"); medan (1) {}} // Ställ in en funktion som ska kallas varannan timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }

Steg 6: Avslutad

Färdiga
Färdiga
Färdiga
Färdiga
Färdiga
Färdiga

Bra gjort, kretsen är nu klar och kan nu placeras på en plats där den drivs och kommer att skicka temperatur-, fukt- och tryckdata till din telefon!

Rekommenderad: