สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ในคำแนะนำนี้ คุณจะได้เรียนรู้วิธีตั้งค่าเซ็นเซอร์ความชื้นและอุณหภูมิ DHT11 บน Arduino UNO ของคุณ และเรียนรู้เกี่ยวกับวิธีการทำงานของเซ็นเซอร์วัดความชื้น และวิธีตรวจสอบการอ่านค่าเอาต์พุตจากจอภาพแบบอนุกรม
คำอธิบาย:
DHT11 ตรวจจับไอน้ำโดยการวัดความต้านทานไฟฟ้าระหว่างอิเล็กโทรดสองขั้ว ส่วนประกอบตรวจจับความชื้นเป็นสารตั้งต้นที่กักเก็บความชื้นโดยใช้อิเล็กโทรดที่พื้นผิว เมื่อไอน้ำถูกดูดซับโดยสารตั้งต้น สารตั้งต้นจะปล่อยไอออนออกมา ซึ่งจะเป็นการเพิ่มการนำไฟฟ้าระหว่างอิเล็กโทรด การเปลี่ยนแปลงความต้านทานระหว่างอิเล็กโทรดทั้งสองจะเป็นสัดส่วนกับความชื้นสัมพัทธ์ ความชื้นสัมพัทธ์ที่สูงขึ้นจะลดความต้านทานระหว่างอิเล็กโทรด ในขณะที่ความชื้นสัมพัทธ์ที่ต่ำกว่าจะเพิ่มความต้านทานระหว่างอิเล็กโทรด
ขั้นตอนที่ 1: ส่วนประกอบที่จำเป็น
นี่คือรายการของส่วนประกอบที่จำเป็นในการเริ่มต้นกับ Instructable
ส่วนประกอบฮาร์ดแวร์:
- Arduino UNO ซื้อจาก Flipkart
- DHT11 เซ็นเซอร์ความชื้นและอุณหภูมิ ซื้อจาก Flipkart
- เขียงหั่นขนม (ไม่บังคับ)
- สายจัมเปอร์
- สายเคเบิลโปรแกรม USB
ส่วนประกอบซอฟต์แวร์
Arduino IDE
ขั้นตอนที่ 2: การเดินสายไฟวงจร
การเดินสาย DHT11 ไปยัง Arduino UNO นั้นง่ายมาก
การเชื่อมต่อสายไฟทำดังนี้:
พิน VCC ของ DHT11 เข้าสู่ +3v ของ Arduino
DATA pin ของ DHT11 จะไปที่ Analog Pin A0 ของ UNO
GND Pin ของ DHT11 จะเข้าสู่ Ground Pin (GND) ของ UNO
ขั้นตอนที่ 3: การเขียนโปรแกรม Arduino
ดาวน์โหลดไฟล์ Zip ที่นี่
แยกไลบรารี DHT และรหัส
#include "dht.h"#define dht_apin D1 // เซ็นเซอร์อนาล็อกพินเชื่อมต่อกับ dht DHT;
บรรทัดด้านบนเป็นการเริ่มต้นสำหรับ dht libraryDefining data pin ของ dht และสร้าง instatnce เป็น DHT
การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); หน่วงเวลา(500);//หน่วงเวลาเพื่อให้ระบบบูต Serial.println("DHT11 Humidity & temperature Sensor\n\n"); ล่าช้า (1000); // รอก่อนเข้าถึง Sensor }
บรรทัดด้านบนคือรหัสการตั้งค่าเริ่มการสื่อสารแบบอนุกรมที่อัตราบอด 9600 พิมพ์ชื่อโครงการด้วยความล่าช้า 1 วินาที
วงเป็นโมฆะ () { DHT.read11 (dht_apin); Serial.print("ความชื้นปัจจุบัน = "); Serial.print(DHT.ความชื้น); Serial.print("%"); Serial.print("อุณหภูมิ = "); Serial.print(DHT.อุณหภูมิ); Serial.println("C"); ล่าช้า (5000); // รอ 5 วินาทีก่อนที่จะเข้าถึงเซ็นเซอร์อีกครั้ง }
มันอ่านข้อมูลจาก DHT11 ซ้ำ ๆ ทุก ๆ 5 วินาที
ขั้นตอนที่ 4: เอาท์พุต
เปิด Serial Monitor
ตั้งค่าอัตราบอดเป็น 9600 ดูผลลัพธ์บน Serial Monitor….
ก่อนอื่นฉันขอขอบคุณสำหรับการอ่านคู่มือนี้ ! ฉันหวังว่ามันจะช่วยคุณ หากคุณมีคำถามใด ๆ ฉันยินดีที่จะช่วยเหลือคุณเสมอ….. ส่งความคิดเห็น ความคิดเห็นของคุณมีค่าสำหรับฉัน
ขั้นตอนที่ 5: ข้อผิดพลาด
ไม่แสดงผล:
ตรวจสอบการเชื่อมต่อและขั้วของแหล่งจ่ายไฟ
ตรวจสอบอัตราบอด ควรเป็น 9600
ไม่แสดงค่าที่ถูกต้อง
โปรดตรวจสอบข้อผิดพลาดขณะอัปโหลด ลองอัปโหลดรหัสอีกครั้ง
หรือลองใช้รหัสกับ DHT อื่น
หากคุณมีปัญหาอื่น ๆ โปรดแจ้งให้เราทราบ ฉันจะพยายามอย่างเต็มที่เพื่อแก้ปัญหานี้