Inhoudsopgave:

Esp32 Luchtmonitor: 6 stappen
Esp32 Luchtmonitor: 6 stappen

Video: Esp32 Luchtmonitor: 6 stappen

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

In deze tutorial bouw je een luchtmonitor die de luchttemperatuur, vochtigheid en druk bewaakt, allemaal met behulp van Blynk, een esp32, een DHT22 en een BMP180.

Benodigdheden

  • esp32 Microcontroller
  • DHT22
  • BMP180

Stap 1: Stel Blynk in

Voor dit project heb je Blynk nodig, zodat je overal ter wereld realtime de resultaten kunt zien. Je kunt zien hoe je Blynk instelt in mijn vorige tutorial.

Stap 2: Installeer de bibliotheken

De eerste bibliotheek die u moet installeren, is de SparkFun RHT03 Arduino-bibliotheek, u kunt deze downloaden van https://learn.sparkfun.com/tutorials/rht03-dht22-humidity-and-temperature-sensor-hookup-guide?_ga= 2.53575016.1755727564.1559404402-688583549.1496066940#bibliotheek-installatie. Nadat je het hebt gedownload, open je de Arduino IDE en ga je naar Sketch> Bibliotheek opnemen>. ZIP-bibliotheek toevoegen … en selecteer je het.zip-bestand dat je zojuist hebt gedownload.

De tweede bibliotheek die u moet installeren is de Adafruit BMP085-bibliotheek, u kunt deze installeren door naar Sketch > Bibliotheek opnemen > Bibliotheken beheren te gaan… en vervolgens te zoeken naar 'BMP085'.

Stap 3: Sluit het circuit aan

Sluit het circuit aan
Sluit het circuit aan
Sluit het circuit aan
Sluit het circuit aan

Nu moet je het circuit aansluiten, het is een vrij eenvoudig circuit. Zie de schema's van de schakeling hierboven.

Stap 4: Bouw de applicatie voor Blynk

Bouw de applicatie voor Blynk
Bouw de applicatie voor Blynk
Bouw de applicatie voor Blynk
Bouw de applicatie voor Blynk
Bouw de applicatie voor Blynk
Bouw de applicatie voor Blynk
Bouw de applicatie voor Blynk
Bouw de applicatie voor Blynk

Je hebt de applicatie in Blynk nodig om de gegevens te kunnen ontvangen en grafisch aan je te laten zien in de app. Gebruik de afbeeldingen hierboven om het te bouwen.

Widgets:

  • 2x Meters
  • 1x Horizontaal niveau

Instellingen temperatuurmeter:

  • Naam: Temperatuur
  • Kleur: Oranje/Geel
  • Ingang: V5 0-100
  • Label: /pin/°C
  • Vernieuwingsinterval: 1sec

Instellingen vochtigheidsmeter:

  • Naam: Vochtigheid
  • Kleur: Lichtblauw
  • Ingang V6 0-100
  • Label: /pin/%
  • Vernieuwingsinterval: 1sec

Instellingen drukniveau

  • naam: Druk
  • Kleur: Oranje/Geel
  • Ingang: V7 950-1050
  • Draaias: Uit
  • Vernieuwingsinterval: 1sec

Stap 5: Upload de code

Nu zijn we klaar voor de code. Voordat u de code uploadt, moet u een paar wijzigingen aanbrengen, zoek de regel char auth = "YourAuthToken"; en vervang YourAuthToken door de Auth Token die je eerder hebt genoteerd en als je wifi gebruikt, zoek dan de regel char ssid = "YourNetworkName"; en vervang YourNetworkName door uw netwerknaam en zoek de regel char pass = "YourPassword"; en vervang YourPassword door uw Wifi-wachtwoord. Hierna kun je de code uploaden.

#define BLYNK_PRINT Serienummer #include

#erbij betrekken

#erbij betrekken

#erbij betrekken

#erbij betrekken

#erbij betrekken

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

// Pindefinities // ///////////////////// const int DHT22_DATA_PIN = 27; // DHT22 data pin const int FLAME_SENSOR_DATA_PIN = 32; // Gegevenspin vlamsensor /////////////////////////// // RHT03 Object Creatie // ////////// ///////////////// RHT03 rechts; // Dit creëert een RTH03-object, dat we zullen gebruiken om met de sensor te communiceren /////////////////////////// // BMP180/BMP085 Objectcreatie // /////////////////////////// Adafruit_BMP085 bmp; // Je zou Auth Token moeten krijgen in de Blynk-app. // Ga naar de projectinstellingen (moerpictogram). char auth = "YourAuthToken"; // Uw WiFi-inloggegevens. // Stel wachtwoord in op "" voor open netwerken. char ssid = "UwNetwerkNaam"; char pass = "UwWachtwoord"; BlynkTimer-timer; void sendSensor () { int updateRet = rht.update (); if (updateRet == 1) { // De functies vochtigheid (), tempC () en tempF () kunnen worden aangeroepen -- na // een succesvolle update () -- om de laatste vochtigheid en temperatuur te krijgen // waarde float laatstevochtigheid = rht.vochtigheid(); float laatsteTempC = rht.tempC(); float laatsteTempF = rht.tempF(); float laatstePressure = bmp.readPressure()/100; Blynk.virtualWrite (V5, nieuwsteTempC); Blynk.virtualWrite (V6, nieuwste vochtigheid); Blynk.virtualWrite (V7, nieuwste druk); } else { // Als de update is mislukt, probeer het dan uit te stellen voor RHT_READ_INTERVAL_MS ms voordat // probeer het opnieuw. vertraging (RHT_READ_INTERVAL_MS); } } void setup () { // Debug console Serial.begin (9600); Blynk.begin(auth, ssid, pass); // U kunt ook de server specificeren: //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("Kon geen geldige BMP085/BMP180-sensor vinden, controleer de bedrading!"); while (1) {} } // Stel een functie in die elke seconde moet worden aangeroepen timer.setInterval(1000L, sendSensor); } void loop() { Blynk.run(); timer.run(); }

Stap 6: Klaar

Afgewerkt
Afgewerkt
Afgewerkt
Afgewerkt
Afgewerkt
Afgewerkt

Goed gedaan, het circuit is nu compleet en kan nu worden geplaatst op een locatie waar het wordt gevoed en temperatuur-, vochtigheids- en drukgegevens naar je telefoon stuurt!

Aanbevolen: