مستشعر DHT11 هو جهاز صغير يُستخدم لقياس درجة الحرارة والرطوبة في البيئة. يأتي ال DHT11 في شكل مستشعر رقمي مدمج، مع أربعة أسلاك للتوصيل، ويعمل على نقل البيانات بشكل رقمي.
مميزات المستشعر DHT11:
دقة معقولة: يوفر قراءات مقبولة لدرجات الحرارة بين 0 درجة مئوية و 50 درجة مئوية، والرطوبة بنسبة تتراوح بين 20% و 90%، مما يكفي لمعظم التطبيقات الشائعة.
سهولة الاستخدام: يعتبر من الأجهزة السهلة التي يمكن توصيلها وبرمجتها بسهولة مع الأنظمة الإلكترونية مثل Arduino أو Raspberry Pi.
تكلفة منخفضة: بفضل تكلفته المنخفضة، فإنه متاح ومناسب للعديد من المشاريع والاستخدامات الصغيرة والمتوسطة.
متانة معقولة: يوفر دائمًا قراءات مقبولة، ولكنه يحتاج إلى التعامل اللطيف والحفاظ على الظروف الملائمة للحفاظ على دقته مع مرور الوقت.
يتم توصيل المستشعر عادةً بمتحكم صغير مثل Arduino أو Raspberry Pi، حيث يقوم بإرسال إشارات رقمية تحتوي على قراءات درجة الحرارة والرطوبة. هذه البيانات يمكن معالجتها واستخدامها في تطبيقات متعددة مثل نظم مراقبة الطقس، وأنظمة التحكم في المناخ، وأجهزة الروبوتات، والعديد من التطبيقات الأخرى التي تتطلب رصدًا دقيقًا لدرجة الحرارة والرطوبة.
يمكن استخدام المستشعر DHT11 بواسطة لوحة الأردوينو وذلك باتباع الطرق التالية
1. توصيل الدوائر:
توصيل الطاقة: قم بتوصيل موصل الطاقة (VCC) من المستشعر بمنفذ 5 فولت على لوحة الأردوينو.
توصيل الأرضي: قم بتوصيل موصل الأرضي (GND) من المستشعر بمنفذ GND على لوحة الأردوينو.
توصيل بيانات الاستشعار: قم بتوصيل موصل البيانات من المستشعر بأي منفذ رقمي متاح على لوحة الأردوينو.
2. استخدام مكتبة الاستشعار:
قم بالبحث عن وتثبيت المكتبة الخاصة بالمستشعر (على سبيل المثال، لمستشعر DHT11، هناك مكتبة DHT).
استخدم أمثلة أو شفرات مثالية داخل المكتبة لبدء استخدام المستشعر وقراءة البيانات منه.
3. برمجة لوحة الأردوينو:
اكتب الشفرة التي تستخدم المكتبة المثبتة لقراءة البيانات من المستشعر.
قم بتحميل الشفرة إلى لوحة الأردوينو عبر بيئة التطوير (Arduino IDE).
4. قراءة البيانات:
لعرض البيانات التي تم قراؤها من المستشعر على شاشة SSD1306.
لعرض درجة الحرارة والرطوبة المقاسة بواسطة حساس DHT11 المتصل بالأردوينو على شاشة SSD1306، ستحتاج إلى المكونات التالية:
لوحة الاردوينو:
لوحة الأردوينو هي لوحة إلكترونية تستخدم في تطوير الأجهزة الإلكترونية التفاعلية والمشاريع البرمجية. توفر الأردوينو بيئة برمجية واجهة سهلة للمبتدئين والمحترفين لتطوير الأجهزة والمشاريع المختلفة.
حساس DHT11:
لقياس درجة الحرارة والرطوبة.
شاشة SSD1306:
شاشة SSD1306 هي شاشة صغيرة الحجم تعتمد على تقنية OLED، وهي شاشة عرض تستخدم لعرض النصوص والرسوميات بدقة عالية على مساحة صغيرة. تعتبر شاشات SSD1306 شائعة الاستخدام في العديد من المشاريع الإلكترونية، مثل الروبوتات الصغيرة، أجهزة الاستشعار، وأجهزة القياس.
شاشة SSD1306 تعتمد على تواصل لعرض البيانات.
وصلات الأسلاك (Jumper wires):
لتوصيل الحساس DHT11 وشاشة SSD1306 بالأردوينو.
لوحة الاختبار:
اللوحة ، المعروف أيضًا باسم اللوحة ، هو مكون إلكتروني شائع الاستخدام لأداء النماذج الأولية السريعة والتجريب. يجعل من السهل توصيل المكونات الإلكترونية دون الحاجة إلى لحام.
لنقوم بوصف مخطط الأسلاك لتوصيل لوحة Arduino مع مستشعر DHT11 وشاشة SSD1306:
1- VCC: توصيله بمنفذ 3.3V على لوحة الأردوينو.
2- GND: توصيله بمنفذ GND على لوحة الأردوينو.
3- Data: توصيله بمنفذ رقم 2 على الأردوينو.
1- VCC: توصيله بمنفذ 5V على لوحة الأردوينو.
2- GND: توصيله بمنفذ GND على لوحة الأردوينو.
3- SDA: توصيله بمنفذ A4 على لوحة الأردوينو.
4- SCL: توصيله بمنفذ A5 على لوحة الأردوينو.
أولًا، تأكد من تثبيت مكتبة DHT11 و 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 75 76 77 78 79 80 81 82 83 84 85 86 |
#include <Adafruit_SSD1306.h> #include <dht11.h> #define DHT11PIN 2 //OLED dht11 DHT11; float humi; float tempC; //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); //قراءة البيانات من جهاز استشعار DHT11 DHT11.read(DHT11PIN); humi = (int)DHT11.humidity; tempC = (int)DHT11.temperature; Serial.print("Humidity:"); Serial.print(humi,0); Serial.print("%"); Serial.print(" Temperature:"); Serial.print(tempC,1); Serial.print("C ~ "); display.clearDisplay(); oledDisplayHeader(); // إظهار درجة الحرارة على الشاشة oledDisplay(2,5,28,humi,"%"); // عرض الرطوبة على الشاشة oledDisplay(2,60,28,tempC,"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); } } |
هذا الشفرة تبدأ بتحديد رقم الدخل الذي يتم استخدامه للاتصال مع مستشعر DHT11. بعد ذلك، تبدأ العملية بالقراءة من المستشعر وعرض البيانات على شاشة SSD1306. يُعرض درجة الحرارة ثم الرطوبة.
بعد تحميل هذا الشفرة إلى لوحة الأردوينو، ستظهر قراءات درجة الحرارة والرطوبة على شاشة SSD1306.
تشير الروبوتات التعليمية إلى استخدام الروبوتات وتكنولوجيا الروبوتات لتعزيز التعلم في بيئات التعليم. إنه ينطوي على دمج التكنولوجيا والهندسة وعلوم الحاسوب في الفصل الدراسي، مما يتيح للطلاب المشاركة في تجارب تعلم عملية وعملية.
في هذا السياق ، يمثل موقعنا الإلكتروني مصدرًا ممتازًا للآباء والمعلمين والأطفال الذين يرغبون في اكتشاف الروبوتات.
زاوية قنطش ـ جمال ـ المنستير ـ تونس
+216 92 886 231
medaliprof@gmail.com
هذا موقع واب تم إنشاؤه بواسطة محمد علي أستاذ إعلامية