جدول المحتويات:

مستشعر درجة الحرارة والرطوبة من اردوينو: 7 خطوات
مستشعر درجة الحرارة والرطوبة من اردوينو: 7 خطوات

فيديو: مستشعر درجة الحرارة والرطوبة من اردوينو: 7 خطوات

فيديو: مستشعر درجة الحرارة والرطوبة من اردوينو: 7 خطوات
فيديو: أردوينو للمبتدئين - (27) مشروع جهاز استشعار درجة الحرارة والرطوبة 2024, شهر نوفمبر
Anonim

بواسطة Thundertronics

PIC16F877A محول تناظري إلى رقمي (ADC)
PIC16F877A محول تناظري إلى رقمي (ADC)
PIC16F877A محول تناظري إلى رقمي (ADC)
PIC16F877A محول تناظري إلى رقمي (ADC)
واجهة LCD مع متحكم PIC16F877A
واجهة LCD مع متحكم PIC16F877A
واجهة LCD مع متحكم PIC16F877A
واجهة LCD مع متحكم PIC16F877A
DIY وحدات امدادات الطاقة مقاعد البدلاء
DIY وحدات امدادات الطاقة مقاعد البدلاء
DIY وحدات امدادات الطاقة مقاعد البدلاء
DIY وحدات امدادات الطاقة مقاعد البدلاء

في هذا البرنامج التعليمي ، سأشرح كيفية صنع مستشعر درجة الحرارة والرطوبة باستخدام لوحة Arduino pro mini مع مستشعر DHT11 (أو DHT22).

الخطوة 1: شاهد الفيديو

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

www.youtube.com/watch؟v=56LKl7Xd770

الخطوة 2: الأجزاء المطلوبة

الأجزاء اللازمة لهذا المشروع هي:

1- لوحة Arduino pro الصغيرة (أو أي Arduino).

2- مستشعر درجة الحرارة والرطوبة DHT11 (أو DHT22).

3- شاشة عرض LCD مقاس 16 × 2.

4- العلبة التي تختارها ، ويفضل أن تكون هي نفسها المستخدمة في الفيديو.

5- مقياس جهد 10 كيلو.

6- المحطات اللولبية.

7- مقاومات ذات قيم مختلفة.

8- بطارية 9 فولت.

بينما الأدوات المطلوبة هي:

1- مثقاب يدوي مثل دريميل.

2- لقم مختلفة للحفر ، حيث سنستخدم لقم التنعيم وأجزاء القطع.

3- يد العون.

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

الخطوة الثالثة: التصميم التخطيطي

تصميم تخطيطي
تصميم تخطيطي

في هذا المشروع ، اخترت عمل ثنائي الفينيل متعدد الكلور بدلاً من توصيله بنفسي. لذلك استخدمت أداة EasyEDA عبر الإنترنت للوظيفة التي كانت تجربة رائعة.

هذه صفحة المشروع على موقع easyEDA: https://easyeda.com/Hossam_VEGETA_Moghrabi/Arduin …

شرح التخطيطي كما يلي:

1- لقد استخدمت محول ICSP ذي 6 سنون لبرمجة Arduino pro mini لأنه لا يأتي مع واحد على متن الطائرة. إنه J2 في التخطيطي.

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

3- JP1 هو مجرد موصل له بصمة PCB لطيفة. لم أضع أبدًا محطة فعلية ولكن بدلاً من ذلك قمت بلحام الأسلاك. افعل ما يحلو لك.

4- U2 هي أطراف توصيل البطارية. هنا ، أفضل المحطات اللولبية الجميلة للحصول على اتصال ثابت. يمكنك لحام الأسلاك ، ولكن تأكد من وضع ما يكفي من اللحام لجعل الاتصال قويًا بما يكفي لتحمل أي اهتزازات.

5- LCD1 هو مكون LCD في easyEDA. لديه الاتصال الأساسي بـ Arduino pro mini. تأكد من أن الدبابيس هنا مطابقة لتلك الموجودة في البرنامج.

6- RV1 هو مقياس جهد 10 كيلو لضبط تباين شاشات الكريستال السائل. يجب استخدامه مرة واحدة فقط ويكون ذلك عند تشغيل شاشة LCD لأول مرة.

الخطوة 4: تصميم ثنائي الفينيل متعدد الكلور

تصميم ثنائي الفينيل متعدد الكلور
تصميم ثنائي الفينيل متعدد الكلور
تصميم ثنائي الفينيل متعدد الكلور
تصميم ثنائي الفينيل متعدد الكلور

بعد الانتهاء من التصميم التخطيطي وفهم معنى كل شيء ، حان الوقت الآن لصنع ثنائي الفينيل متعدد الكلور لذلك.

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

لقد استخدمت الكثير من فيا للانتقال من الطبقة العلوية إلى السفلية لأن المساحة صغيرة جدًا.

الخطوة 5: تصنيع ثنائي الفينيل متعدد الكلور

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

الشركة التي أختارها هي JLCPCB. إنها الأفضل لمثل هذه المشاريع والنماذج الأولية وتقدم 2 دولار فقط مقابل 10 قطع كاملة من تصميمك!

لذلك ، نضغط الآن على (….) ونختار JLCPCB. نحن موجهون إلى موقع JLCPCB لأنهم شركاء مع EasyEDA. الآن قم بملء كل شيء ووضع الطلب. الآن فقط انتظر حتى تصل مركبات ثنائي الفينيل متعدد الكلور.

من الجدير بالذكر أن JLCPCB لا يرتبط بها EasyEDA فحسب ، بل تمتلك أيضًا متجرًا كبيرًا للمكونات! الفائدة هنا هي الحصول على طلب ثنائي الفينيل متعدد الكلور وترتيب المكونات معًا! نعم ، لا داعي للانتظار حتى وصول حزمتين منفصلتين ، ولكن بدلاً من ذلك ، يتم دمجهما في حزمة واحدة. أوصي بشدة باستخدام هذا.

الخطوة 6: التجميع

لدينا ثنائي الفينيل متعدد الكلور وحده مع كل شيء الآن. حان الوقت لتجميع كل شيء معًا.

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

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

يجب عليك الآن استخدام مقياس الجهد لضبط تباين شاشة LCD ، أثناء اختيار صمام المقاوم المطلوب للسطوع ، لقد اخترت 100R.

الخطوة 7: الكود

الكود الخاص بهذا المشروع مرفق بهذه الخطوة ، والتفسير كالتالي:

// تضمين رمز المكتبة: #include #include "DHT.h" // اضبط DHT Pin #define DHTPIN 2

قم بتضمين المكتبات الضرورية وحدد الدبوس 2 من Arduino pro mini باعتباره دبوس البيانات للمستشعر. تأكد من تثبيت هذه المكتبات إذا لم يكن لديك.

// تهيئة المكتبة بأرقام دبابيس الواجهة LiquidCrystal LCD (9 ، 8 ، 7 ، 6 ، 5 ، 4) ؛ # تعريف DHTTYPE DHT11 DHT dht (DHTPIN ، DHTTYPE) ؛

الآن قم بتهيئة مكتبة LCD باستخدام هذه المسامير وفقًا للتخطيطي نفسه. استخدم أيضًا مكتبة DHT واختر DHT11 كمستشعر لاستخدامه ، لذلك إذا كان لديك DHT22 فعليك تغييره.

يشير السطر الأخير إلى أن لدينا مستشعر DHT11 ودبوس البيانات الخاص به على دبوس "DHTPIN" وهو رقم التعريف الشخصي 2 كما حددناه سابقًا.

إعداد باطل () {// قم بإعداد عدد أعمدة وصفوف شاشة LCD: lcd.begin (16، 2)؛ dht.begin () ، lcd.setCursor (0 ، 0) ؛ lcd.print ("درجة الحرارة و") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("مستشعر الرطوبة") ؛ تأخير (3000) ؛ lcd.clear () ؛ lcd.setCursor (0 ، 0) ؛ lcd.print ("THUNDERTRONICS") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("حسام المغربي") ؛ تأخير (3000) ؛ }

الآن حان وقت الإعداد! وإليكم ما يحدث:

شاشة LCD من النوع 16 × 2.

ابدأ أمر DHT للحصول على القيم.

اطبع "مستشعر درجة الحرارة والرطوبة" على السطرين.

تأخير 3 ثوان.

عرض واضح

اطبع "THUNDERTRONICS" في السطر الأول ثم اطبع "حسام المغربي" في السطر الثاني.

تأخير 3 ثوان.

^ لقد فعلت ذلك كشاشة ترحيب تستمر حوالي 6 ثوانٍ أو نحو ذلك قبل عرض القيم.

حلقة فارغة () {// قراءة الرطوبة int h = dht.readHumidity () ؛ // قراءة درجة الحرارة في c int t = dht.readTemperature () ؛ if (isnan (h) || isnan (t)) {lcd.print ("ERROR") ؛ إرجاع؛ }

نحن الآن داخل الحلقة الأبدية التي ستستمر في تكرار نفسها.

تخزين قراءات الرطوبة داخل متغير "h" وقراءات درجة الحرارة داخل متغير "t".

بعد ذلك ، لدينا بيان if. يؤدي هذا بشكل أساسي إلى إرجاع رسالة خطأ عند وجود خطأ. اتركه دون تغييره.

الآن لدينا كل القيم التي نحتاجها.

lcd.setCursor (0 ، 0) ؛ lcd.print ("درجة الحرارة =") ؛ lcd.print (ر) ؛ lcd.print ("") ؛ lcd.print ((شار) 223) ؛ lcd.print ("C") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("الرطوبة =") ؛ lcd.print (ح) ؛ lcd.print ("٪") ؛ // lcd.print (حسام المغربي) ؛ تأخير (2000) ؛

أخيرًا ، نعرض هذه القيم على شاشة LCD. يمكنك تغييرها بالطريقة التي تريدها لأنها ببساطة تطبع القيم داخل متغيري "h" و "t". يعد وضع تأخير لمدة ثانيتين أمرًا اختياريًا نوعًا ما ولكنك لن تستفيد كثيرًا من القيام بذلك بشكل أسرع نظرًا لأن المستشعر نفسه ليس بهذه السرعة وحتى لو كان كذلك ، فلا تزال القيم المادية لا تتغير أبدًا بهذه السرعة. لذلك فإن ثانيتين سريعتين للغاية بالنسبة للمهمة!

هذا هو!

موصى به: