الدرس 35: استخدام مستشعر درجة الحرارة HTU21D مع أردوينو
يرشدك هذا المشروع خلال استخدام أردوينو لقراءة بيانات درجة الحرارة والرطوبة من مستشعر HTU21D-F. هذا المستشعر رخيص ومتوافر على نطاق واسع، مما يجعله مثالياً لمجموعة متنوعة من المشاريع. يخرج المستشعر البيانات عبر I2C، وهو بروتوكول اتصال رقمي شائع. سيفتح لك تعلم كيفية استخدام هذا المستشعر وI2C العديد من الإمكانيات لمشاريعك.

التطبيقات العملية:
- بناء جهاز مراقبة بيئية للمنزل الذكي
- إنشاء محطة أرصاد جوية
- تطوير حاوية مُتحكَّم في مناخها للأجهزة الإلكترونية الحساسة
- مراقبة درجة الحرارة والرطوبة في الدفيئة أو التيراريوم
الأجهزة/المكونات
ستحتاج إلى المكونات التالية:
- لوحة أردوينو (مثل Uno، Nano)
- مستشعر HTU21D-F لدرجة الحرارة والرطوبة (في الفيديو عند 00:22)
- أسلاك التوصيل
- لوحة تجارب (اختيارية، لكن يُوصى بها)
دليل الأسلاك
التوصيلات بسيطة. قم بتوصيل المستشعر بالأردوينو كما يلي (في الفيديو عند 02:28):
- وصل VCC الخاص بالمستشعر إلى 3.3V في لوحة الأردوينو
- وصل GND الخاص بالمستشعر إلى GND الخاص بالأردوينو
- وصل SDA للمستشعر إلى A4 في الأردوينو
- وصّل SCL الخاص بالمستشعر إلى A5 على لوحة أردوينو

شرح الكود
يستخدم الكود المقدم مكتبة Adafruit HTU21D-F (في الفيديو عند 03:03) للتفاعل مع المستشعر. الأجزاء الرئيسية هي:
// These are the lines that you can configure:
const int inPin =A0;//can change
const int iteration = 1000; //can change (see video at 00:22)
const float LM35_FACTOR =0.01;// do not change
inPin: يحدد الدبوس التناظري المتصل بمستشعر درجة الحرارة. يمكنك تغييره ليتناسب مع توصيلاتك.
iteration: يتحكم هذا المتغير في عدد القراءات المأخوذة لحساب متوسط درجة الحرارة. زيادته تحسّن الدقة لكنها تُبطئ عملية القراءة (في الفيديو عند 00:22).
الgetHTU()تسمح الدالة (في الفيديو عند 08:46) باسترجاع درجة الحرارة بالدرجات المئوية أو بالفهرنهايت أو بالكلفن، أو الرطوبة، عن طريق تمرير حرف ('C'، 'F'، 'K' أو 'H') كوسيط. ثم يستخدم الكود هذه الدالة لعرض البيانات على المراقب التسلسلي.
float getTemperature(char type) {
// ... (code to read temperature and humidity) ...
if (type == 'F') {
value = averageTemperature * 9 / 5 + 32; // Fahrenheit
} else if (type == 'K') {
value = averageTemperature + 273.15; // Kelvin
} else {
value = averageTemperature; // Celsius
}
return value;
}
مشروع حي/عرض توضيحي
يعرض الفيديو وظيفة المستشعر (في الفيديو عند 07:34). يعرض المراقب التسلسلي قراءات درجة الحرارة والرطوبة. كما يوضح المقدم كيف يمكن للكود تفعيل إجراءات استنادًا إلى عتبات درجة الحرارة (في الفيديو عند 06:45).
فصول
- [00:00] مقدمة
- [00:22] نظرة عامة على المستشعر
- [01:22] مراجعة ورقة البيانات
- [02:28] الأسلاك
- [03:03] تثبيت المكتبة
- [04:05] شرح الكود (الجزء 1)
- [08:33] شرح الكود (الجزء 2)
- [07:34] عرض مباشر
الأشياء التي قد تحتاجها
-
أمازون
الموارد والمراجع
-
خارجيمكتبة Adafruit HTU21D (GitHub)github.com
-
خارجيورقة بيانات HTU21D (PDF)cdn-shop.adafruit.com
ملفات📁
ملفات أخرى
-
Adafruit HTU21DF library (Robojax.com)
robojax_HTU21DF_Adafruit_HTU21DF_Library-master.zip