Spisu treści:

Monitor powietrza Esp32: 6 kroków
Monitor powietrza Esp32: 6 kroków

Wideo: Monitor powietrza Esp32: 6 kroków

Wideo: Monitor powietrza Esp32: 6 kroków
Wideo: #6 Zrób to sam: Nettigo Air Monitor (KIT 0.3.2) - montaż, wskazówki, recenzja. 2024, Listopad
Anonim
Monitor powietrza Esp32
Monitor powietrza Esp32

W tym samouczku zbudujesz monitor powietrza, który monitoruje temperaturę powietrza, wilgotność i ciśnienie, wszystko za pomocą Blynk, esp32, DHT22 i BMP180.

Kieszonkowe dzieci

  • esp32 mikrokontroler
  • DHT22
  • BMP180

Krok 1: Skonfiguruj Blynk

Do tego projektu będziesz potrzebować Blynk, abyś mógł zobaczyć wyniki w czasie rzeczywistym w dowolnym miejscu na świecie. Możesz zobaczyć, jak skonfigurować Blynk w moim poprzednim samouczku.

Krok 2: Zainstaluj biblioteki

Pierwszą biblioteką, którą musisz zainstalować, jest biblioteka Arduino SparkFun RHT03, którą możesz pobrać z https://learn.sparkfun.com/tutorials/rht03-dht22-humidity-and-temperature-sensor-hookup-guide?_ga= 2.53575016.1755727564.1559404402-688583549.1496066940#biblioteka-instalacja. Po pobraniu otwórz Arduino IDE i przejdź do Szkic> Dołącz bibliotekę> Dodaj bibliotekę ZIP… i wybierz właśnie pobrany plik.zip.

Drugą biblioteką, którą musisz zainstalować, jest biblioteka Adafruit BMP085. Możesz ją zainstalować, przechodząc do Sketch> Include Library> Manage Libraries… a następnie wyszukaj „BMP085”.

Krok 3: Podłącz obwód

Podłącz obwód
Podłącz obwód
Podłącz obwód
Podłącz obwód

Teraz musisz okablować obwód, jest to dość łatwy obwód. Zobacz schematy obwodów powyżej.

Krok 4: Zbuduj aplikację dla Blynk

Zbuduj aplikację dla Blynk
Zbuduj aplikację dla Blynk
Zbuduj aplikację dla Blynk
Zbuduj aplikację dla Blynk
Zbuduj aplikację dla Blynk
Zbuduj aplikację dla Blynk
Zbuduj aplikację dla Blynk
Zbuduj aplikację dla Blynk

Będziesz potrzebować aplikacji w Blynk, aby móc odbierać dane i wyświetlać je w aplikacji w formie graficznej. Do jej budowy wykorzystaj powyższe zdjęcia.

Widgety:

  • 2x Wskaźniki
  • 1x Poziomy poziom

Ustawienia wskaźnika temperatury:

  • Nazwa: Temperatura
  • Kolor: pomarańczowy/żółty
  • Wejście: V5 0-100
  • Etykieta: /pin/°C
  • Interwał odświeżania: 1 s

Ustawienia miernika wilgotności:

  • Nazwa: Wilgotność
  • Kolor: jasnoniebieski
  • Wejście V6 0-100
  • Etykieta: /pin/%
  • Interwał odświeżania: 1 s

Ustawienia poziomu ciśnienia

  • Nazwa: Ciśnienie
  • Kolor: pomarańczowy/żółty
  • Wejście: V7 950-1050
  • Odwróć oś: Wyłącz
  • Interwał odświeżania: 1 s

Krok 5: Prześlij kod

Teraz jesteśmy gotowi na kod. Przed przesłaniem kodu musisz dokonać kilku zmian, znajdź linię char auth = "YourAuthToken"; i zamień YourAuthToken na Auth Token, który zapisałeś wcześniej, a jeśli korzystasz z Wi-Fi, znajdź linię char ssid = "YourNetworkName"; i zastąp YourNetworkName nazwą swojej sieci i znajdź znak linii pass = "YourPassword"; i zastąp YourPassword hasłem Wi-Fi. Po wykonaniu tej czynności możesz teraz przesłać kod.

#define BLYNK_PRINT Serial #include

#włączać

#włączać

#włączać

#włączać

#włączać

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

// Definicje pinów // ///////////////////// const int DHT22_DATA_PIN = 27; // pin danych DHT22 const int FLAME_SENSOR_DATA_PIN = 32; // Pin danych czujnika płomienia ////////////////////////// // RHT03 Object Creation // ////////// ///////////////// RHT03 rht; // Tworzy to obiekt RTH03, którego użyjemy do interakcji z czujnikiem ////////////////////////// // BMP180/BMP085 Tworzenie obiektów // ////////////////////////// Adafruit_BMP085 bmp; // Powinieneś uzyskać Auth Token w aplikacji Blynk. // Przejdź do ustawień projektu (ikona nakrętki). char auth = "TwójTokenAuth"; // Twoje dane logowania do Wi-Fi. // Ustaw hasło na „” dla otwartych sieci. char ssid = "NazwaTwojejSieci"; char pass = "TwojeHasło"; Zegar BlynkTimer; void sendSensor() { int updateRet = rht.update(); if (updateRet == 1) { // Funkcje wilgotności(), tempC() i tempF() można wywoływać -- po // udanej aktualizacji() -- aby uzyskać ostatnią wilgotność i temperaturę // wartość zmiennoprzecinkowa najnowsza wilgotność = rht.wilgotność(); float najnowszaTempC = rht.tempC(); float najnowszaTempF = rht.tempF(); float najnowsze ciśnienie = bmp.readPressure()/100; Blynk.virtualWrite(V5, najnowszaTempC); Blynk.virtualWrite(V6, najnowsza wilgotność); Blynk.virtualWrite (V7, najnowsze ciśnienie); } else { // Jeśli aktualizacja się nie powiodła, spróbuj opóźnić się o RHT_READ_INTERVAL_MS przed // ponowną próbą. opóźnienie (RHT_READ_INTERVAL_MS); } } void setup() { // Debugowanie konsoli Serial.begin(9600); Blynk.begin(auth, ssid, pass); // Możesz również określić serwer: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress(192, 168, 1, 100), 8080); rht.początek(DHT22_DATA_PIN); if (!bmp.begin()) { Serial.println("Nie można znaleźć prawidłowego czujnika BMP085/BMP180, sprawdź okablowanie!"); while (1) {} } // Ustaw funkcję, która będzie wywoływana co sekundę timer.setInterval(1000L, sendSensor); } void loop() { Blynk.run(); timer.uruchom(); }

Krok 6: Zakończono

Skończone
Skończone
Skończone
Skończone
Skończone
Skończone

Dobra robota, obwód jest teraz gotowy i można go teraz umieścić w miejscu, w którym jest zasilany i przesyła dane dotyczące temperatury, wilgotności i ciśnienia do telefonu!

Zalecana: