
مشروع حساس الحرارة والرطوبة
في عالم الإلكترونيات، يعتبر فهم البيئة المحيطة خطوة أساسية نحو بناء أنظمة ذكية. من هنا، يأتي مشروع حساس الحرارة والرطوبة كمدخل مثالي للمبتدئين في عالم Arduino، حيث يجمع بين البرمجة، التوصيل، والقياس البيئي في تجربة تعليمية ممتعة ومفيدة.
🎯 لماذا هذا المشروع مهم؟
- يعلمك كيف تقرأ بيانات من حساس حقيقي.
- يربط بين العالم الفيزيائي والبرمجة.
- يمهد الطريق لمشاريع أكثر تعقيداً مثل أنظمة الري الذكية أو محطات الطقس.
🧰 الأدوات المطلوبة
لوحة Arduino Uno أو مشابهة
أسلاك توصيل ولوحة تجارب

شاشة LCD (اختيارية لعرض القيم مباشرة)

🧭 خطوات التركيب
- توصيل الحساس:
- VCC إلى 5V
- GND إلى GND
- DATA إلى المدخل الرقمي D2
- مقاومة 10K بين DATA و VCC
- اختبار التوصيلات: تأكد من ثبات الأسلاك وعدم وجود تماس غير مرغوب فيه.
💻 البرمجة: قراءة البيانات من الحساس
cpp
#include <DHT.h>
#define DHTPIN 2 // مدخل البيانات
#define DHTTYPE DHT11 // أو DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("فشل في قراءة البيانات من الحساس");
return;
}
Serial.print("الرطوبة: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("الحرارة: ");
Serial.print(t);
Serial.println(" °C");
delay(2000);
}
🧠 شرح الكود البرمجي: حساس DHT11 مع Arduino
cpp
#include <DHT.h>🔹 شرح: هذا السطر يستدعي مكتبة
DHT.h، وهي مكتبة جاهزة تحتوي على وظائف تسهل التعامل مع حساس DHT11 أو DHT22. 🔸 تعليمي: المكتبات في Arduino تشبه الصناديق التي تحتوي على أدوات جاهزة للاستخدام.cpp
#define DHTPIN 2 #define DHTTYPE DHT11🔹 شرح:
DHTPIN 2: يحدد أن DATA من الحساس متصل بالمدخل الرقمي رقم 2.DHTTYPE DHT11: يحدد نوع الحساس المستخدم (يمكن تغييره إلىDHT22إذا استخدمت الحساس الآخر). 🔸 تعليمي:#defineتستخدم لتعريف ثوابت تسهل تعديل الكود لاحقاً.cpp
DHT dht(DHTPIN, DHTTYPE);🔹 شرح: ينشئ كائن
dhtمن نوعDHTباستخدام المدخل ورقم النوع المحددين. 🔸 تعليمي: الكائنات في البرمجة تسمح لنا باستخدام وظائف جاهزة مثلreadTemperature()وreadHumidity().cpp
void setup() { Serial.begin(9600); dht.begin(); }🔹 شرح:
Serial.begin(9600): يفتح قناة الاتصال التسلسلي بين Arduino والحاسوب بسرعة 9600 بت في الثانية.dht.begin(): يبدأ تشغيل الحساس ويجهزه للقراءة. 🔸 تعليمي:setup()تُنفذ مرة واحدة عند تشغيل اللوحة، وتُستخدم لتهيئة الإعدادات.cpp
void loop() { float h = dht.readHumidity(); float t = dht.readTemperature();🔹 شرح:
readHumidity(): يقرأ نسبة الرطوبة من الحساس ويخزنها في المتغيرh.readTemperature(): يقرأ درجة الحرارة ويخزنها فيt. 🔸 تعليمي:loop()تُنفذ بشكل متكرر، وهي قلب البرنامج الذي يعمل باستمرار.cpp
if (isnan(h) || isnan(t)) { Serial.println("فشل في قراءة البيانات من الحساس"); return; }🔹 شرح: يتحقق من أن القيم المقروءة ليست فارغة أو خاطئة (
NaN = Not a Number). إذا كانت كذلك، يطبع رسالة خطأ ويتوقف عن تنفيذ باقي الكود مؤقتاً. 🔸 تعليمي: التحقق من الأخطاء مهم جداً لضمان عمل البرنامج بشكل سليم.cpp
Serial.print("الرطوبة: "); Serial.print(h); Serial.print(" %\t"); Serial.print("الحرارة: "); Serial.print(t); Serial.println(" °C");🔹 شرح: يطبع القيم المقروءة على شاشة المنفذ التسلسلي، مع تنسيق واضح. 🔸 تعليمي:
Serial.print()تستخدم لطباعة النصوص والقيم، و\tتضيف مسافة أفقية.cpp
delay(2000); }🔹 شرح: ينتظر البرنامج لمدة 2000 ميلي ثانية (2 ثانية) قبل إعادة القراءة. 🔸 تعليمي:
delay()تُستخدم لتحديد فاصل زمني بين كل قراءة وأخرى.🧪 ملخص تعليمي
المفهوم الشرح المبسط المكتبة أدوات جاهزة للتعامل مع الحساس الكائن طريقة لتجميع الوظائف المرتبطة بالحساس المنفذ التسلسلي قناة لعرض البيانات على الحاسوب التحقق من الأخطاء حماية البرنامج من القيم الفارغة أو الخاطئة الطباعة عرض القيم المقروءة بطريقة مفهومة التأخير تنظيم توقيت القراءة لتجنب التكرار السريع
📚 مفاهيم تعليمية مرافقة
- الحساسات البيئية: أجهزة تقيس خصائص مثل الحرارة والرطوبة وتحولها إلى إشارات رقمية.
- المنفذ التسلسلي: قناة تواصل بين Arduino والحاسوب لعرض البيانات.
- الفرق بين DHT11 و DHT22:
- DHT11: أرخص، أقل دقة، مدى حرارة محدود
- DHT22: أغلى، أكثر دقة، مدى أوسع
🧠 تحدي تعليمي
✍️ عدّل الكود ليعرض درجة الحرارة بالفهرنهايت، وأضف تنبيه صوتي إذا تجاوزت الحرارة 30°C.
🌱 كيف نطور المشروع؟
- إضافة شاشة LCD لعرض القيم مباشرة.
- تخزين البيانات في بطاقة SD.
- إرسال القيم عبر الإنترنت باستخدام Wi-Fi أو Bluetooth.
- ربطه بنظام ري تلقائي للنباتات.
هذا المشروع هو بوابة رائعة نحو عالم الأنظمة الذكية. يمكن تحويله بسهولة إلى وحدة تعليمية تفاعلية على Schwila.com، أو استخدامه في ورش تعليمية للأطفال والمبتدئين.



[…] schwila book of دليل شامل لشاشات LCDDownload أقرأ أيضا […]