Innholdsfortegnelse:

Esp32 luftmonitor: 6 trinn
Esp32 luftmonitor: 6 trinn

Video: Esp32 luftmonitor: 6 trinn

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

I denne opplæringen vil du bygge en luftmonitor som overvåker lufttemperatur, fuktighet og trykk, alt ved hjelp av Blynk, en esp32, en DHT22 og en BMP180.

Rekvisita

  • esp32 mikrokontroller
  • DHT22
  • BMP180

Trinn 1: Konfigurer Blynk

Du trenger Blynk for dette prosjektet, slik at du kan se resultatene i sanntid hvor som helst i verden. Du kan se hvordan du konfigurerer Blynk i min forrige opplæring.

Trinn 2: Installer bibliotekene

Det første biblioteket du må installere er SparkFun RHT03 Arduino Library, du kan laste det ned fra https://learn.sparkfun.com/tutorials/rht03-dht22-humidity-and-temperature-sensor-hookup-guide?_ga= 2.53575016.1755727564.1559404402-688583549.1496066940#bibliotek-installasjon. Etter at du har lastet den ned, åpner du Arduino IDE og går til Sketch> Include Library> Add. ZIP Library … og velg.zip -filen du nettopp lastet ned.

Det andre biblioteket du trenger å installere er Adafruit BMP085 -biblioteket. Du kan installere dette ved å gå til Sketch> Include Library> Manage Libraries … og søk deretter etter 'BMP085'.

Trinn 3: Koble opp kretsen

Koble opp kretsen
Koble opp kretsen
Koble opp kretsen
Koble opp kretsen

Nå må du koble til kretsen, det er en ganske enkel krets. Se kretsskjemaene ovenfor.

Trinn 4: Bygg programmet for Blynk

Bygg applikasjonen for Blynk
Bygg applikasjonen for Blynk
Bygg applikasjonen for Blynk
Bygg applikasjonen for Blynk
Bygg applikasjonen for Blynk
Bygg applikasjonen for Blynk
Bygg applikasjonen for Blynk
Bygg applikasjonen for Blynk

Du trenger programmet i Blynk slik at du kan motta dataene og få dem vist deg i appen, grafisk. Bruk bildene ovenfor for å bygge den.

Widgets:

  • 2x målere
  • 1x Horisontalt nivå

Temp Gauge Innstillinger:

  • Navn: Temperatur
  • Farge: oransje/gul
  • Inngang: V5 0-100
  • Etikett: /pin /° C
  • Oppdateringsintervall: 1 sek

Innstillinger for fuktighetsmåler:

  • Navn: Fuktighet
  • Farge: Lyseblå
  • Inngang V6 0-100
  • Etikett: /pin /%
  • Oppdateringsintervall: 1 sek

Trykknivåinnstillinger

  • Navn: Pressure
  • Farge: oransje/gul
  • Inngang: V7 950-1050
  • Vend aksen: Av
  • Oppdateringsintervall: 1 sek

Trinn 5: Last opp koden

Nå er vi klare for koden. Før du laster opp koden må du gjøre noen endringer. Finn linjen char auth = "YourAuthToken"; og erstatt YourAuthToken med Auth Token du skrev ned tidligere, og hvis du bruker wifi, finn linjen char ssid = "YourNetworkName"; og erstatt YourNetworkName med nettverksnavnet ditt og finn linjen char pass = "YourPassword"; og erstatt YourPassword med ditt Wifi -passord. Etter å ha gjort dette kan du nå laste opp koden.

#define BLYNK_PRINT Serial #include

#inkludere

#inkludere

#inkludere

#inkludere

#inkludere

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

// Pin Definitions // ////////////////////////// const int DHT22_DATA_PIN = 27; // DHT22 data pin const int FLAME_SENSOR_DATA_PIN = 32; // Flammesensordatapinne //////////////////////////////// // RHT03 Object Creation // //////////// ///////////////////// RHT03 rht; // Dette oppretter et RTH03 -objekt, som vi vil bruke til å samhandle med sensoren ///////////////////////////// // BMP180/BMP085 Object Creation // ///////////////////////////////// Adafruit_BMP085 bmp; // Du bør få Auth Token i Blynk -appen. // Gå til prosjektinnstillingene (nøtterikon). char auth = "YourAuthToken"; // WiFi -legitimasjonen din. // Sett passordet til "" for åpne nettverk. char ssid = "Ditt nettverksnavn"; char pass = "YourPassword"; BlynkTimer timer; void sendSensor () {int updateRet = rht.update (); hvis (updateRet == 1) {// Fuktighet (), tempC () og tempF () funksjoner kan kalles - etter // en vellykket oppdatering () - for å få den siste fuktigheten og temperaturen // verdi flyt latestHumidity = rht.fuktighet (); float latestTempC = rht.tempC (); float latestTempF = rht.tempF (); float latestPressure = bmp.readPressure ()/100; Blynk.virtualWrite (V5, latestTempC); Blynk.virtualWrite (V6, latestHumidity); Blynk.virtualWrite (V7, siste trykk); } annet {// Hvis oppdateringen mislyktes, kan du prøve å utsette RHT_READ_INTERVAL_MS ms før // prøve igjen. forsinkelse (RHT_READ_INTERVAL_MS); }} ugyldig oppsett () {// Debug -konsoll Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Du kan også angi server: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress (192, 168, 1, 100), 8080); rht.begynner (DHT22_DATA_PIN); if (! bmp.begin ()) {Serial.println ("Kunne ikke finne en gyldig BMP085/BMP180 -sensor, sjekk ledninger!"); mens (1) {}} // Sett opp en funksjon som skal kalles annenhvert timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }

Trinn 6: Ferdig

Ferdig
Ferdig
Ferdig
Ferdig
Ferdig
Ferdig

Godt gjort, kretsen er nå fullført og kan nå plasseres på et sted hvor den er drevet og vil sende temperatur-, fuktighets- og trykkdata til telefonen din!

Anbefalt: