สารบัญ:

Esp32 Air Monitor: 6 ขั้นตอน
Esp32 Air Monitor: 6 ขั้นตอน

วีดีโอ: Esp32 Air Monitor: 6 ขั้นตอน

วีดีโอ: Esp32 Air Monitor: 6 ขั้นตอน
วีดีโอ: EP27. ไม่ต้องใช้สาย ESP32 Over The Air programming 2024, กรกฎาคม
Anonim
เครื่องตรวจอากาศ Esp32
เครื่องตรวจอากาศ Esp32

ในบทช่วยสอนนี้ คุณจะต้องสร้างตัวตรวจสอบอากาศที่ตรวจสอบอุณหภูมิ ความชื้น และความดันของอากาศ ทั้งหมดนี้ใช้ Blynk, esp32, DHT22 และ BMP180

เสบียง

  • ไมโครคอนโทรลเลอร์ esp32
  • DHT22
  • BMP180

ขั้นตอนที่ 1: ตั้งค่า Blynk

คุณจะต้องใช้ Blynk สำหรับโปรเจ็กต์นี้ คุณจึงสามารถเห็นผลลัพธ์แบบเรียลไทม์ได้ทุกที่ในโลก คุณสามารถดูวิธีตั้งค่า Blynk ได้ในบทช่วยสอนก่อนหน้าของฉัน

ขั้นตอนที่ 2: ติดตั้ง Libraries

ไลบรารีแรกที่คุณต้องติดตั้งคือ SparkFun RHT03 Arduino Library คุณสามารถดาวน์โหลดได้จาก https://learn.sparkfun.com/tutorials/rht03-dht22-humidity-and-temperature-sensor-hookup-guide?_ga= 2.53575016.1755727564.1559404402-688583549.1496066940#การติดตั้งห้องสมุด หลังจากดาวน์โหลดแล้ว ให้เปิด Arduino IDE และไปที่ Sketch > Include Library > Add. ZIP Library… และเลือกไฟล์.zip ที่คุณเพิ่งดาวน์โหลด

ไลบรารีที่สองที่คุณต้องติดตั้งคือ Adafruit BMP085 Library คุณสามารถติดตั้งได้โดยไปที่ Sketch > Include Library > Manage Libraries… จากนั้นค้นหา 'BMP085'

ขั้นตอนที่ 3: ต่อวงจร

ต่อวงจร
ต่อวงจร
ต่อวงจร
ต่อวงจร

ตอนนี้คุณต้องต่อวงจร มันเป็นวงจรที่ค่อนข้างง่าย ดูแผนผังวงจรด้านบน

ขั้นตอนที่ 4: สร้างแอปพลิเคชันสำหรับ Blynk

สร้างแอปพลิเคชันสำหรับ Blynk
สร้างแอปพลิเคชันสำหรับ Blynk
สร้างแอปพลิเคชันสำหรับ Blynk
สร้างแอปพลิเคชันสำหรับ Blynk
สร้างแอปพลิเคชันสำหรับ Blynk
สร้างแอปพลิเคชันสำหรับ Blynk
สร้างแอปพลิเคชันสำหรับ Blynk
สร้างแอปพลิเคชันสำหรับ Blynk

คุณจะต้องใช้แอปพลิเคชันใน Blynk เพื่อให้คุณสามารถรับข้อมูลและแสดงให้คุณเห็นในแอปแบบกราฟิก ในการสร้างมันใช้รูปภาพด้านบน

วิดเจ็ต:

  • 2x เกจ
  • 1x ระดับแนวนอน

การตั้งค่าเครื่องวัดอุณหภูมิ:

  • ชื่อ: อุณหภูมิ
  • สี: ส้ม/เหลือง
  • อินพุต: V5 0-100
  • ป้ายกำกับ: /pin/°C
  • ช่วงเวลารีเฟรช: 1 วินาที

การตั้งค่าเครื่องวัดความชื้น:

  • ชื่อ: ความชื้น
  • สี: ฟ้าอ่อน
  • อินพุต V6 0-100
  • ป้ายกำกับ: /pin/%
  • ช่วงเวลารีเฟรช: 1 วินาที

การตั้งค่าระดับความดัน

  • ชื่อ: ดัน
  • สี: ส้ม/เหลือง
  • อินพุต: V7 950-1050
  • พลิกแกน: ปิด
  • ช่วงเวลารีเฟรช: 1 วินาที

ขั้นตอนที่ 5: อัปโหลดรหัส

ตอนนี้เราพร้อมแล้วสำหรับรหัส ก่อนอัปโหลดรหัส คุณจะต้องทำการเปลี่ยนแปลงเล็กน้อย ให้ค้นหาบรรทัด char auth = "YourAuthToken"; และแทนที่ YourAuthToken ด้วย Auth Token ที่คุณจดไว้ก่อนหน้านี้ และหากคุณใช้ wifi ให้ค้นหาบรรทัด char ssid = "YourNetworkName"; และแทนที่ YourNetworkName ด้วยชื่อเครือข่ายของคุณและค้นหา line char pass = "YourPassword"; และแทนที่ YourPassword ด้วยรหัสผ่าน Wifi ของคุณ หลังจากทำเช่นนี้ คุณสามารถอัปโหลดโค้ดได้แล้ว

#define BLYNK_PRINT Serial #รวม

#รวม

#รวม

#รวม

#รวม

#รวม

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

// คำจำกัดความของพิน // ///////////////////// const int DHT22_DATA_PIN = 27; // DHT22 data pin const int FLAME_SENSOR_DATA_PIN = 32; // พินข้อมูลเซ็นเซอร์เปลวไฟ /////////////////////////// // RHT03 การสร้างวัตถุ // ////////// //////////////// RHT03 rht; // สิ่งนี้สร้างวัตถุ RTH03 ซึ่งเราจะใช้โต้ตอบกับเซ็นเซอร์ /////////////////////////// // BMP180/BMP085 การสร้างวัตถุ // /////////////////////////// Adafruit_BMP085 bmp; // คุณควรได้รับ Auth Token ในแอป Blynk // ไปที่การตั้งค่าโครงการ (ไอคอนน็อต) char auth = "YourAuthToken"; // ข้อมูลรับรอง WiFi ของคุณ // ตั้งรหัสผ่านเป็น "" สำหรับเครือข่ายที่เปิดอยู่ char ssid = "ชื่อเครือข่ายของคุณ"; char pass = "รหัสผ่านของคุณ"; ตัวจับเวลา BlynkTimer; เป็นโมฆะ sendSensor () { int updateRet = rht.update (); if (updateRet == 1) { // ฟังก์ชันความชื้น (), tempC () และ tempF () สามารถเรียกได้ - หลังจาก // การอัปเดตสำเร็จ () - เพื่อรับความชื้นและอุณหภูมิสุดท้าย // ค่าลอยตัว ความชื้นล่าสุด = rht.humidity(); float latestTempC = rht.tempC(); float latestTempF = rht.tempF(); float latestPressure = bmp.readPressure()/100; Blynk.virtualWrite (V5, latestTempC); Blynk.virtualWrite (V6, ความชื้นล่าสุด); Blynk.virtualWrite (V7, แรงดันล่าสุด); } else { // หากการอัปเดตล้มเหลว ให้ลองรอ RHT_READ_INTERVAL_MS ms ก่อน // ลองอีกครั้ง ล่าช้า (RHT_READ_INTERVAL_MS); } } การตั้งค่าเป็นโมฆะ () { // Debug console Serial.begin (9600); Blynk.begin(รับรองความถูกต้อง, ssid, ผ่าน); // คุณยังสามารถระบุเซิร์ฟเวอร์: //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); ถ้า (!bmp.begin()) { Serial.println("ไม่พบเซ็นเซอร์ BMP085/BMP180 ที่ถูกต้อง ให้ตรวจสอบการเดินสาย!"); ในขณะที่ (1) {} } // ตั้งค่าฟังก์ชันที่จะเรียกทุก ๆ วินาที timer.setInterval(1000L, sendSensor); } วงเป็นโมฆะ () { Blynk.run (); timer.run(); }

ขั้นตอนที่ 6: เสร็จสิ้น

ที่เสร็จเรียบร้อย
ที่เสร็จเรียบร้อย
ที่เสร็จเรียบร้อย
ที่เสร็จเรียบร้อย
ที่เสร็จเรียบร้อย
ที่เสร็จเรียบร้อย

ทำได้ดีมาก ตอนนี้วงจรเสร็จสมบูรณ์แล้ว และตอนนี้สามารถวางไว้ในตำแหน่งที่มีการจ่ายไฟ และจะส่งข้อมูลอุณหภูมิ ความชื้น และความดันไปยังโทรศัพท์ของคุณ!

แนะนำ: