Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bu təlimatda, hamısı Blynk, bir esp32, DHT22 və BMP180 istifadə edərək hava istiliyini, rütubəti və təzyiqi izləyən bir hava monitoru quracaqsınız.
Təchizat
- esp32 Mikro nəzarətçi
- DHT22
- BMP180
Addım 1: Blynk qurun
Nəticələri dünyanın istənilən yerində real vaxtda görmək üçün bu layihə üçün Blynk -ə ehtiyacınız olacaq. Əvvəlki dərsliyimdə Blynk -in necə qurulacağını görə bilərsiniz.
Addım 2: Kitabxanaları quraşdırın
Yükləməyiniz lazım olan ilk kitabxana SparkFun RHT03 Arduino Kitabxanasıdır, bunu https://learn.sparkfun.com/tutorials/rht03-dht22-humidity-and-temperature-sensor-hookup-guide?_ga= saytından yükləyə bilərsiniz. 2.53575016.1755727564.1559404402-688583549.1496066940#kitabxana-quraşdırma. Yüklədikdən sonra Arduino IDE -ni açın və Sketch> Kitabxanaya Daxil Et> ZIP Kitabxanası əlavə et bölməsinə daxil olun və yeni yüklədiyiniz.zip faylını seçin.
Yükləməyiniz lazım olan ikinci kitabxana Adafruit BMP085 Kitabxanasıdır, bunu Sketch> Kitabxanaya Daxil Et> Kitabxanaları İdarə et… sonra 'BMP085' axtararaq daxil edə bilərsiniz.
Addım 3: Dövrəni bağlayın
İndi dövrəni bağlamalısınız, bu olduqca asan bir dövrədir. Yuxarıdakı dövrə sxemlərinə baxın.
Addım 4: Blynk üçün ərizə yaradın
Verilənləri əldə etmək və tətbiqdə sizə qrafik olaraq göstərmək üçün Blynk proqramına ehtiyacınız olacaq. Qurmaq üçün yuxarıdakı şəkillərdən istifadə edin.
Vidjetlər:
- 2x Ölçer
- 1x Üfüqi səviyyə
Temp Gauge Ayarları:
- Adı: Temperatur
- Rəng: Narıncı/Sarı
- Giriş: V5 0-100
- Etiket: /pin /° C
Yeniləmə Aralığı: 1sn
Rütubət Ölçmə Ayarları:
- Adı: Rütubət
- Rəng: Açıq Mavi
- Giriş V6 0-100
- ETİKET: /pin /%
- Yeniləmə Aralığı: 1sn
Təzyiq səviyyəsi parametrləri
- Adı: Təzyiq
- Rəng: Narıncı/Sarı
- Giriş: V7 950-1050
- Ekseni çevir: Qapalı
- Yeniləmə Aralığı: 1sn
Addım 5: Kodu yükləyin
İndi koda hazırıq. Kodu yükləməzdən əvvəl bir neçə dəyişiklik etməlisiniz, char auth = "YourAuthToken" xəttini tapın; və YourAuthToken'i əvvəllər yazdığınız Auth Token ilə əvəz edin və wifi istifadə edirsinizsə char ssid = "YourNetworkName" xəttini tapın; və şəbəkə adınızı YourNetworkName ilə əvəz edin və char pass = "YourPassword" xəttini tapın; və parolunuzu Wifi şifrənizlə əvəz edin. Bunu etdikdən sonra kodu yükləyə bilərsiniz.
#blynk_print seriyasını #daxil edin
#daxil edin
#daxil edin
#daxil edin
#daxil edin
#daxil edin
/////////////////////
// Pin Tərifləri // //////////////////////// int int DHT22_DATA_PIN = 27; // DHT22 data pin const int FLAME_SENSOR_DATA_PIN = 32; // Alov Sensoru məlumat pin /////////////////////////////////////// RHT03 Obyekt Yaratması // /////////// ////////////////// RHT03 rht; // Bu, sensorla qarşılıqlı əlaqə qurmaq üçün istifadə edəcəyimiz bir RTH03 obyekti yaradır /////////////////////////// BMP180/BMP085 Obyekt Yaradılması // //////////////////////////// Adafruit_BMP085 bmp; // Blynk Tətbiqində Doğrulama Tokenini almalısınız. // Layihə Ayarlarına gedin (qoz işarəsi). char auth = "YourAuthToken"; // WiFi etimadnaməniz. // Açıq şəbəkələr üçün şifrəni "" olaraq təyin edin. char ssid = "Şəbəkə Adınız"; char pass = "Şifrəniz"; BlynkTimer taymeri; etibarsız sendSensor () {int updateRet = rht.update (); if (updateRet == 1) {// Rütubət (), tempC () və tempF () funksiyalarını çağırmaq olar - // uğurlu bir yeniləmədən sonra () - son rütubəti və temperaturu əldə etmək üçün // dəyər üzmək latestHumidity = rht.humidity (); float latestTempC = rht.tempC (); float latestTempF = rht.tempF (); float latestPressure = bmp.readPressure ()/100; Blynk.virtualWrite (V5, latestTempC); Blynk.virtualWrite (V6, latestHumidity); Blynk.virtualWrite (V7, latestPressure); } başqa {// Yeniləmə uğursuz olarsa, // yenidən cəhd etməzdən əvvəl RHT_READ_INTERVAL_MS ms gecikdirməyə çalışın. gecikmə (RHT_READ_INTERVAL_MS); }} void setup () {// Debug console Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Ayrıca server təyin edə bilərsiniz: //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 ("Düzgün BMP085/BMP180 sensoru tapılmadı, naqilləri yoxlayın!"); while (1) {}} // Hər ikinci timer.setInterval (1000L, sendSensor) adlandırılacaq bir funksiya qurun; } boşluq döngəsi () {Blynk.run (); timer.run (); }
Addım 6: Bitdi
Əla, dövrə artıq tamamlandı və indi enerjili olduğu bir yerə yerləşdirilə bilər və telefonunuza temperatur, rütubət və təzyiq məlumatlarını göndərəcək!