สารบัญ:
- ขั้นตอนที่ 1: เชื่อมต่อ DHT11 กับ Arduino
- ขั้นตอนที่ 2: เพิ่มไลบรารี DHT
- ขั้นตอนที่ 3: เลือกบอร์ด Arduino
- ขั้นตอนที่ 4: โปรแกรม
- ขั้นตอนที่ 5: ผลลัพธ์
วีดีโอ: วิธีใช้เซ็นเซอร์ DHT11 โดยใช้ Arduino: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
ในบทช่วยสอนนี้ เราจะลองใช้เซ็นเซอร์ DHT11 โดยใช้ Arduino
DHT11 สามารถใช้วัดอุณหภูมิและความชื้นได้
ส่วนประกอบที่จำเป็น:
- Arduino นาโน
- DHT11 เซ็นเซอร์อุณหภูมิและความชื้น
- USB มินิ
- สายจัมเปอร์
ห้องสมุดที่จำเป็น:
ห้องสมุด DHT
ขั้นตอนที่ 1: เชื่อมต่อ DHT11 กับ Arduino
เชื่อมต่อ DHT11 กับ Arduino โดยใช้สายจัมเปอร์
ดูภาพหรือทำตามคำแนะนำด้านล่าง
DHT11 เป็น Arduino
+ => +5V
ออก => D12
- => GND
จากนั้นเชื่อมต่อ Arduino กับคอมพิวเตอร์โดยใช้ mini USB
ขั้นตอนที่ 2: เพิ่มไลบรารี DHT
ห้องสมุด DHT สามารถดาวน์โหลดได้ที่นี่:
ห้องสมุด DHT11
หากต้องการเพิ่มไลบรารีให้ดูภาพด้านบนหรือทำตามคำแนะนำด้านล่าง:
เปิด Sketch ==> รวมไลบรารี ==> เพิ่ม. Zip Library
ค้นหาไฟล์ไลบรารีที่คุณดาวน์โหลด
หากสำเร็จ ให้ปิด Arduino แล้วเปิดใหม่อีกครั้ง
ขั้นตอนที่ 3: เลือกบอร์ด Arduino
ไปที่ Tools และปรับบอร์ด Arduino ให้เป็นภาพด้านบน
บอร์ด "Arduino นาโน"
ตัวประมวลผล "ATmega328P (ตัวโหลดเก่า)"
สำหรับบทความที่สมบูรณ์กว่านี้ คุณสามารถอ่านได้ใน "วิธีใช้ Arduino Nano v.3" ที่ฉันทำไว้ก่อนหน้านี้
ขั้นตอนที่ 4: โปรแกรม
รวมรหัสนี้เพื่ออ่านค่าจากเซ็นเซอร์ DHT11
// DHT Temperature & Humidity Sensor// Unified Sensor Library Example // เขียนโดย Tony DiCola สำหรับ Adafruit Industries // เผยแพร่ภายใต้ใบอนุญาต MIT
// ต้องการไลบรารี Arduino ต่อไปนี้:
// - ไลบรารีเซ็นเซอร์ DHT: https://github.com/adafruit/DHT-sensor-library // - Adafruit Unified Sensor Lib:
#รวม
#รวม #รวม
#define DHTPIN 2 // พินดิจิตอลเชื่อมต่อกับเซ็นเซอร์ DHT
// Feather HUZZAH ESP8266 หมายเหตุ: ใช้พิน 3, 4, 5, 12, 13 หรือ 14 -- // พิน 15 ใช้งานได้ แต่จะต้องตัดการเชื่อมต่อ DHT ระหว่างการอัปโหลดโปรแกรม
// Uncomment ประเภทของเซ็นเซอร์ที่ใช้:
//#define DHTTYPE DHT11 // DHT 11 #define DHTTYPE DHT22 // DHT 22 (AM2302) //#define DHTTYPE DHT21 // DHT 21 (AM2301)
// ดูคำแนะนำสำหรับรายละเอียดเกี่ยวกับการเดินสายเซ็นเซอร์และการใช้งาน:
//
DHT_Unified dht(DHTPIN, DHTTYPE);
uint32_t ล่าช้าMS;
การตั้งค่าเป็นโมฆะ () {
Serial.begin(9600); // เริ่มต้นอุปกรณ์ dht.begin(); Serial.println(F("DHTxx Unified Sensor Example")); // พิมพ์รายละเอียดเซ็นเซอร์อุณหภูมิ sensor_t เซ็นเซอร์; dht.temperature().getSensor(&เซ็นเซอร์); Serial.println(F("------------------------------------------")); Serial.println(F("เซ็นเซอร์อุณหภูมิ")); Serial.print (F("ประเภทเซนเซอร์: ")); Serial.println(sensor.name); Serial.print (F("ไดร์เวอร์เวอร์ชั่น: ")); Serial.println (เซ็นเซอร์รุ่น); Serial.print (F("รหัสเฉพาะ: ")); Serial.println(sensor.sensor_id); Serial.print (F("ค่าสูงสุด: ")); Serial.print(sensor.max_value); Serial.println(F("°C")); Serial.print (F("ค่าต่ำสุด: ")); Serial.print(sensor.min_value); Serial.println(F("°C")); Serial.print (F("ความละเอียด: ")); Serial.print(เซ็นเซอร์.ความละเอียด); Serial.println(F("°C")); Serial.println(F("------------------------------------------")); // พิมพ์รายละเอียดเซ็นเซอร์ความชื้น dht.humidity().getSensor(&เซ็นเซอร์); Serial.println(F("เซ็นเซอร์ความชื้น")); Serial.print (F("ประเภทเซนเซอร์: ")); Serial.println(sensor.name); Serial.print (F("ไดร์เวอร์เวอร์ชั่น: ")); Serial.println (เซ็นเซอร์รุ่น); Serial.print (F("รหัสเฉพาะ: ")); Serial.println(sensor.sensor_id); Serial.print (F("ค่าสูงสุด: ")); Serial.print(sensor.max_value); Serial.println(F("%")); Serial.print (F("ค่าต่ำสุด: ")); Serial.print(sensor.min_value); Serial.println(F("%")); Serial.print (F("ความละเอียด: ")); Serial.print(เซ็นเซอร์.ความละเอียด); Serial.println(F("%")); Serial.println(F("------------------------------------------")); // ตั้งค่าการหน่วงเวลาระหว่างการอ่านเซ็นเซอร์ตามรายละเอียดของเซ็นเซอร์ delayMS = sensor.min_delay / 1000; }
วงเป็นโมฆะ () {
// หน่วงเวลาระหว่างการวัด ล่าช้า (delayMS); // รับเหตุการณ์อุณหภูมิและพิมพ์ค่าของมัน เหตุการณ์ sensors_event_t; dht.temperature().getEvent(&เหตุการณ์); if (isnan (event.temperature)) { Serial.println (F ("ข้อผิดพลาดในการอ่านอุณหภูมิ!")); } อื่น ๆ { Serial.print (F ("อุณหภูมิ: ")); Serial.print(เหตุการณ์.อุณหภูมิ); Serial.println(F("°C")); } // รับเหตุการณ์ความชื้นและพิมพ์ค่า dht.humidity().getEvent(&เหตุการณ์); if (isnan (event.relative_humidity)) { Serial.println (F ("ข้อผิดพลาดในการอ่านความชื้น!")); } อื่น ๆ { Serial.print (F ("ความชื้น: ")); Serial.print(event.relative_humidity); Serial.println(F("%")); } }
หรือดาวน์โหลดไฟล์ด้านล่าง Sketch ที่ฉันให้ไว้ด้านล่าง
จากนั้นคลิกอัปโหลดและรอให้เสร็จสิ้น
ขั้นตอนที่ 5: ผลลัพธ์
หากต้องการดูผลการวัดอุณหภูมิและความชื้น ให้คลิก Serial Monitor ผลลัพธ์จะแสดงที่นั่น
หากสำเร็จผลจะออกมาดังรูปที่ 1
หากไม่ได้ติดตั้งเซ็นเซอร์จะมีลักษณะเหมือนภาพที่ 2
ขอบคุณที่อ่าน หากมีคำถามให้เขียนลงในช่องความคิดเห็น
แนะนำ:
วิธีใช้เซ็นเซอร์ PIR และโมดูล Buzzer - บทช่วยสอน Visuino: 6 ขั้นตอน
วิธีใช้เซ็นเซอร์ PIR และโมดูล Buzzer - บทช่วยสอน Visuino: ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีใช้เซ็นเซอร์ PIR และโมดูล Buzzer เพื่อสร้างเสียงทุกครั้งที่เซ็นเซอร์ PIR ตรวจพบการเคลื่อนไหว ชมวิดีโอสาธิต
สถานีตรวจอากาศ Arduino โดยใช้ BMP280-DHT11 - อุณหภูมิ ความชื้น และความดัน: 8 ขั้นตอน
สถานีตรวจอากาศ Arduino โดยใช้ BMP280-DHT11 - อุณหภูมิ ความชื้น และความดัน: ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีสร้างสถานีตรวจอากาศที่จะแสดงอุณหภูมิ ความชื้น และความดันบนจอ LCD TFT 7735 ดูวิดีโอสาธิต
Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C - เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C โดยใช้ Arduino IDE: 5 ขั้นตอน
Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C | เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C การใช้ Arduino IDE: สวัสดีทุกคนในคำแนะนำนี้ เราจะเรียนรู้วิธีใช้ neopixel ws2812 LED หรือแถบนำหรือเมทริกซ์นำหรือวงแหวน LED พร้อมบอร์ดพัฒนา m5stack m5stick-C พร้อม Arduino IDE และเราจะทำ ลายรุ้งกับมัน
การควบคุมวิทยุ RF 433MHZ โดยใช้ HT12D HT12E - การสร้างรีโมทคอนโทรล Rf โดยใช้ HT12E & HT12D ด้วย 433mhz: 5 ขั้นตอน
การควบคุมวิทยุ RF 433MHZ โดยใช้ HT12D HT12E | การสร้างการควบคุมระยะไกล Rf โดยใช้ HT12E & HT12D ด้วย 433mhz: ในคำแนะนำนี้ฉันจะแสดงวิธีสร้างรีโมทคอนโทรล RADIO โดยใช้โมดูลตัวรับส่งสัญญาณ 433mhz พร้อมการเข้ารหัส HT12E & IC ถอดรหัส HT12D ในคำแนะนำนี้ คุณจะสามารถส่งและรับข้อมูลโดยใช้ส่วนประกอบราคาถูกมาก เช่น HT
Arduino กำลังส่งข้อมูล Dht11 ไปยังเซิร์ฟเวอร์ MySQL (PHPMYADMIN) โดยใช้ Python: 5 ขั้นตอน
Arduino กำลังส่งข้อมูล Dht11 ไปยังเซิร์ฟเวอร์ MySQL (PHPMYADMIN) โดยใช้ Python: ในโครงการนี้ ฉันได้เชื่อมต่อ DHT11 กับ Arduino จากนั้นฉันกำลังส่งข้อมูลของ dht11 ซึ่งเป็นความชื้นและอุณหภูมิไปยังฐานข้อมูล phpmyadmin ต่างจากโปรเจ็กต์ก่อนหน้านี้ที่เราไม่ได้ใช้อีเทอร์เน็ตชีลด์ใดๆ ในกรณีนี้ เราแค่อ่าน t