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

للبدء، سنستعرض بإيجاز مكونات الأجهزة المعنية في هذا المشروع. تتواصل أجهزة استشعار HTU21DF عبر I2C، وهو ما يتطلب فقط خطين بيانات بالإضافة إلى اتصالات الطاقة والأرضي. سيقوم الأركوينو بقراءة بيانات المستشعر وطباعة النتائج على الشاشة التسلسلية، مما يسمح لك بمراقبة التغيرات في درجة الحرارة والرطوبة في الوقت الحقيقي.
لفهم أوضح لعملية التوصيل والترميز، يُفضل مشاهدة الفيديو المرتبط (في الفيديو عند 01:30). دعنا نغوص في التفاصيل!
شرح الأجهزة
المكون الرئيسي في هذا المشروع هو مستشعر HTU21DF، الذي يقيس درجة الحرارة والرطوبة النسبية. يعمل هذا المستشعر باستخدام اتصال I2C، مما يبسط الأسلاك بحيث يحتاج إلى خطين بيانات فقط. إنه قادر على قياس درجات الحرارة من -40 درجة مئوية إلى 125 درجة مئوية ومستويات الرطوبة من 0% إلى 100% بدقة 0.04%.
عندما لا يكون المستشعر يقيس بنشاط، فإنه يستهلك فقط 0.04 ميكروأمبير، مما يجعله مناسبًا للتطبيقات التي تعمل بالبطارية. عند القياس، يكون استهلاك التيار حوالي 400 ميكروأمبير، وهو لا يزال منخفضًا نسبيًا لمعظم المشاريع.
تفاصيل ورقة البيانات
| المصنع | تي إي كونكتيفيتي |
|---|---|
| رقم الجزء | HTU21DF |
| جهد المنطق/الإدخال والإخراج | 1.5 - 3.6 ف |
| جهد التغذية | ٣.٣ فولت |
| تيار الخرج (لكل قناة) | 0.4 مللي أمبير (قياس) |
| التيار الأقصى (لكل قناة) | 450 ميكرو أمبير (كحد أقصى) |
| إرشادات تردد PWM | غير قابل للتطبيق |
| عتبات منطق الإدخال | 0.3 × فDDإلى 0.7 × فDD |
| انخفاض الجهد / رDS(on)/ التشبع | N/A |
| الحدود الحرارية | -40°C إلى +125°C |
| حزمة | 6 دبابيس DFN |
| ملاحظات / متغيرات | متوفر بأحجام عبوات مختلفة |
- مزود الطاقة: 3.3 فولت موصى به لأداء مثالي.
- قم بتوصيل SCL بدبوس ساعة I2C (A5 على Arduino UNO).
- قم بتوصيل SDA بدبوس بيانات I2C (A4 على أردوينو أونو).
- تأكد من التوصيل الصحيح لتجنب المدخلات العائمة.
- راقب استهلاك الطاقة أثناء القياس لإدارة عمر البطارية.
- ضع في اعتبارك استخدام المقاومات السحب لأعلى إذا لزم الأمر لخطوط I2C.
تعليمات التوصيل

لربط مستشعرات HTU21DF، ابدأ بتوصيل VCCقم بتوصيل دبوس كل مستشعر بالدبوس 3.3 فولت على الأردوينو. بعد ذلك، قم بتوصيل دبوس GND لكل مستشعر بأرضية مشتركة. من أجل الاتصال عبر I2C، قم بتوصيل دبوس SDA لكلا المستشعرين بالدبوس A4 على الأردوينو، ودبوس SCL بالدبوس A5. تأكد من أن المستشعرات مزودة بالطاقة بشكل صحيح وأن اتصالات البيانات آمنة لتسهيل الاتصال.
إذا كنت تستخدم مستشعرات أو مكونات إضافية، تأكد من أن الأسلاك الخاصة بها لا تتداخل مع حافلة I2C. يمكن توصيل مستشعرات HTU21DF بالتوازي على نفس حافلة I2C، مما يسمح للغة Arduino بقراءة البيانات من كلا المستشعرين دون حدوث لبس.
أمثلة الشفرات وشرح خطوة بخطوة
الكود التالي يقوم بتهيئة حساسات HTU21DF ويقرأ قيم درجات الحرارة والرطوبة الخاصة بها. أولاً، نتضمن المكتبات الضرورية وننشئ مثيلات لكلا الحساسين:
#include
#include "Adafruit_HTU21DF.h"
Adafruit_HTU21DF htu1 = Adafruit_HTU21DF(); // create object for first sensor
Adafruit_HTU21DF htu2 = Adafruit_HTU21DF(); // create object for second sensor
يقوم الكود أعلاه بإعداد المكتبات المطلوبة وإنشاء كائنين من المستشعر.htu1وhtu2، الذي سيستخدم لقراءة البيانات من كل مستشعر بشكل مستقل.
التالي، في الـsetup()نبدأ وظيفة، نقوم بتهيئة المراقب التسلسلي ونفحص ما إذا كانت المستشعرات متصلة:
void setup() {
Serial.begin(9600);
if (!htu1.begin() || !htu2.begin()) {
Serial.println("Couldn't find sensor!");
while (1);
}
}
هذه القسم من الكود يقوم بتهيئة الاتصال التسلسلي بسرعة 9600 بت في الثانية ويتحقق مما إذا كانت كلا الحساسين تعمل. إذا لم يتم اكتشاف أحد الحساسات، سيقوم بطباعة رسالة خطأ وإيقاف البرنامج.
في الحلقة الرئيسية، نقرأ قيم درجة الحرارة والرطوبة من كلا المستشعرين ونظهرها:
void loop() {
float temp1 = htu1.readTemperature();
float rel_hum1 = htu1.readHumidity();
float temp2 = htu2.readTemperature();
float rel_hum2 = htu2.readHumidity();
Serial.print("Sensor 1 Temp: "); Serial.print(temp1); Serial.print(" C");
Serial.print("\tSensor 1 Humidity: "); Serial.print(rel_hum1); Serial.println(" %");
Serial.print("Sensor 2 Temp: "); Serial.print(temp2); Serial.print(" C");
Serial.print("\tSensor 2 Humidity: "); Serial.print(rel_hum2); Serial.println(" %");
delay(500);
}
هذا الحلقة تقرأ وتطبع درجة الحرارة والرطوبة من كلا المستشعرين كل 500 مللي ثانية. يمكنك ملاحظة كيف تتغير القيم استجابةً للظروف البيئية.
عرض / ما يمكن توقعه
عندما تقوم بتشغيل الكود، ستظهر القيم الخاصة بالحرارة والرطوبة لكل المستشعرات على الشاشة التسلسلية. يمكنك تطبيق الحرارة، مثل استخدام مسدس الحرارة، لملاحظة كيف تزيد قراءات درجة الحرارة بينما قد تنخفض مستويات الرطوبة (في الفيديو عند 12:30). إذا تجاوزت درجة الحرارة الحد الأقصى القابل للقياس وهو 125°C، فقد يعود المستشعر بقيمة صفر أو خطأ، مما يدل على أنه لا يمكنه قراءة القيمة.
كن حذرًا من أخطاء التوصيل، مثل الاتصالات المعكوسة أو المدخلات العائمة، التي يمكن أن تؤدي إلى قراءات غير صحيحة. من خلال اتباع الخطوات الموضحة في هذا الدليل، يجب أن تكون قادرًا على تنفيذ حساسات HTU21DF بنجاح ومراقبة قراءاتها بفاعلية.
طوابع زمنية للفيديو
- 00:00- مقدمة
- 01:30- شرح التوصيلات
- ٠٢:٤٥- شرح الكود
- 12:30- عرض باستخدام مسدس حراري
- 14:00- خاتمة
هذا الدليل هو جزء من: مستشعر رقمي للرطوبة النسبية ودرجة الحرارة HTU21D
- Lesson 35-1: Using the HTU21D Temperature Sensor
- الدرس 35-2: استخدام مستشعر درجة الحرارة HTU21D - كود مخصص
- الدرس 35: استخدام مستشعر درجة الحرارة HTU21D مع أردوينو
- الدرس 36: استخدام مستشعر الحرارة HTU21D مع شاشة LCD دورة خطوة بخطوة لأردوينو
- عرض درجة الحرارة من HTU21D على شاشة LCD
- عرض درجة الحرارة من HTU21D كرسوم بيانية على شاشة LCD
- كيفية استخدام مستشعر الرطوبة ودرجة الحرارة HTU21DF مع أردوينو (الكود الأساسي)
- كيفية استخدام مستشعر الرطوبة ودرجة الحرارة HTU21DF مع Arduino (شفرة مخصصة)
الأشياء التي قد تحتاجها
-
أمازوناشترِ وحدة HTU21D من أمازونamzn.to
-
إي بايشراء HTU21D من eBayebay.us
-
علي إكسبريساشترِ HTU21D أو SHT21 من علي إكسبريسs.click.aliexpress.com
الموارد والمراجع
-
خارجيمكتبة Adafruit HTU21D (جيت هاب)github.com
ملفات📁
ورقة البيانات (pdf)
-
HTU21D_temerature_humidity_datasheet
HTU21D_temerature_humidity_datasheet.pdf0.96 MB