المستشعر DHT22 هو جهاز إلكتروني يستخدم لقياس درجة الحرارة والرطوبة النسبية في البيئة المحيطة. يُعرف أيضًا باسم AM2302. يعتبر المستشعر DHT22 جزءًا من عائلة مستشعرات الحرارة والرطوبة التي تُنتجها شركة Aosong (المعروفة أيضًا باسم AOSONG).
مواصفات المستشعر DHT22:
قياس درجة الحرارة: المستشعر يقيس درجات حرارة تتراوح عادة من -40 درجة مئوية إلى 80 درجة مئوية.
قياس الرطوبة: يقيس الرطوبة النسبية من 0 إلى 100٪.
الدقة: يوفر دقة نسبية عالية بالنسبة لمستوى الاستهلاك، عادةً ±0.5 درجة مئوية لدرجة الحرارة و±2-5٪ للرطوبة.
واجهة: يتواصل المستشعر عبر دبوس بيانات واحد، مما يسهل استخدامه مع الميكروكنترولرات مثل Arduino.
الطاقة: يعمل عادةً بجهد يتراوح بين 3.3 فولت و 5 فولت.
مبدأ العمل:
يستخدم المستشعر DHT22 عنصرًا سعويًا لقياس الرطوبة النسبية ومقاومة حرارية لقياس درجة الحرارة. عند تفعيله، يقوم بالقياسات وتحويل هذه القيم إلى إشارات رقمية يمكنه نقلها عبر دبوس بياناته.
الاستخدامات الشائعة:
التحكم المنزلي الآلي: التحكم في بيئات المنازل للتدفئة، التكييف، وما إلى ذلك.
مشاريع الطقس: محطات الطقس الشخصية أو المشاريع ذات الصلة بالأرصاد الجوية.
مراقبة البيئة: قياس ومراقبة الظروف البيئية في الدفيئات، المستودعات، وغيرها.
مشاريع الإلكترونيات: يستخدم في مشاريع DIY والروبوتات أو المشاريع التلقائية التي تتطلب قياسات درجة الحرارة والرطوبة.
يُعد المستشعر DHT22 شائعًا بسبب دقته النسبية، وسهولة استخدامه، وتكلفته المنخفضة، مما يجعله خيارًا شائعًا في مختلف المشاريع الإلكترونية. ومع ذلك، مثل أي مستشعر آخر، لديه حدوده ومن المهم النظر في مواصفاته للحصول على قراءات دقيقة.
لتوصيل واستخدام مستشعر DHT22 مع لوحة الأردوينو، يُتبع الخطوات التالية:
قم بتوصيل المستشعر DHT22 بلوحة الأردوينو:
تثبيت المكتبة:
قم بفتح بيئة التطوير Arduino IDE.
اذهب إلى "Sketch" > "Include Library" > "Manage Libraries."
ابحث عن "dhtlib" وقم بتثبيت "DHT sensor library" من Adafruit أو الذي تفضله.
لعرض درجة الحرارة والرطوبة المقاسة بواسطة حساس DHT22 المتصل بالأردوينو على شاشة SSD1306، ستحتاج إلى المكونات التالية:
لوحة الاردوينو:
لوحة الأردوينو هي لوحة إلكترونية تستخدم في تطوير الأجهزة الإلكترونية التفاعلية والمشاريع البرمجية. توفر الأردوينو بيئة برمجية واجهة سهلة للمبتدئين والمحترفين لتطوير الأجهزة والمشاريع المختلفة.
مستشعر DHT22:
لقياس درجة الحرارة والرطوبة.
شاشة SSD1306:
شاشة SSD1306 هي شاشة صغيرة الحجم تعتمد على تقنية OLED، وهي شاشة عرض تستخدم لعرض النصوص والرسوميات بدقة عالية على مساحة صغيرة. تعتبر شاشات SSD1306 شائعة الاستخدام في العديد من المشاريع الإلكترونية، مثل الروبوتات الصغيرة، أجهزة الاستشعار، وأجهزة القياس.
شاشة SSD1306 تعتمد على تواصل لعرض البيانات.
وصلات الأسلاك (Jumper wires):
لتوصيل الحساس DHT22 وشاشة SSD1306 بالأردوينو.
لوحة الاختبار:
اللوحة ، المعروف أيضًا باسم اللوحة ، هو مكون إلكتروني شائع الاستخدام لأداء النماذج الأولية السريعة والتجريب. يجعل من السهل توصيل المكونات الإلكترونية دون الحاجة إلى لحام.
لنقوم بوصف مخطط الأسلاك لتوصيل لوحة Arduino مع مستشعر DHT22 وشاشة SSD1306:
1- (+): توصيله بمنفذ 3.3V على لوحة الأردوينو.
2- (-): توصيله بمنفذ GND على لوحة الأردوينو.
3- OUT: توصيله بمنفذ رقم 2 على الأردوينو.
1- VCC: توصيله بمنفذ 5V على لوحة الأردوينو.
2- GND: توصيله بمنفذ GND على لوحة الأردوينو.
3- SDA: توصيله بمنفذ A4 على لوحة الأردوينو.
4- SCL: توصيله بمنفذ A5 على لوحة الأردوينو.
أولًا، تأكد من تثبيت مكتبة dhtlib و Adafruit_SSD1306 في Arduino IDE قبل استخدام البرنامج التالي.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
#include <Adafruit_SSD1306.h> #include <dht.h> #define dataPin 2 // دبوس متصل بمستشعر DHT22 dht DHT; // Creats a DHT object //OLED define #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels // Declaration for an SSD1306 display connected to I2C (SDA, SCL pins) Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); void setup() { Serial.begin(9600); //For OLED I2C if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64 Serial.println(F("SSD1306 allocation failed")); for(;;); } display.display(); //Display logo delay(1000); display.clearDisplay(); } void loop() { delay(1000); int readData = DHT.read22(dataPin); // DHT22/AM2302 float t = DHT.temperature; <span class="hljs-comment">// قراءة بيانات الحرارة بالدرجات مئوية</span> float h = DHT.humidity; // قراءة بيانات الرطوبة display.clearDisplay(); oledDisplayHeader(); // عرض محتويات الشاشة oledDisplay(2,5,28,h,"%"); oledDisplay(2,60,28,t,"C"); display.display(); } void oledDisplayHeader(){ display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0, 0); display.print("Humidity"); display.setCursor(60, 0); display.print("Temperature"); } void oledDisplay(int size, int x,int y, float value, String unit){ int charLen=12; int xo=x+charLen*3.2; int xunit=x+charLen*3.6; int xval = x; display.setTextSize(size); display.setTextColor(WHITE); if (unit=="%"){ display.setCursor(x, y); display.print(value,0); display.print(unit); } else { if (value>99){ xval=x; } else { xval=x+charLen; } display.setCursor(xval, y); display.print(value,0); display.drawCircle(xo, y+2, 2, WHITE); // print degree symbols ( ) display.setCursor(xunit, y); display.print(unit); } } |
هذا الشفرة تبدأ بتحديد رقم الدخل الذي يتم استخدامه للاتصال مع مستشعر DHT22. بعد ذلك، تبدأ العملية بالقراءة من المستشعر وعرض البيانات على شاشة SSD1306. يُعرض درجة الحرارة ثم الرطوبة.
بعد تحميل هذا الشفرة إلى لوحة الأردوينو، ستظهر قراءات درجة الحرارة والرطوبة على شاشة SSD1306.
تشير الروبوتات التعليمية إلى استخدام الروبوتات وتكنولوجيا الروبوتات لتعزيز التعلم في بيئات التعليم. إنه ينطوي على دمج التكنولوجيا والهندسة وعلوم الحاسوب في الفصل الدراسي، مما يتيح للطلاب المشاركة في تجارب تعلم عملية وعملية.
في هذا السياق ، يمثل موقعنا الإلكتروني مصدرًا ممتازًا للآباء والمعلمين والأطفال الذين يرغبون في اكتشاف الروبوتات.
زاوية قنطش ـ جمال ـ المنستير ـ تونس
+216 92 886 231
medaliprof@gmail.com
هذا موقع واب تم إنشاؤه بواسطة محمد علي أستاذ إعلامية