DHT22 - เซ็นเซอร์อุณหภูมิและความชื้นที่แม่นยำ

เซ็นเซอร์ DHT22

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

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

DHT22 คืออะไร?

โมดูล DHT22

El DHT22 เป็นเซ็นเซอร์อุณหภูมิและความชื้นที่มีคุณสมบัติใกล้เคียงกับความแม่นยำสูง. คุณสามารถหาซื้อได้ง่ายในร้านค้าเฉพาะหรือห้างสรรพสินค้าที่ไหน ผลิตภัณฑ์ที่ไม่พบ. ซึ่งช่วยให้คุณไม่ต้องพึ่งพาเซ็นเซอร์อุณหภูมิและเซ็นเซอร์ความชื้นแยกกัน แต่จะรวมทุกอย่างไว้ในอุปกรณ์เดียวกัน

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

Pinout คุณสมบัติและแผ่นข้อมูล

DHT11 พินเอาต์

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

โปรดจำไว้ว่ามีหมุด 3 ตัวที่คุณต้องใช้: GND, Vcc และข้อมูล. ไม่ได้ใช้พิน # 3 และในโมดูลจะถูกข้ามนั่นคือคุณจะเห็นเพียงสามพินเท่านั้น หากคุณต้องการดูรายละเอียดเพิ่มเติมเกี่ยวกับผลิตภัณฑ์ที่คุณซื้อคุณสามารถค้นหาเอกสารข้อมูลของรุ่นและผู้ผลิตเฉพาะเพื่อรับข้อมูลทั้งหมดได้ แม้ว่าค่าส่วนใหญ่อาจดูเหมือนกับคุณ แต่อาจมีการเปลี่ยนแปลงเล็กน้อยจากค่าหนึ่งไปอีกค่าหนึ่ง ลักษณะทางเทคนิคที่สำคัญที่สุดคือ:

  • แหล่งจ่ายไฟ 3,3v ถึง 6v
  • 2,5mA การบริโภคในปัจจุบัน
  • สัญญาณเอาท์พุตดิจิตอล
  • ช่วงอุณหภูมิตั้งแต่-40ºCถึง125ºC
  • ความแม่นยำในการวัดอุณหภูมิที่25ºCที่รูปแบบ0.5ºC
  • ความละเอียดในการวัดอุณหภูมิคือ 8 บิต0,1ºC
  • ความชื้นสามารถวัดได้ตั้งแต่ 0% RH ถึง 100% RH
  • ความชื้นที่ถูกต้อง 2-5% RH สำหรับอุณหภูมิระหว่าง0-50ºC
  • ความละเอียด 0,1% RH ไม่สามารถเลือกรูปแบบที่ต่ำกว่านั้นได้
  • อัตราการสุ่มตัวอย่าง 2 ตัวอย่างต่อวินาที: 2Hz
  • แผ่นข้อมูล Sparkfun

หากคุณได้อ่านคู่มือของเราเกี่ยวกับ DHT11 คุณจะรู้ว่า ส่งข้อมูลในรูปแบบดิจิทัล สำหรับพินข้อมูลดังนั้นข้อดีอีกอย่างสำหรับเซ็นเซอร์เหล่านี้ ไม่จำเป็นต้องสร้างรหัสใน Arduino IDE เพื่อเปลี่ยนจากค่าอนาล็อกไปเป็นค่าที่มนุษย์เข้าใจได้ แต่สัญญาณดิจิทัลสามารถประมวลผลโดยตรงเพื่อส่งผ่านไปยังองศาหรือเปอร์เซ็นต์ของความชื้นสัมพัทธ์

ส่วนหนึ่งนี่คือเหตุผลว่าทำไมจึงมีความแม่นยำเนื่องจากมีไฟล์ เฟรม 40 บิต การส่งสัญญาณความแม่นยำจะสูงขึ้น มันยังมีพาริตีบิตบางส่วนเพื่อตรวจจับความล้มเหลวของสัญญาณ คุณไม่มีสัญญาณแอนะล็อกนอกเหนือจากข้อเท็จจริงที่ว่าอะนาล็อกมีความไวต่อการเปลี่ยนแปลงของแรงดันไฟฟ้ามาก ...

บูรณาการกับ Arduino

DHT22 เชื่อมต่อกับบอร์ด Arduino UNO

เช่นเดียวกับ DHT11 การติดตั้ง DHT22 กับ Arduino นั้นค่อนข้างง่าย. โปรดจำไว้ว่าหากคุณใช้งานเพียงอย่างเดียวโดยไม่ได้ติดตั้งบนโมดูลและเซ็นเซอร์อยู่ห่างไกล (หรือหากคุณใช้แรงดันไฟฟ้าที่ต่ำกว่าเพื่อจ่ายไฟ) คุณต้องใช้ตัวต้านทานแบบดึงขึ้นที่สร้างสะพานเชื่อมระหว่างพิน Vcc และพินข้อมูล แต่ถ้าคุณใช้โมดูลคุณสามารถบันทึกและเชื่อมต่อได้โดยตรงตามที่ปรากฏในภาพด้านบน…นอกจากนี้โปรดจำไว้ว่าในโมดูลจะไม่มีพิน NC ที่ไม่ได้ใช้งานดังนั้นมันจะง่ายยิ่งขึ้น เพื่อไม่ให้สับสน

คุณเพียงแค่ต้องเชื่อมต่อ GND และ Vcc กับ การเชื่อมต่อที่เหมาะสมของบอร์ด Arduino ของคุณนั่นคือสำหรับผู้ที่ทำเครื่องหมายเป็น GND และ 5v ในกรณีนี้ และสำหรับพินข้อมูลคุณสามารถเชื่อมต่อกับอินพุตดิจิทัลของ Arduino ได้ในกรณีของเราเราได้ทำไปแล้วใน 7 หากคุณใช้อันอื่นอย่าลืมแก้ไขโค้ดเพื่อให้ทำงานร่วมกับวิธีการเชื่อมต่อคอมโพเนนต์ของคุณ ( ดูเหมือนชัดเจน แต่เป็นข้อผิดพลาดทั่วไปเมื่อคัดลอกและวางรหัสใน Arduino IDE)

รหัสใน Arduino IDE

ตอนนี้คุณเชื่อมต่อแล้วมาดูกัน ตัวอย่างโค้ดง่ายๆสำหรับ Arduino IDE. . โปรดจำไว้ว่าเรามีคำแนะนำสำหรับผู้เริ่มต้นที่เริ่มต้นด้วย Arduino ในรูปแบบ PDF ที่คุณสามารถทำได้ ดาวน์โหลดฟรีจากที่นี่ และสามารถช่วยคุณได้ นอกจากนี้หากคุณได้อ่านบทความของเราเกี่ยวกับ DHT11 โปรดจำไว้ว่า มีห้องสมุดสำหรับใช้เซ็นเซอร์ DHTxxดังนั้นตัวเดียวกับที่ใช้สำหรับ DHT11 จึงสามารถใช้กับ DHT22 ได้

เมื่อคุณมี ติดตั้งไลบรารีและทุกอย่างพร้อมแล้วก็ถึงเวลาที่คุณต้องป้อนรหัส เพื่อตั้งโปรแกรมไมโครคอนโทรลเลอร์ Arduino เพื่อให้โครงการของคุณทำงานได้ ตัวอย่างพื้นฐานจะเป็น:

#include "DHT.h"
 
// Ejemplo sencillo de uso para el DHT22
 
const int DHTPin = 7;     
 
DHT dht(DHTPin, DHTTYPE);
 
void setup() {
   Serial.begin(9600);
   Serial.println("Test DHT22");
 
   dht.begin();
}
 
void loop() {
   // Tiempo de espera entre tomas de mediciones de 2 segundos.
   delay(2000);
 
   // Lee temperatura y humedad durante unos 250ms
   float h = dht.readHumidity();
   float t = dht.readTemperature();
 
   if (isnan(h) || isnan(t)) {
      Serial.println("Fallo en la lectura");
      return;
   }
 
 
   Serial.print("Humedad relativa: ");
   Serial.print(h);
   Serial.print(" %\t");
   Serial.print("Temperatura: ");
   Serial.print(t);
   Serial.print(" *C ");
}

ฉันหวังว่า คำแนะนำของเราเกี่ยวกับ DHTxx เป็นแนวทางของคุณแม้ว่าโดยทั่วไปโครงการที่ทำมักจะค่อนข้างซับซ้อนกว่า แต่รหัสเหล่านี้เพื่อดูการทำงานของเซ็นเซอร์นั้นค่อนข้างบ่งบอกได้จากนั้นแก้ไขโค้ดและเพิ่มสิ่งที่คุณต้องการ ...


ความคิดเห็นฝากของคุณ

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

      ร็อกเกอร์ dijo

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