Სარჩევი:

Esp32 ჰაერის მონიტორი: 6 ნაბიჯი
Esp32 ჰაერის მონიტორი: 6 ნაბიჯი

ვიდეო: Esp32 ჰაერის მონიტორი: 6 ნაბიჯი

ვიდეო: Esp32 ჰაერის მონიტორი: 6 ნაბიჯი
ვიდეო: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, ნოემბერი
Anonim
Esp32 ჰაერის მონიტორი
Esp32 ჰაერის მონიტორი

ამ გაკვეთილში თქვენ ააშენებთ ჰაერის მონიტორს, რომელიც აკონტროლებს ჰაერის ტემპერატურას, ტენიანობას და წნევას, ყველა იყენებს Blynk, esp32, DHT22 და BMP180.

მარაგები

  • esp32 მიკროკონტროლერი
  • DHT22
  • BMP180

ნაბიჯი 1: დააინსტალირეთ ბლინკი

თქვენ დაგჭირდებათ ბლინკი ამ პროექტისთვის, რათა ნახოთ შედეგები რეალურ დროში მსოფლიოს ნებისმიერ წერტილში. თქვენ ხედავთ, თუ როგორ უნდა დააყენოთ ბლინკი ჩემს წინა გაკვეთილში.

ნაბიჯი 2: დააინსტალირეთ ბიბლიოთეკები

პირველი ბიბლიოთეკა, რომლის დაყენებაც დაგჭირდებათ არის SparkFun RHT03 Arduino ბიბლიოთეკა, შეგიძლიათ გადმოწეროთ https://learn.sparkfun.com/tutorials/rht03-dht22-humidity-and-temperature-sensor-hookup-guide?_ga= 2.53575016.1755727564.1559404402-688583549.1496066940#ბიბლიოთეკა-მონტაჟი. გადმოტვირთვის შემდეგ გახსენით Arduino IDE და გადადით ჩანახატი> ბიბლიოთეკის ჩართვა>. ZIP ბიბლიოთეკის დამატება… და შეარჩიეთ.zip ფაილი, რომელიც გადმოწერეთ.

მეორე ბიბლიოთეკა, რომლის დაყენებაც გჭირდებათ არის Adafruit BMP085 ბიბლიოთეკა, შეგიძლიათ დააინსტალიროთ ესკიზში> ბიბლიოთეკის ჩართვა> ბიბლიოთეკების მართვა … შემდეგ მოძებნოთ 'BMP085'.

ნაბიჯი 3: შეაერთეთ წრე

ჩართეთ წრე
ჩართეთ წრე
ჩართეთ წრე
ჩართეთ წრე

ახლა თქვენ უნდა შეაერთოთ წრე, ეს საკმაოდ მარტივი წრეა. იხილეთ სქემის სქემა ზემოთ.

ნაბიჯი 4: შექმენით პროგრამა ბლინკისთვის

შექმენით პროგრამა ბლინკისთვის
შექმენით პროგრამა ბლინკისთვის
შექმენით პროგრამა ბლინკისთვის
შექმენით პროგრამა ბლინკისთვის
შექმენით პროგრამა ბლინკისთვის
შექმენით პროგრამა ბლინკისთვის
შექმენით პროგრამა ბლინკისთვის
შექმენით პროგრამა ბლინკისთვის

თქვენ დაგჭირდებათ პროგრამა ბლინკში, რათა მიიღოთ მონაცემები და გაჩვენოთ ის აპლიკაციაში, გრაფიკულად. მის შესაქმნელად გამოიყენეთ ზემოთ მოყვანილი სურათები.

ვიჯეტები:

  • 2x საზომი
  • 1x ჰორიზონტალური დონე

ტემპერატურის გაზომვის პარამეტრები:

  • დასახელება: ტემპერატურა
  • ფერი: ნარინჯისფერი/ყვითელი
  • შეყვანა: V5 0-100
  • ეტიკეტი: /pin /° C
  • განახლების ინტერვალი: 1 წამი

ტენიანობის მაჩვენებლის პარამეტრები:

  • დასახელება: ტენიანობა
  • ფერი: ღია ცისფერი
  • შეყვანა V6 0-100
  • ლეიბლი: /pin /%
  • განახლების ინტერვალი: 1 წამი

წნევის დონის პარამეტრები

  • დასახელება: ზეწოლა
  • ფერი: ნარინჯისფერი/ყვითელი
  • შეყვანა: V7 950-1050
  • გადაბრუნების ღერძი: გამორთულია
  • განახლების ინტერვალი: 1 წამი

ნაბიჯი 5: ატვირთეთ კოდი

ახლა ჩვენ მზად ვართ კოდისთვის. კოდის ატვირთვამდე დაგჭირდებათ რამდენიმე ცვლილების შეტანა, იპოვეთ ხაზი char author = "YourAuthToken"; და ჩაანაცვლეთ YourAuthToken იმ Auth Token– ით, რომელიც ადრე ჩაწერეთ და თუ იყენებთ wifi- ს, იპოვეთ ხაზი char ssid = "YourNetworkName"; და შეცვალეთ YourNetworkName თქვენი ქსელის სახელით და იპოვეთ ხაზი char pass = "YourPassword"; და შეცვალეთ YourPassword თქვენი Wifi პაროლით. ამის შემდეგ შეგიძლიათ ატვირთოთ კოდი.

#განსაზღვრეთ BLYNK_PRINT სერიალი #ჩართეთ

#ჩართეთ

#ჩართეთ

#ჩართეთ

#ჩართეთ

#ჩართეთ

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

// Pin განსაზღვრებები // ///////////////////// const int DHT22_DATA_PIN = 27; // DHT22 მონაცემების pin const int FLAME_SENSOR_DATA_PIN = 32; // ფლეიმის სენსორის მონაცემთა პინი ////////////////////////////RHT03 ობიექტის შექმნა // ////////// ////////////////// RHT03 rht; // ეს ქმნის RTH03 ობიექტს, რომელსაც ჩვენ გამოვიყენებთ სენსორთან ურთიერთობისთვის //////////////////////////// BMP180/BMP085 ობიექტის შექმნა // ////////////////////////// Adafruit_BMP085 bmp; // თქვენ უნდა მიიღოთ Auth Token ბლინკის აპლიკაციაში. // გადადით პროექტის პარამეტრებზე (თხილის ხატი). char auth = "YourAuthToken"; // თქვენი WiFi სერთიფიკატები. // დააყენეთ პაროლი "" ღია ქსელებისთვის. char ssid = "შენი ქსელის სახელი"; char pass = "YourPassword"; BlynkTimer ქრონომეტრი; void sendSensor () {int updateRet = rht.update (); თუ (updateRet == 1) {// ტენიანობის (), tempC () და tempF () ფუნქციებს შეიძლება დავარქვათ - // წარმატებული განახლების შემდეგ () - ბოლო ტენიანობისა და ტემპერატურის მისაღებად // მნიშვნელობა float უახლესი ტენიანობა = rht.humidity (); float latestTempC = rht.tempC (); float latestTempF = rht.tempF (); float latestPressure = bmp.readPressure ()/100; Blynk.virtualWrite (V5, უახლესი TempC); Blynk.virtualWrite (V6, უახლესი ტენიანობა); Blynk.virtualWrite (V7, უახლესი წნევა); } else {// თუ განახლება ვერ მოხერხდა, სცადეთ გადადება RHT_READ_INTERVAL_MS ms– ით // ცადოთ ისევ. დაგვიანება (RHT_READ_INTERVAL_MS); }} void setup () {// გამართვის კონსოლი Serial.begin (9600); Blynk.begin (author, ssid, pass); // თქვენ ასევე შეგიძლიათ მიუთითოთ სერვერი: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress (192, 168, 1, 100), 8080); rht. დასაწყისი (DHT22_DATA_PIN); if (! bmp.begin ()) {Serial.println ("ვერ ვნახე მოქმედი BMP085/BMP180 სენსორი, შეამოწმეთ გაყვანილობა!"); while (1) {}} // დააყენეთ ფუნქცია, რომელსაც უნდა ეწოდოს ყოველ მეორე timer.setInterval (1000L, sendSensor); } void loop () {Blynk.run (); timer.run (); }

ნაბიჯი 6: დასრულდა

დასრულდა
დასრულდა
დასრულდა
დასრულდა
დასრულდა
დასრულდა

კარგად გაკეთებული, წრე უკვე დასრულებულია და მისი განთავსება შესაძლებელია იმ ადგილას, სადაც ის იკვებება და გაგზავნის ტემპერატურის, ტენიანობის და წნევის მონაცემებს თქვენს ტელეფონში!

გირჩევთ: