اتصال وحدة DHT11 بأردوينو. كيفية توصيل DHT11 إلى Arduino وعرض البيانات توصيل مستشعر DHT

أكثر العوامل التي يتم قياسها في الصناعة والحياة اليومية هي درجة الحرارة والرطوبة. هذه القيم مهمة جدًا في تجفيف الأخشاب وخبز الحلويات في المخازن المبردة. في الحياة اليومية ، يتم قياسها في البيوت الزجاجية وفي دوائر التدفئة والماء الساخن. يقوم مستشعر Arduino DHT11 بعمله على أكمل وجه ويحدد درجة الحرارة والرطوبة بدقة أكبر أو أقل.

من هذه المقالة سوف تتعلم:

تحيات! خلف لوحة المفاتيح Gridin Semyon وفي هذا المنشور سأوضح لك كيفية توصيل مستشعر درجة الحرارة والرطوبة DHT11 ، وسأشرح الكود والمكتبة.

مستشعر DHT11

دهت 11إنه في علبة بلاستيكية صغيرة. عند إخراج المستشعر إشارة رقمية ، ومعلمتان في وقت واحد - درجة الحرارة والرطوبة. فيما يلي معنى الاتصال بوحدة التحكم في Arduino:

  1. يطلب المتحكم الدقيق قراءات ويغير الإشارة من 0 إلى 1.
  2. يرى المستشعر الطلب ويستجيب له عن طريق تغيير إشارة البت من 0 إلى 1.
  3. عندما اتفقوا فيما بينهم ، أعطاه المستشعر حزمة بيانات من 5 بايت (40 بت) ، مع درجة الحرارة في أول وحدتي بايت ، والرطوبة في الثالث والرابع. البايت الخامس هو مجموع اختباري للتخلص من أخطاء القياس.

خصائص حساس درجة الحرارة والرطوبة DHT11

  • تحديد الرطوبة في حدود 20-80٪
  • كشف درجة الحرارة من 0 درجة مئوية إلى +50 درجة مئوية
  • معدل الاقتراع 1 مرة في الثانية

عيب المستشعر أنه لا يتمتع بالدقة العالية والسرعة. الإضافة الكبيرة هي السعر. حسنًا ، أعتقد أنك تعرف هذا بالفعل بدوني)).

يحتوي المستشعر على مستشعر سعوي لقياس الرطوبة وثرمستور لقياس درجة الحرارة. يتم أخذ جميع القراءات بواسطة شريحة ADC وإخراج إشارة رقمية.

عادةً ما توفر المستشعرات الصناعية إشارة تناظرية من 4-20 مللي أمبير أو 0-10 فولت. وهي عبارة عن مستشعرات تقيس معلمتين في الزوج. على سبيل المثال ، منتجات شركة OWEN PVT10:

اكتب في التعليقات أي منها تستخدمه في مشاريعك؟ رأيك مشوق جدا ...

عند البيع ، يمكنك أيضًا العثور على التعديل الثاني لمستشعر Arduino - DHT22. سأقول أن نطاق القياس أكبر بكثير من الإصدار القديم.

  • تحديد الرطوبة في حدود 0-100٪
  • كشف درجة الحرارة من -40 درجة مئوية إلى + 125 درجة مئوية
  • معدل الاستطلاع 1 مرة في 2 ثانية

توصيل مستشعر DHT11

غالبًا ما تصنع المستشعرات على شكل لوحات تحمل أسماء جاهزة. عند الإخراج ، يحتوي على 3 دبابيس:

  • مزود الطاقة 5 فولت
  • إشارة (S)
  • الأرض GND

ليست هناك حاجة لتعيين مقاومة 10 kOhm ، لأنها ملحومة بالفعل في اللوحة. مخطط توصيل المستشعر و Arduino UNO.


وصف كود البرنامج

للعمل مع المستشعر الخاص بنا ، تحتاج إلى توصيل مكتبة خاصة. يطلق عليه DHT.h. يمكنك التحميل من هنا وصلة.

والآن دعونا نلقي نظرة على مخطط برنامج العمل مع المستشعر.

اردوينو

# تضمين "DHT.h" # تحديد DHTPIN 2 // رقم الدبوس الذي يتصل به المستشعر // Uncomment وفقًا للمستشعر المستخدم // بدء المستشعر // DHT dht (DHTPIN ، DHT22) ؛ DHT dht (DHTPIN ، DHT11) ؛ إعداد باطل () (Serial.begin (9600) ؛ dht.begin () ؛) حلقة فارغة () (// تأخير 2 ثانية بين تأخير القياسات (1000) ؛ // قراءة تعويم الرطوبة h = dht.readHumidity () ؛ / / قراءة درجة الحرارة الطافية t = dht.readTemperature () ؛ // تحقق مما إذا كانت القراءة ناجحة إذا (isnan (h) || isnan (t)) (Serial. println ("تعذر قراءة القراءات") ؛) else (Serial. print ("Humidity:") ؛ Serial.print (h) ؛ Serial.print ("٪ \ t") ؛ Serial.print ("درجة الحرارة:") ؛ Serial.print (t) ؛ Serial.println ("* C ") ؛))

# تضمين "dht.h"

#define DHTPIN 2 // رقم الدبوس الذي يتصل به المستشعر

// Uncomment حسب المستشعر المستخدم

// بدء تشغيل المستشعر

// DHT dht (DHTPIN ، DHT22) ؛

DHT dht (DHTPIN ، DHT11) ؛

الإعداد باطل()(

مسلسل. تبدأ (9600) ؛

dht. يبدأ()؛

حلقة فارغة()(

// تأخير 2 ثانية بين القياسات

تأخير (1000) ؛

// اقرأ الرطوبة

تعويم h = dht. readHumidity () ؛

// قراءة درجة الحرارة

تعويم t = dht. readTemperature () ،

// تحقق مما إذا كانت القراءة ناجحة.

إذا (إسنان (ح) || إسنان (ر)) (

مسلسل. println ( "غير قادر على أخذ قراءات") ;

) آخر (

مسلسل. طباعة ("الرطوبة:") ؛

مسلسل. طباعة (ح) ؛

مسلسل. طباعة ("٪ \ t") ؛

مراقبة المنفذ في Arduino IDE:

يمكن أن يتضمن البرنامج أداة واحدة مثيرة للاهتمام لعرض الرسومات. يمكن تشغيله على النحو التالي: الأدوات - الراسمة عبر الاتصال التسلسلي. لا أعرف ، إنه يعرض درجة الحرارة فقط بالنسبة لي. إذا كان أي شخص يعرف كيفية استخدام مخططات متعددة ، فشاركه في التعليقات. هكذا ظهرت الصورة:

إذا لم يكن شخص ما واضحًا تمامًا ، فهناك فيديو تعليمي رائع من الرجال.

هذا هو المكان الذي أنهي فيه رسالتي. في المقالة التالية سأكتب عنها. اكتب تعليقات ، اطرح الأسئلة ، اشترك!

أتمنى لك النجاح!!!

مع خالص التقدير ، غريدين سيميون.

نواصل سلسلة الدروس. اليوم سوف نحللالاتصال بأردوينو مستشعرات درجة الحرارة والرطوبة DHT11 و DHT22.

مستشعرات DHT11 و DHT22 ليست سريعة جدًا أو دقيقة ، لكنها بسيطة وغير مكلفة وممتازة للتدريب. إنها مصنوعة من جزأين - مستشعر رطوبة بالسعة وثرمستور. تقوم الشريحة الداخلية بتحويل A / D وتخرج إشارة رقمية يمكن قراءتها بواسطة أي متحكم.

قائمة أجزاء الجمعية النموذجية

لبناء المشروع الموضح في هذا البرنامج التعليمي ، ستحتاج إلى الأجزاء التالية:

  • لوحة Arduino (المزيد حول كيفية اختيار Arduino) ؛
  • مستشعر DHT11 أو DHT22 (يمكنك الشراء ، على سبيل المثال ، أو) ؛
  • اللوح.
  • 10 kΩ المقاوم
  • برنامج Arduino IDE ، والذي يمكن تنزيله من موقع Arduino الإلكتروني.

مستشعرات DHT11 و DHT22

ما الفرق بين مستشعرات DHT11 و DHT22؟

الإصداران من مستشعرات DHT متشابهان ولهما نفس pinout. اختلافاتهم في الخصائص. تحديد:

مستشعر DHT11:

  • تحديد الرطوبة في حدود 20-80٪
  • كشف درجة الحرارة من 0 درجة مئوية إلى +50 درجة مئوية
  • معدل الاقتراع 1 مرة في الثانية

مستشعر DHT22:

  • تحديد الرطوبة في حدود 0-100٪
  • كشف درجة الحرارة من -40 درجة مئوية إلى + 125 درجة مئوية
  • معدل الاستطلاع 1 مرة في 2 ثانية

وبالتالي ، فإن أداء مستشعر DHT22 أفضل مقارنة بـ DHT11 ، وبالتالي فهو أغلى قليلاً. لن ينجح أخذ القراءات أكثر من مرة كل 1-2 ثانية ، ولكن ربما لا يكون الأداء العالي مطلوبًا لمشروعك.

توصيل مستشعرات DHT بأردوينو

تحتوي مستشعرات DHT على خيوط قياسية ويسهل تركيبها على اللوح.

تحتوي مستشعرات DHT على 4 دبابيس:

  1. تَغذِيَة.
  2. إخراج البيانات
  3. غير مستعمل.
  4. GND (الأرض).

ضع المقاوم 10 kΩ بين دبابيس خرج الطاقة والبيانات.

غالبًا ما يُباع مستشعر DHT كوحدة نمطية كاملة. في هذه الحالة ، يحتوي على ثلاثة مخرجات ويتم توصيله بدون مقاومة ، لأن. المقاوم موجود بالفعل على السبورة.

مخطط توصيل جهاز استشعار بمقاوم:

مخطط الأسلاك لمستشعر DHT إلى Arduino

رسم اردوينو

دعنا نستخدم مكتبة DHT.h ، التي تم إنشاؤها خصيصًا لأجهزة استشعار DHT. يمكن تنزيله. للاستخدام ، تحتاج إلى وضع المجلد الذي تم تنزيله في مجلد / libraries.

مثال على برنامج للعمل مع نموذج مع مستشعر DHT22 (يمكنك ببساطة نسخه إلى Arduino IDE):
# تضمين "dht.h"
#define DHTPIN 2 // رقم الدبوس الذي يتصل به المستشعر
// Uncomment حسب المستشعر المستخدم
// بدء تشغيل المستشعر
DHT dht (DHTPIN ، DHT22) ؛
// DHT dht (DHTPIN ، DHT11) ؛
الإعداد باطل()(
Serial.begin (9600) ؛
dht.begin () ،
}
حلقة فارغة() (
// تأخير 2 ثانية بين القياسات
تأخير (2000) ؛
// اقرأ الرطوبة
تعويم h = dht.readHumidity () ؛
// قراءة درجة الحرارة
تعويم t = dht.readTemperature () ،
// تحقق مما إذا كانت القراءة ناجحة.
إذا (إسنان (ح) || إسنان (ر)) (
Serial.println ("تعذر قراءة القراءات") ؛
يعود؛
}
Serial.print ("الرطوبة:" + h + "٪ \ t" + "درجة الحرارة:" + t + "* C") ؛
}
عند استخدام مستشعر DHT11 ، قم بالتعليق على السطر:
DHT dht (DHTPIN ، DHT22) ؛
وأزل التعليق على الخط:
// DHT dht (DHTPIN ، DHT11) ؛
قم بتحميل الرسم التخطيطي إلى وحدة التحكم وتحقق مما إذا كان يعمل بشكل صحيح باستخدام Tools-> Port Monitor:

قراءات درجة الحرارة والرطوبة (مراقب المنفذ)

يجب أن ترى درجة الحرارة والرطوبة. يمكن رؤية التغييرات ، على سبيل المثال ، عن طريق الزفير في المستشعر (مثل تعفير النافذة). يزيد التنفس من الرطوبة.

مشاركات الدرس:

  1. الدرس الأول:
  2. الدرس الثاني:
  3. الدرس الثالث:
  4. الدرس الرابع:
  5. الدرس الخامس:
  6. الدرس السادس:
  7. الدرس السابع:
  8. الدرس الثامن:
  9. الدرس التاسع:

قم بتوصيل Arduino بجهاز استشعار رطوبة التربة FC-28 لتحديد متى تحتاج التربة الموجودة تحت نباتاتك إلى الماء.

في هذه المقالة ، سنستخدم FC-28 Soil Moisture Sensor مع Arduino. يقيس هذا المستشعر محتوى الماء الحجمي للتربة ويعطينا مستوى الرطوبة. يعطينا المستشعر بيانات تمثيلية ورقمية عند الإخراج. سنقوم بتوصيله في كلا الوضعين.

يتكون مستشعر رطوبة التربة من جهازي استشعار يستخدمان لقياس محتوى الماء الحجمي. يسمح المسباران للتيار بالمرور عبر التربة ، مما يعطي قيمة مقاومة ، والتي تقيس في النهاية قيمة الرطوبة.

عندما يكون هناك ماء ، ستوصل التربة المزيد من الكهرباء ، مما يعني أنه ستكون هناك مقاومة أقل. تعتبر التربة الجافة موصلاً ضعيفًا للكهرباء ، لذلك عندما يكون هناك ماء أقل ، فإن التربة توصل كهرباء أقل ، مما يعني المزيد من المقاومة.

يمكن توصيل مستشعر FC-28 في الوضعين التناظري والرقمي. سنقوم بتوصيله أولاً في الوضع التمثيلي ثم في الوضع الرقمي.

تخصيص

مواصفات جهاز استشعار رطوبة التربة FC-28:

  • جهد الدخل: 3.3-5 فولت
  • جهد الخرج: 0-4.2 فولت
  • تيار الإدخال: 35mA
  • إشارة الخرج: تناظرية ورقمية

Pinout

يحتوي مستشعر رطوبة التربة FC-28 على أربعة دبابيس:

  • VCC: الطاقة
  • A0: خرج تناظري
  • D0: الإخراج الرقمي
  • GND: الأرض

تحتوي الوحدة أيضًا على مقياس الجهد الذي سيحدد قيمة العتبة. ستتم مقارنة هذه القيمة الحدية بمقارن LM393. سيشير لنا مؤشر LED إلى القيمة أعلى أو أقل من الحد الأدنى.

الوضع التناظري

لتوصيل المستشعر في الوضع التناظري ، نحتاج إلى استخدام الإخراج التناظري للمستشعر. يقبل مستشعر رطوبة التربة FC-28 قيم الإخراج التناظرية من 0 إلى 1023.

يتم قياس الرطوبة كنسبة مئوية ، لذلك سنقارن هذه القيم من 0 إلى 100 ثم نعرضها على الشاشة التسلسلية. يمكنك ضبط قيم رطوبة مختلفة وتشغيل / إيقاف مضخة الماء وفقًا لهذه القيم.

الاسلاك الرسم البياني

قم بتوصيل جهاز استشعار رطوبة التربة FC-28 بـ Arduino على النحو التالي:

  • VCC FC-28 → 5V Arduino
  • GND FC-28 ← GND Arduino
  • A0 FC-28 ← A0 أردوينو

رمز الإخراج التناظري

بالنسبة للإخراج التناظري ، نكتب الكود التالي:

int sensor_pin = A0 ؛ int output_value ؛ إعداد باطل () (Serial.begin (9600) ؛ Serial.println ("القراءة من المستشعر ...") ؛ تأخير (2000) ؛) حلقة باطلة () (output_value = analogRead (sensor_pin) ؛ output_value = map (output_value) ، 550،0،0،100) ؛ Serial.print ("Mositure:") ؛ Serial.print (output_value) ؛ Serial.println ("٪") ؛ تأخير (1000) ؛)

شرح الكود

بادئ ذي بدء ، حددنا متغيرين ، أحدهما لتلامس مستشعر رطوبة التربة والآخر لتخزين خرج المستشعر.

int sensor_pin = A0 ؛ int output_value ؛

في وظيفة الإعداد ، يكون الأمر Serial.begin (9600)سيساعد في الاتصال بين Arduino والشاشة التسلسلية. بعد ذلك ، سنطبع "Reading From the Sensor ..." على الشاشة العادية.

إعداد باطل () (Serial.begin (9600) ؛ Serial.println ("القراءة من المستشعر ...") ؛ تأخير (2000) ؛)

في وظيفة الحلقة ، سنقرأ القيمة من الإخراج التناظري للمستشعر ونخزن القيمة في متغير قيمة الانتاج. ثم نقارن قيم المخرجات من 0-100 لأن الرطوبة تقاس بالنسبة المئوية. عندما أخذنا قراءات من التربة الجافة ، كانت قيمة المستشعر 550 ، وفي التربة الرطبة ، كانت قيمة المستشعر 10. قارنا هذه القيم للحصول على قيمة الرطوبة. بعد ذلك ، قمنا بطباعة هذه القيم على الشاشة التسلسلية.

الحلقة الفارغة () (output_value = analogRead (sensor_pin) ؛ output_value = map (output_value ، 550،10،0،100) ؛ Serial.print ("Mositure:") ؛ Serial.print (output_value) ؛ Serial.println ("٪") ؛ تأخير (1000) ؛)

الوضع الرقمي

لتوصيل مستشعر رطوبة التربة FC-28 في الوضع الرقمي ، سنقوم بتوصيل الإخراج الرقمي للمستشعر بدبوس Arduino الرقمي.

تحتوي وحدة المستشعر على مقياس جهد يستخدم لتعيين قيمة العتبة. ثم تتم مقارنة قيمة العتبة بقيمة خرج المستشعر باستخدام أداة المقارنة LM393 ، والتي يتم وضعها على وحدة استشعار FC-28. يقارن جهاز المقارنة LM393 قيمة خرج المستشعر وقيمة العتبة ، ثم يعطينا قيمة الإخراج من خلال الإخراج الرقمي.

عندما تكون قيمة المستشعر أكبر من قيمة العتبة ، سيعطينا الإخراج الرقمي 5 فولت وسيضيء مؤشر LED الخاص بالمستشعر. خلاف ذلك ، عندما تكون قيمة المستشعر أقل من قيمة العتبة هذه ، سيتم إرسال 0V إلى الإخراج الرقمي ولن يضيء مؤشر LED.

الاسلاك الرسم البياني

فيما يلي توصيلات مستشعر رطوبة التربة FC-28 و Arduino في الوضع الرقمي:

  • VCC FC-28 → 5V Arduino
  • GND FC-28 ← GND Arduino
  • D0 FC-28 ← دبوس 12 اردوينو
  • مؤشر LED إيجابي ← دبوس 13 اردوينو
  • LED ناقص → GND Arduino

رمز للوضع الرقمي

رمز الوضع الرقمي أدناه:

intled_pin = 13 ؛ int sensor_pin = 8 ؛ إعداد باطل () (pinMode (led_pin، OUTPUT)؛ pinMode (sensor_pin، INPUT)؛) حلقة باطلة () (if (digitalRead (sensor_pin) == HIGH) (digitalWrite (led_pin، HIGH)؛) آخر (كتابة رقمية (led_pin، منخفض) ؛ تأخير (1000) ؛))

شرح الكود

بادئ ذي بدء ، قمنا بتهيئة متغيرين لتوصيل خرج LED والإخراج الرقمي لجهاز الاستشعار.

int led_pin = 13 ؛ int sensor_pin = 8 ؛

في وظيفة الإعداد ، نعلن أن دبوس LED هو دبوس الإخراج ، لأننا سنقوم بتشغيل مؤشر LED من خلاله. لقد أعلنا أن دبوس المستشعر هو دبوس الإدخال ، لأن Arduino سيتلقى قيمًا من المستشعر من خلال هذا الدبوس.

الإعداد الفارغ () (pinMode (led_pin ، الإخراج) ؛ pinMode (sensor_pin ، INPUT) ؛)

في وظيفة الحلقة ، نقرأ من خرج المستشعر. إذا كانت القيمة أعلى من قيمة العتبة ، فسيتم تشغيل مؤشر LED. إذا كانت قيمة المستشعر أقل من قيمة العتبة ، فسيتم إيقاف تشغيل المؤشر.

حلقة فارغة () (if (digitalRead (sensor_pin) == HIGH) (digitalWrite (led_pin، HIGH)؛) else (digitalWrite (led_pin، LOW) ؛ تأخير (1000) ؛))

هذا يختتم الدرس التمهيدي حول العمل مع مستشعر FC-28 الخاص بـ Arduino. حظا سعيدا مع مشروعك الجديد.

تاراس كالينيوك

وقت القراءة: 4 دقائق

أ

بالنسبة لمجموعة متنوعة من العمليات ، قد يكون من الضروري الحفاظ على ظروف معينة ، المناخ المحلي. هناك العديد من الأجهزة والتركيبات التي تساعد في الحفاظ على البيئة المطلوبة في مكان معين.

بغض النظر عن مدى تعقيد النظام ، فإن التحكم في تشغيله مستحيل بدون أجهزة خاصة - والرطوبة. هم الذين يرصدون المعلمات الضرورية وينقلونها إلى مركز التحكم ، والذي ، بناءً على البيانات التي تم الحصول عليها ، ينظم المستوى اللازم للحفاظ على المناخ المطلوب في بيئة معينة.

يمكن استخدام هذه الأجهزة في تربية الدواجن (في الحاضنات) ، وإنتاج المحاصيل ، وقياس محتوى الرطوبة في التربة ، والهواء ، والخشب ، وغير ذلك الكثير. في الحياة اليومية ، تُستخدم هذه الأجهزة عادةً في المنازل الذكية والحمامات والصوبات الزراعية وما إلى ذلك.

هذه لوحة أكبر قليلاً من علبة الثقاب ، والتي يمكن استخدامها لإنشاء عدد كبير من مجموعة متنوعة من الأجهزة والأجهزة ، بدءًا من أبسط إشارات ضوئية إلى أنظمة معقدة بالكامل ، مثل المنزل الذكي.

بفضل العدد الهائل من المقابس وجهات الاتصال المختلفة ، فضلاً عن القدرة على توصيل عدة لوحات في نظام واحد ، أصبحت إمكانيات Arduino غير محدودة تقريبًا. اللوحة التي تسمح لك بتوسيع عدد الاحتمالات تسمى الدرع.

لسنوات عديدة ، يمكن تفسير الاهتمام المستمر بـ Arduino بالعديد من الأسباب ، بما في ذلك البساطة وإمكانية الوصول. تتم كتابة البرامج الخاصة بالأجهزة بلغة C ++ ، ويتم تحميلها باستخدام تطبيق Arduino IDE ، المتاح للتنزيل مجانًا لأي برنامج.

وما هو لطيف بشكل خاص - من أجل تجميع جهاز عمل ، لا تحتاج إلى لحام أي شيء - كل شيء في Arduino متصل باستخدام وصلات العبور وألواح التجارب.

للبدء في مثل هذا النظام ، من الممكن شراء مجموعة جاهزة ، حتى لا تضغط على عقلك - ما الذي تشتريه ، وأين تجد ، ومن أين تبدأ.

لقياس مستوى الرطوبة ، يتم استخدام مقياس الرطوبة - مكثف في غلاف مصنوع من مادة موصلة ، مما يغير نفاذه اعتمادًا على كمية الرطوبة المتساقطة عليه.

لقياس المعلمات المذكورة أعلاه ، يستخدم Arduino مستشعر درجة الحرارة والرطوبة DHT11. يتكون هذا الجهاز من جزأين - الثرمستور ومقياس الرطوبة ، حيث يتم نقل المعلومات منه إلى شريحة تحول البيانات المستلمة إلى تنسيق رقمي لمزيد من الإرسال إلى مركز التحكم.

الخصائص المقارنة لـ DHT11 و DHT22 (إذا لم تكن هناك مواصفات ، فهذه المعلمة مناسبة لكلا النوعين):

  1. مزود الطاقة 3-5 فولت ؛
  2. الاستهلاك الحالي 2.5 مللي أمبير ؛
  3. الأبعاد 15.1 / 12 / 5.5 ملم ؛
  4. أربعة موصلات تقع على مسافة 0.1 "من بعضها البعض ؛
  5. نطاق قياس الرطوبة 20-80٪ مع خطأ 5٪ للطراز 11 ؛ من صفر إلى مائة بالمائة مع خطأ 2-5٪ ، اعتمادًا على مستوى الرطوبة ، لـ DHT22 ؛
  6. نطاق درجة حرارة DHT11 هو 0-50 درجة مئوية ، في حين أن نطاق منافسه أوسع بكثير - -40 / +125 ، وأخطاء القياس في الحالة الثانية تكاد تكون صفرًا ؛
  7. تردد DHT11 هو 1 هرتز ؛ يحتوي DHT22 على 0.5 هرتز.

استنادًا إلى الخصائص المذكورة أعلاه ، يمكننا أن نستنتج أن مستشعر درجة الحرارة والرطوبة Arduino DHT22 هو جهاز أكثر دقة يمكنه العمل مع نطاق أكبر من القيم المقاسة ، ولكن ، بالطبع ، سيؤثر هذا أيضًا على سعره.

من الجدير بالذكر أن كلا الجهازين متوفرين في نسختين:

  • كمستشعر منفصل
  • كوحدة منتهية.

إذا قرر المستخدم تجميع الجهاز من نقطة الصفر ، مع وجود مستشعر "مكشوف" فقط في متناول اليد ، فسيكون من الضروري إضافة لوحة ولوح تجارب ومصابيح LED ومقاوم 10 كلفن.

إذا كنت محظوظًا بما يكفي لشراء وحدة بالفعل ، فسيتم تبسيط كل شيء ببساطة عن طريق توصيله بـ Arduino.

في كلتا الحالتين ، يجب عليك اتباع التعليمات بدقة ومراقبة القطبية.

بعد التجميع ، يتم توصيل الأجهزة بجهاز كمبيوتر ، ويتم تحميل البرامج اللازمة عليها ، وبعد ذلك يمكنك البدء في التشخيص. للتحقق من الثرمستور ، تحتاج إلى وضعه في أماكن ذات مؤشرات درجة حرارة مختلفة ومراقبة البيانات المستلمة ، ولتشخيص مقياس الرطوبة ، يكفي مجرد التنفس عليه.

جهاز استشعار درجة الحرارة DS18B20

يهدف هذا الجهاز إلى قياس مستوى درجة حرارة جسم أو وسيط معين. تتراوح درجة الحرارة التي يمكن أن يعمل بها مستشعر درجة الحرارة من -55 إلى +125 درجة مئوية.

يقوم مستشعر درجة الحرارة DS18B20 بتحويل البيانات المستلمة إلى رمز رقمي (9-12 بت) ونقلها إلى النظام المضيف باستخدام بروتوكول 1-Wire.

من الممكن توصيل عدة أجهزة استشعار بحافلة واحدة في وقت واحد ، مما يسمح لك بزيادة تغطية المنطقة المقاسة. وسيسمح لك الاسم الفريد لكل مستشعر بعدم الخلط بينها وتحديد الموقع الدقيق للإشارة في الوقت المناسب.

وقت الاكتساب بأقصى دقة هو 750 مللي ثانية.

NTC الثرمستور

كما ذكرنا أعلاه ، فإن الثرمستور هو كاشف لدرجة الحرارة يحول القراءات الحرارية إلى مستوى مقاومة.

هناك نوعان من أجهزة الاستشعار هذه:

  • PTC - معامل درجة الحرارة الإيجابي - مقياس يزداد فيه مستوى المقاومة جنبًا إلى جنب مع زيادة مؤشرات درجة الحرارة ؛
  • NTC - معامل درجة الحرارة السالب - جهاز استشعار يقلل من مؤشر المقاومة مع زيادة مستويات الحرارة.

في حالة Arduino ، هناك نوع مشابه من مستشعر درجة الحرارة يمكن الاستشهاد به كمثال هو NTC MF 58 100K.

تتناول المقالة أساسيات العمل باستخدام مستشعرات درجة الحرارة والرطوبة منخفضة التكلفة لسلسلة DHT.

هذه المستشعرات بسيطة وبطيئة ، ولكنها رائعة لمشاريع هواية Arduino. تتكون مستشعرات DHT من جزأين رئيسيين: مستشعر رطوبة بالسعة وثرمستور. أيضًا في حالة وجود شريحة بسيطة لتحويل إشارة تناظرية إلى إشارة رقمية. قراءة إشارة رقمية عند الخرج بسيطة للغاية ، يمكنك استخدام أي وحدة تحكم ، وليس بالضرورة Arduino.

مواصفات DHT11 و DHT22

يوجد إصداران من مستشعرات DHT. يبدون متشابهين تقريبا pinout هو نفسه أيضًا. الاختلافات الرئيسية في الخصائص التقنية:

  • رخيص جدا.
  • مصدر الطاقة من 3 إلى 5 فولت.
  • يتم حسابه على أساس قياس مستوى الرطوبة في النطاق من 20٪ إلى 80٪. في هذه الحالة ، تكون دقة القياس في حدود 5٪.
  • يقيس درجة الحرارة في النطاق من 0 إلى 50 درجة بدقة زائد أو ناقص 2٪.
  • تردد القياس لا يزيد عن 1 هرتز (قياس واحد في الثانية).
  • حجم العلبة: 15.5 مم × 12 مم × 5.5 مم.
  • رخيص.
  • مصدر الطاقة من 3 إلى 5 فولت.
  • الحد الأقصى للاستهلاك الحالي هو 2.5mA أثناء التحويل (عند طلب البيانات).
  • يتم حسابه على أساس قياس مستوى الرطوبة في النطاق من 0٪ إلى 100٪. في هذه الحالة ، تكون دقة القياسات في حدود 2٪ -5٪.
  • يقيس درجة الحرارة في نطاق من -40 إلى 125 درجة بدقة زائد أو ناقص 0.5 درجة مئوية.
  • تردد القياس يصل إلى 0.5 هرتز (قياس واحد في ثانيتين).
  • حجم العلبة: 15.1 مم × 25 مم × 7.7 مم.
  • 4 موصلات. المسافة بين الجوار - 0.1 ".

كما ترى ، فإن DHT22 أكثر دقة وله نطاق أكبر من القيم المقاسة. كلا المستشعرين لهما مخرج رقمي واحد. لا يمكن إرسال الطلبات إليهم أكثر من طلب واحد في الثانية أو اثنين.

توصيل مستشعرات DHT بأردوينو

المستشعرات سهلة التوصيل. نظرًا لأن لديهم موصلات طويلة إلى حد ما 0.1 بوصة ، يمكنك تثبيتها مباشرة على لوحة توصيل أو لوحة دوائر كهربائية (انظر الصورة أدناه).


يعد الاتصال مباشرة بـ Arduino أمرًا سهلاً أيضًا. يوجد 4 موصلات على المستشعر:

  • مزود الطاقة (VCC) - من 3 إلى 5 فولت.
  • إخراج البيانات.
  • لا يتصل.
  • أرض.

فقط تجاهل الموصل 3 ، فلن يتم الاتصال. يُنصح بتوصيل مقاوم سحب 10 كيلو أوم بين الطاقة والإشارة. يحتوي Arduino على مقاومات مدمجة ، لكن قيمتها 100 كيلو أوم لن تعمل معنا.

يوضح الشكل أدناه مخطط اتصال DHT11 بأردوينو. قم بتوصيل الإشارة من المستشعر بالدبوس 2 بحيث تتطابق الدائرة مع مثال الرسم أدناه. يمكن تغيير هذا الدبوس بالتعديلات المناسبة في الكود.


قراءة البيانات من أجهزة استشعار DHTxx

نستخدم Arduino لاختبار الرسم التخطيطي. يمكنك استخدام أي متحكم آخر يدعم توقيت microsecond.