สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
เป็นที่ทราบกันดีอยู่แล้วว่าในแนวดิ่งของอุตสาหกรรมส่วนใหญ่ อุณหภูมิ ความชื้น ความดัน คุณภาพอากาศ คุณภาพน้ำ ฯลฯ มีปัจจัยสำคัญที่ต้องติดตามอย่างต่อเนื่องและต้องมีระบบแจ้งเตือนที่จำเป็นเมื่อค่าไป ห่างจากธรณีประตูที่ตั้งไว้
ต้นแบบนี้จะช่วยให้เราเข้าใจกระบวนการตรวจสอบอุณหภูมิและความชื้นโดยใช้ "AM2301 Capacitive Digital Temperature & Humidity Sensor"
การสร้างต้นแบบนี้ทำได้ง่ายและสะดวกมาก ฉันหวังว่าคำแนะนำใน "คำแนะนำ" นี้จะช่วยให้ผู้อ่านเห็นภาพที่ชัดเจนของการใช้งานจริง
เสบียง
- AM2301 Capacitive Digital Temperature & Humidity Sensor
- D1 Mini V2 NodeMcu 4M ไบต์ Lua WIFI Internet Of Things Development Board จาก ESP8266
- 170 pts Mini Breadboard SYB-170 สีขาว
- สายจัมเปอร์ชาย-หญิง 40 ชิ้น 10cm
ขั้นตอนที่ 1: แผนภาพวงจรและการเชื่อมต่อ
การเชื่อมต่อนั้นง่ายมากและมีดังนี้:
- 3V ของ AM2301 ถึง 3V ของ WeMos D1 Mini
- GND ของ AM2301 ถึง GND ของ WeMos D1 Mini
- สายสัญญาณ (สีเหลือง) ของ AM2301 ถึง D4 (GPIO 2) ของ WeMos D1 Mini
หมายเหตุ: ในการสร้างต้นแบบนี้ เราไม่จำเป็นต้องมีเขียงหั่นขนมใดๆ เนื่องจากเรามีเพียงสามสายในการเชื่อมต่อ ฉันปล่อยให้ผู้อ่านเอกสารนี้เลือกว่าจะใช้ประโยชน์จากเขียงหั่นขนม (หรือ) เพียงแค่เชื่อมต่อ WeMos D1 mini กับ AM2301 โดยตรงกับสายจัมเปอร์
ขั้นตอนที่ 2: กำหนดค่า Blynk เพื่อตรวจสอบอุณหภูมิและความชื้น
มีการจัดเตรียมภาพหน้าจอทีละขั้นตอนเพื่อให้เข้าใจกระบวนการกำหนดค่า Blynk ได้ดียิ่งขึ้น ขอให้ผู้อ่านดูภาพหน้าจอและกำหนดค่าแอปพลิเคชันด้วยส่วนประกอบ "เกจ" สองส่วน ส่วนประกอบหนึ่งแสดงถึงความชื้น และอีกส่วนคืออุณหภูมิ
ขั้นตอนที่ 3:
เริ่มรหัส >>>>>
#define BLYNK_PRINT ซีเรียล
#รวม SPI.h
#รวม ESP8266WiFi.h
#รวม BlynkSimpleEsp8266.h
#รวม DHT.h
char auth = "hQqK5jvA0h5JqubLnnpxV94eEltFbw1Y"; // ป้อนรหัสรับรองความถูกต้องที่ส่งโดย Blink
ถ่าน ssid = "Smaragd25"; // ป้อนชื่อ WIFI ของคุณ
ถ่านผ่าน = "Smaragdine@2017"; //ป้อนรหัสผ่าน WIFI ของคุณ
#define DHTPIN 2 // พินดิจิตอล 4
// #define DHTTYPE DHT11 // DHT 11
// #define DHTTYPE DHT22 // DHT 22, AM2302, AM2321
#define DHTTYPE DHT21 // DHT 21, AM2301
DHT dht (DHTPIN, DHTTYPE);
ตัวจับเวลา BlynkTimer;
เป็นโมฆะ sendSensor()
{
ลอย h = dht.readHumidity();
float t = dht.readTemperature(); // หรือ dht.readTemperature(true) สำหรับ Fahrenheit
ถ้า (isnan (h) || isnan (t)) {
Serial.println("ไม่สามารถอ่านจากเซ็นเซอร์ DHT!");
กลับ; }
Blynk.virtualWrite(V5, ชั่วโมง); //V5 สำหรับความชื้น
Blynk.virtualWrite(V6, เสื้อ); //V6 ใช้สำหรับอุณหภูมิ
}
การตั้งค่าเป็นโมฆะ ()
{
Serial.begin(9600); // ดูสถานะการเชื่อมต่อใน Serial Monitor
Blynk.begin(รับรองความถูกต้อง, ssid, ผ่าน);
dht.begin();
timer.setInterval (1000L, sendSensor);
}
วงเป็นโมฆะ ()
{
Blynk.run();
timer.run();
}
ท้ายโค้ด >>>>>
ในโค้ดด้านบน โดยเฉพาะอย่างยิ่งในคำสั่ง #include โปรดใส่ไฟล์ส่วนหัวทั้งหมด (ที่ลงท้ายด้วยนามสกุล.h) ใน "" ไม่เช่นนั้นโค้ดจะเกิดข้อผิดพลาด
หมายเหตุ: ในกรณีที่คุณเลือกคำสั่ง Temperature and Humidity Controller ผิดในโค้ด ค่าที่คุณได้รับจะไม่ถูกต้อง (แนบภาพหน้าจอตัวอย่าง) แม้ว่าเซ็นเซอร์จะทำงานอยู่ก็ตาม โปรดแสดงความคิดเห็น/ยกเลิกการแสดงข้อคิดเห็นในบรรทัดต่อไปนี้เพื่อให้ตรงกับความต้องการของคุณ ไม่มีความคิดเห็นบรรทัดใดบรรทัดหนึ่งต่อไปนี้ ส่วนที่เหลือต้องแสดงความคิดเห็น
- #define DHTTYPE DHT11 // DHT 11
- #define DHTTYPE DHT22 // DHT 22, AM2302, AM2321
- #define DHTTYPE DHT21 // DHT 21, AM2301
ในกรณีของฉัน ฉันยกเลิกการใส่ความคิดเห็นในบรรทัดสุดท้าย เช่น "#define DHTTYPE DHT21 // DHT 21, AM2301" และแสดงความคิดเห็นในบรรทัดพัก
เพื่อให้ได้รูปลักษณ์ที่ดีขึ้น ฉันได้บรรจุทั้งเซ็นเซอร์ WeMos D1 Mini และเซ็นเซอร์ AM2301 ไว้ใน Styrofoam ฉันวางแผนที่จะมีกล่องอะครีลิคเพื่อฝังฮาร์ดแวร์ทั้งหมดให้เรียบร้อยและทำให้ดูเป็นมืออาชีพมากขึ้น
ในกรณีที่มีข้อซักถามใด ๆ โปรดตอบกลับไปที่ [email protected] (หรือ) ping ฉันที่ WhatsApp ที่ +91 9398472594 ฉันยินดีที่จะรับความคิดเห็นและปรับปรุงบทความของฉัน