تعتبر الرطوبة ودرجة الحرارة من العوامل الشائعة لقياس الظروف البيئية. في هذا المشروع القائم على Arduino ، سنقوم بقياس درجة الحرارة المحيطة والرطوبة وعرضها على شاشة LCD مقاس 16 × 2. يتم استخدام مستشعر درجة الحرارة والرطوبة المركبين DHT11 مع Arduino uno لتطوير مقياس الحرارة بمقياس مئوية ومشروع قياس الرطوبة على نطاق النسبة المئوية. في أحد مشاريعي السابقة ، قمت أيضًا بتطوير مقياس حرارة رقمي باستخدام مستشعر درجة الحرارة LM35.
يتكون هذا المشروع من ثلاثة أقسام - أحدهما يستشعر الرطوبة ودرجة الحرارة باستخدام مستشعر الرطوبة ودرجة الحرارة DHT11. يقرأ القسم الثاني إخراج وحدة DHTsensor ويستخرج قيم درجة الحرارة والرطوبة إلى رقم مناسب بالنسبة المئوية ومقياس سيليزي. ويعرض الجزء الثالث من النظام الرطوبة ودرجة الحرارة على شاشة LCD.
يعتمد العمل في هذا المشروع على اتصال تسلسلي أحادي السلك. يرسل اردوينو أولاً إشارة بدء إلى وحدة DHT ثم يعطي DHT إشارة استجابة تحتوي على بيانات درجة الحرارة والرطوبة. يجمع Arduino ويستخلص في جزأين أحدهما الرطوبة والثاني درجة الحرارة ثم إرسالهما إلى شاشة LCD مقاس 16 × 2.
هنا في هذا المشروع ، استخدمنا وحدة استشعار وهي DHT11. تتميز هذه الوحدة بمركب الرطوبة ودرجة الحرارة مع إخراج إشارة رقمية معايرة مما يعني أن وحدة مستشعر DHT11 هي وحدة مدمجة لاستشعار الرطوبة ودرجة الحرارة والتي تعطي إشارة خرج رقمية معايرة. يمنحنا DHT11 قيمة دقيقة جدًا للرطوبة ودرجة الحرارة ويضمن موثوقية عالية واستقرارًا طويل المدى. يحتوي هذا المستشعر على مكون قياس الرطوبة من النوع المقاوم ومكون قياس درجة الحرارة من نوع NTC مع متحكم دقيق 8 بت يحمل في ثناياه عوامل والذي يتمتع باستجابة سريعة وفعالة من حيث التكلفة ومتوفر في حزمة صف واحد مكون من 4 أسنان.
تعمل وحدة DHT11 على الاتصال التسلسلي ، أي الاتصال بسلك واحد. ترسل هذه الوحدة البيانات في شكل قطار نبضي لفترة زمنية محددة. قبل إرسال البيانات إلى arduino ، يحتاج الأمر إلى بعض أوامر التهيئة مع تأخير زمني. ووقت العملية بالكامل حوالي 4 مللي ثانية. النقل الكامل للبيانات هو 40 بت ، ويرد أدناه تنسيق البيانات لهذه العملية:
بيانات RH متكاملة 8 بت + بيانات RH عشرية 8 بت + بيانات T متكاملة 8 بت + بيانات T عشرية 8 بت + مجموع فحص 8 بت.
عملية كاملة
بادئ ذي بدء ، يرسل arduino إشارة بدء عالية إلى منخفضة إلى DHT11 مع تأخير لمدة 18 لضمان اكتشاف DHT. ثم يقوم اردوينو بسحب خط البيانات وانتظر 20-40 ثانية لاستجابة DHT. بمجرد أن يكتشف DHT إشارة البدء ، سيرسل إشارة استجابة منخفضة الجهد إلى اردوينو بتأخير زمني حوالي 80 ثانية. ثم يقوم جهاز التحكم DHT بسحب خط البيانات والاحتفاظ به لمدة 80 ثانية لترتيب DHT لإرسال البيانات.
عندما يكون ناقل البيانات عند مستوى الجهد المنخفض ، فهذا يعني أن DHT11 يرسل إشارة استجابة. بمجرد الانتهاء من ذلك ، يقوم DHT مرة أخرى بسحب خط البيانات لمدة 80 ثانية لإعداد نقل البيانات.
يبدأ تنسيق البيانات الذي يتم إرساله بواسطة DHT إلى arduino لكل بت بمستوى جهد منخفض يبلغ 50 درجة ويحدّد طول إشارة مستوى الجهد العالي ما إذا كانت بت البيانات "0" أو "1".
أحد الأشياء المهمة هو التأكد من سحب قيمة المقاوم لأننا إذا وضعنا مستشعر DHT على مسافة أقل من 20 مترًا ، فمن المستحسن سحب المقاوم 5k. إذا تم وضع DHT على مسافة أطول من 20 مترًا ، فاستخدم قيمة مناسبة لسحب المقاومة.
مخطط الدائرة وشرحها
يتم استخدام شاشة عرض بلورية سائلة لعرض درجة الحرارة والرطوبة التي ترتبط مباشرة بـ Arduino في وضع 4 بت. ترتبط دبابيس LCD وهي RS و EN و D4 و D5 و D6 و D7 برقم دبوس اردوينو الرقمي 2 و 3 و 4 و 5 و 6 و 7. كما أن وحدة استشعار DHT11 متصلة أيضًا بالدبوس الرقمي 12 من اردوينو 5 كيلو سحب المقاوم.
وصف البرمجة
في البرمجة ، سنستخدم المكتبات المبنية مسبقًا لمستشعر DHT11 ووحدة شاشة LCD.
ثم قمنا بتحديد دبابيس لمستشعر LCD و DHT وقمنا بتهيئة كل الأشياء في الإعداد. ثم في حلقة باستخدام وظيفة dht ، يقرأ مستشعر DHT ثم باستخدام بعض وظائف dht ، نستخرج الرطوبة ودرجة الحرارة ونعرضها على شاشة LCD.
هنا يتم إنشاء رمز الدرجة باستخدام طريقة الأحرف المخصصة.