İçindekiler:

Esp32 Hava Monitörü: 6 Adım
Esp32 Hava Monitörü: 6 Adım

Video: Esp32 Hava Monitörü: 6 Adım

Video: Esp32 Hava Monitörü: 6 Adım
Video: ESP32 Send Temperature and Humidity Data to localhost XAMPP for Absolute Beginners Step by Step 2024, Temmuz
Anonim
Esp32 Hava Monitörü
Esp32 Hava Monitörü

Bu öğreticide, tümü Blynk, bir esp32, bir DHT22 ve bir BMP180 kullanarak hava sıcaklığını, nemi ve basıncı izleyen bir hava monitörü oluşturacaksınız.

Gereçler

  • esp32 Mikrodenetleyici
  • DHT22
  • BMP180

1. Adım: Blynk'i Kurun

Sonuçları dünyanın her yerinde gerçek zamanlı olarak görebilmeniz için bu proje için Blynk'e ihtiyacınız olacak. Blynk'i nasıl kuracağınızı önceki öğreticimde görebilirsiniz.

Adım 2: Kitaplıkları Kurun

Kurmanız gereken ilk kütüphane SparkFun RHT03 Arduino Kütüphanesidir, bunu https://learn.sparkfun.com/tutorials/rht03-dht22-humidity-and-temperature-sensor-hookup-guide?_ga= adresinden indirebilirsiniz. 2.53575016.1755727564.1559404402-688583549.149606940#kütüphane kurulumu. İndirdikten sonra Arduino IDE'yi açın ve Sketch > Include Library > Add. ZIP Library… seçeneğine gidin ve az önce indirdiğiniz.zip dosyasını seçin.

Yüklemeniz gereken ikinci kitaplık Adafruit BMP085 Kitaplığı'dır, bunu Sketch > Include Library > Manage Libraries…'e gidip 'BMP085' aratarak yükleyebilirsiniz.

Adım 3: Devreyi Bağlayın

Devreyi Bağlayın
Devreyi Bağlayın
Devreyi Bağlayın
Devreyi Bağlayın

Şimdi devreyi bağlamanız gerekiyor, oldukça kolay bir devre. Yukarıdaki devre şemalarına bakın.

4. Adım: Blynk için Uygulamayı Oluşturun

Blynk için Uygulamayı Derleyin
Blynk için Uygulamayı Derleyin
Blynk için Uygulamayı Derleyin
Blynk için Uygulamayı Derleyin
Blynk için Uygulamayı Derleyin
Blynk için Uygulamayı Derleyin
Blynk için Uygulamayı Derleyin
Blynk için Uygulamayı Derleyin

Verileri alabilmeniz ve uygulamada size grafik olarak gösterilmesini sağlayabilmeniz için Blynk'te uygulamaya ihtiyacınız olacak. İnşa etmek için yukarıdaki resimleri kullanın.

Widget'lar:

  • 2x Göstergeler
  • 1x Yatay seviye

Sıcaklık Göstergesi Ayarları:

  • isim: Sıcaklık
  • Renk: Turuncu/Sarı
  • Giriş: V5 0-100
  • Etiket: /pin/°C
  • Yenileme Aralığı: 1sn

Nem Göstergesi Ayarları:

  • isim: Nem
  • Renk: Açık Mavi
  • Giriş V6 0-100
  • Etiket: /pin/%
  • Yenileme Aralığı: 1sn

Basınç Seviyesi Ayarları

  • İsim: Basınç
  • Renk: Turuncu/Sarı
  • Giriş: V7 950-1050
  • Döndürme Ekseni: Kapalı
  • Yenileme Aralığı: 1sn

Adım 5: Kodu Yükleyin

Artık kod için hazırız. Kodu yüklemeden önce birkaç değişiklik yapmanız gerekecek, char auth = "YourAuthToken"; satırını bulun. ve YourAuthToken'ı daha önce yazdığınız Auth Token ile değiştirin ve wifi kullanıyorsanız char ssid = "YourNetworkName"; ve YourNetworkName'i ağ adınızla değiştirin ve char pass = "YourPassword" satırını bulun; ve YourPassword'ünüzü Wifi şifrenizle değiştirin. Bunu yaptıktan sonra şimdi kodu yükleyebilirsiniz.

#define BLYNK_PRINT Seri #include

#Dahil etmek

#Dahil etmek

#Dahil etmek

#Dahil etmek

#Dahil etmek

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

// Pin Tanımları // /////////////////// const int DHT22_DATA_PIN = 27; // DHT22 data pin const int FLAME_SENSOR_DATA_PIN = 32; // Alev Sensörü veri pini //////////////////////// // RHT03 Nesne Oluşturma // ////////// //////////////// RHT03 sağ; // Bu, sensörle etkileşim kurmak için kullanacağımız bir RTH03 nesnesi oluşturur //////////////////////// // BMP180/BMP085 Nesne Oluşturma // //////////////////////// Adafruit_BMP085 bmp; // Blynk Uygulamasında Auth Token almalısınız. // Proje Ayarlarına gidin (somun simgesi). char auth = "YourAuthToken"; // WiFi kimlik bilgileriniz. // Açık ağlar için şifreyi "" olarak ayarlayın. char ssid = "AğAdınız"; char pass = "Parolanız"; BlynkTimer zamanlayıcı; void sendSensor() { int updateRet = rht.update(); if (updateRet == 1) { // nem(), tempC() ve tempF() işlevleri çağrılabilir -- // başarılı bir güncellemeden sonra() -- son nem ve sıcaklığı almak için // değer yüzer en sonNem = rht.nem(); float lastTempC = rht.tempC(); float lastTempF = rht.tempF(); float lastPressure = bmp.readPressure()/100; Blynk.virtualWrite(V5, en sonTempC); Blynk.virtualWrite(V6, en son Nem); Blynk.virtualWrite(V7, en sonBasınç); } else { // Güncelleme başarısız olursa, tekrar denemeden önce RHT_READ_INTERVAL_MS ms geciktirmeyi deneyin. gecikme(RHT_READ_INTERVAL_MS); } } void setup() { // Hata ayıklama konsolu Serial.begin(9600); Blynk.begin(auth, ssid, pass); // Sunucuyu da belirtebilirsiniz: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAdresi(192, 168, 1, 100), 8080); rht.begin(DHT22_DATA_PIN); if (!bmp.begin()) { Serial.println("Geçerli bir BMP085/BMP180 sensörü bulunamadı, kablolamayı kontrol edin!"); while (1) {} } // Her saniyede bir çağrılacak bir fonksiyon ayarlayın timer.setInterval(1000L, sendSensor); } geçersiz döngü() { Blynk.run(); zamanlayıcı.run(); }

6. Adım: Tamamlandı

bitmiş
bitmiş
bitmiş
bitmiş
bitmiş
bitmiş

Aferin, devre şimdi tamamlandı ve artık güç verilen ve telefonunuza sıcaklık, nem ve basınç verilerini göndereceği bir yere yerleştirilebilir!

Önerilen: