Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Ushbu qo'llanmada siz Blynk, esp32, DHT22 va BMP180 yordamida havo harorati, namlik va bosimni kuzatadigan havo monitorini qurasiz.
Ta'minotlar
- esp32 mikrokontroller
- DHT22
- BMP180
1 -qadam: Blynk -ni o'rnating
Bu loyiha uchun sizga Blynk kerak bo'ladi, natijada dunyoning istalgan nuqtasida natijalarni real vaqtda ko'rish mumkin. Siz oldingi darsimda Blynk -ni qanday o'rnatishni ko'rishingiz mumkin.
2 -qadam: kutubxonalarni o'rnating
Siz o'rnatishingiz kerak bo'lgan birinchi kutubxona bu SparkFun RHT03 Arduino kutubxonasi, uni https://learn.sparkfun.com/tutorials/rht03-dht22-humidity-and-temperature-sensor-hookup-guide?_ga= saytidan yuklab olishingiz mumkin. 2.53575016.1755727564.1559404402-688583549.1496066940#kutubxona-o'rnatish. Yuklab olingandan so'ng, Arduino IDE -ni oching va Sketch> Kutubxonani qo'shish> ZIP kutubxonasini qo'shish … -ga o'ting va yuklagan.zip faylini tanlang.
O'rnatishingiz kerak bo'lgan ikkinchi kutubxona - bu Adafruit BMP085 kutubxonasi, siz uni Sketch> Kutubxonani qo'shish> Kutubxonalarni boshqarish … bo'limiga o'tib o'rnatishingiz mumkin, keyin "BMP085" ni qidiring.
3 -qadam: O'chirish simini ulang
Endi siz simni ulashingiz kerak, bu juda oson sxema. Yuqoridagi sxemalarni ko'rib chiqing.
4 -qadam: Blynk uchun dastur tuzing
Ma'lumotni qabul qilish va uni ilovada sizga grafik ko'rinishida ko'rsatish uchun sizga Blynk ilovasi kerak bo'ladi. Uni qurish uchun yuqoridagi rasmlardan foydalaning.
Vidjetlar:
- 2x o'lchagichlar
- 1x Gorizontal daraja
Harorat o'lchagich sozlamalari:
- Ism: Harorat
- Rang: to'q sariq/sariq
- Kirish: V5 0-100
- Yorliq: /pin /° C
Yangilanish oralig'i: 1 sek
Namlik o'lchagich sozlamalari:
- Ism: namlik
- Rang: ochiq ko'k
- Kirish V6 0-100
- Yorliq: /pin /%
- Yangilanish oralig'i: 1 sek
Bosim darajasi sozlamalari
- Ism: bosim
- Rang: to'q sariq/sariq
- Kirish: V7 950-1050
- Eksani aylantirish: o'chirilgan
- Yangilanish oralig'i: 1 sek
5 -qadam: Kodni yuklang
Endi biz kodga tayyormiz. Kodni yuklashdan oldin siz ozgina o'zgartirish kiritishingiz kerak bo'ladi, char auth = "YourAuthToken" qatorini toping; va YourAuthToken -ni ilgari yozgan Auth tokeniga almashtiring va agar siz wifi -dan foydalanayotgan bo'lsangiz char ssid = "YourNetworkName" qatorini toping; va YourNetworkName -ni tarmoq nomi bilan almashtiring va char pass = "YourPassword" qatorini toping; va parolingizni Wifi parolingiz bilan almashtiring. Buni qilganingizdan so'ng, endi kodni yuklashingiz mumkin.
#aniqlang BLYNK_PRINT Serial #qo'shing
#qo'shing
#qo'shing
#qo'shing
#qo'shing
#qo'shing
/////////////////////
// Pin ta'riflari // ////////////////////// const int DHT22_DATA_PIN = 27; // DHT22 ma'lumotlar PIN -kodi const FLAME_SENSOR_DATA_PIN = 32; // Olov sensori ma'lumot pimi //////////////////////////// RHT03 Ob'ekt yaratish // /////////// ////////////////// RHT03 rht; // Bu RTH03 ob'ektini yaratadi, biz uni sensor bilan ishlashda ishlatamiz /////////////////////////// BMP180/BMP085 Ob'ekt yaratish // /////////////////////////// Adafruit_BMP085 bmp; // Siz Blynk ilovasida avtorizatsiya tokenini olishingiz kerak. // Loyiha sozlamalariga o'ting (yong'oq belgisi). char auth = "YourAuthToken"; // Wi -Fi ma'lumotlari. // Ochiq tarmoqlar uchun parolni "" ga o'rnating. char ssid = "Sizning tarmog'ingiz nomi"; char pass = "Sizning parolingiz"; BlynkTimer taymeri; void sendSensor () {int updateRet = rht.update (); if (updateRet == 1) {// namlik (), tempC () va tempF () funktsiyalari chaqirilishi mumkin - // muvaffaqiyatli yangilanishdan keyin () - oxirgi namlik va haroratni olish uchun // qiymat suzuvchi 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); } else {// Agar yangilanish bajarilmasa, // qayta urinishdan oldin RHT_READ_INTERVAL_MS ms kechiktirib ko'ring. kechikish (RHT_READ_INTERVAL_MS); }} void setup () {// Debug konsoli Serial.begin (9600); Blynk.begin (auth, ssid, pass); // Siz shuningdek serverni belgilashingiz mumkin: //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 ("Tegishli BMP085/BMP180 sensori topilmadi, simlarni tekshiring!"); while (1) {}} // Har soniyada chaqiriladigan funktsiyani sozlash timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); taymer.run (); }
6 -qadam: tugadi
Yaxshiyamki, kontaktlarning zanglashi tugallandi va endi uni quvvatlanadigan joyga qo'yish mumkin va u sizning telefoningizga harorat, namlik va bosim ma'lumotlarini yuboradi!