دورة ESP32 25/55 - قياس درجة الحرارة باستخدام NTC وشاشة LCD | مجموعة تعلم إنترنت الأشياء من SunFounder ESP32

دورة ESP32 25/55 - قياس درجة الحرارة باستخدام NTC وشاشة LCD | مجموعة تعلم إنترنت الأشياء من SunFounder ESP32

في هذا الدرس، سنتعلم كيفية قياس درجة الحرارة باستخدام ترميستور معامل الحرارة السلبية (NTC) وعرض القراءات على شاشة LCD باستخدام المتحكم الدقيق ESP32. سيتضمن المشروع توصيل ترميستور NTC إلى ESP32 واستخدام LCD لعرض قراءات درجة الحرارة بالدرجتين المئوية والفهرنهايت. هذه طريقة رائعة للبدء في تقنيات استشعار و عرض درجة الحرارة باستخدام منصة ESP32.

ESP32-25-NTC_مقياس الحرارةLCD

سنستخدم لوحة التمديد ESP32 من SunFounder، والتي تعزز قدرات ESP32 مع Wi-Fi وبلوتوث مدمجين. يمكن دمج هذه اللوحة بسهولة مع مستشعرات وشاشات متنوعة، مما يجعلها مثالية لمشاريع إنترنت الأشياء. ستقدم المقاومة الحرارية NTC قراءات درجة الحرارة بناءً على مقاومتها، والتي تتغير عكسيًا مع درجة الحرارة. لمزيد من التوضيح حول الإعداد والكود، تأكد من مراجعة الفيديو (في الفيديو عند 00:00).

شرح الأجهزة

المكونات الرئيسية المستخدمة في هذا المشروع تشمل متحكم ESP32، ومستشعر حرارة NTC، ومقاومة، وشاشة LCD. يعمل ESP32 كلوحدة المعالجة المركزية، حيث يتعامل مع البيانات الواردة من المستشعر ويسيطر على شاشة LCD. يتغير مقاوم مستشعر حرارة NTC وفقًا لدرجة الحرارة، مما يتيح لنا حساب درجة الحرارة بناءً على تكوين قسمة الجهد مع مقاومة ثابتة.

NTC_ثرمستور

سيظهر عرض LCD قراءات درجة الحرارة بكل من السلسيوس والفهرنهايت. سنستخدم بروتوكول I2C للتواصل مع LCD، مما يبسط الأسلاك عن طريق تقليل عدد الدبابيس المطلوبة. يمتلك الثرمستور NTC خاصية حيث ينخفض مقاومته مع زيادة درجة الحرارة، وهو أمر حاسم لعملياتنا الحسابية.

تفاصيل ورقة البيانات

الشركة المصنعة سنفاندر
رقم الجزء ترمistor NTC
المقاومة الاسمية 10 كΩ
قيمة بيتا ٣٩٥٠ ك
نطاق درجات الحرارة -40 درجة مئوية إلى 125 درجة مئوية
حزمة محوري

  • تأكد من أن الثرمستور مُصنّف لمدى درجات الحرارة المتوقع.
  • استخدم مقاومة 10 كΩ لمقسم الجهد؛ وإلا ستكون القراءات غير دقيقة.
  • تحقق من الاتصالات لتجنب الدوائر القصيرة.
  • احتفظ بعنوان I2C الخاص بشاشة LCD صحيحًا (عادةً 0x27).
  • استخدم مستويات إمداد الطاقة المناسبة لوحدة ESP32 والأجهزة الطرفية.
  • تحقق من أن سرعة البود لمراقب التسلسل تتطابق مع إعدادات الكود (115200).
NTC_formula

تعليمات التوصيل

ESP32-11_LCD-wiring
ESP32-25-NTC_thermometer_wiring

لتوصيل المكونات، ابدأ بتوصيل ترمستور NTC بـ ESP32. ليس للترمستور قطبية، لذا يمكن توصيله بأي اتجاه. قم بتوصيل طرف واحد من الترمستور إلى دبابيس الأرض (GND) على ESP32. الطرف الآخر يتصل بمقاومة بقيمة 10 كيلو أوم، والتي تتصل بعد ذلك بدبوس 3.3 فولت على ESP32. ستتصل النقطة المشتركة بين الترمستور والمقاومة بالضغط35على ESP32، الذي سيقوم بقراءة الفولتية لإجراء حسابات درجة الحرارة.

لـ LCD، قم بتوصيل دبوس الأرض (عادةً هو الدبوس الثاني من الأعلى) إلى GND على ESP32. ثم، قم بتوصيل VCC (غالبًا هو الدبوس الأول) إلى دبوس 5V على ESP32. يجب أن يتصل دبوس SDA (عادةً هو الدبوس الثالث) بالدبوس21على الESP32، يجب توصيل دبوس SCL (عادةً ما يكون الدبوس الرابع) بالدبوس22تأكد من أن جميع اتصالات آمنة وتحقق مرة أخرى من أرقام الدبابيس لتجنب أي أخطاء.

أمثلة شيفرة وشرح مفصل

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

const int thermistorPin = 35; // Pin connected to the thermistor
const float referenceVoltage = 3.3;
const float referenceResistor = 10000; // the 'other' resistor

تقرأ الحلقة الرئيسية القيمة التناظرية من دبوس الثرمستور، وتحسب المقاومة، ثم تحسب درجة الحرارة بالدرجات المئوية والفهرنهايت باستخدام معادلة معامل بيتا. يتم طباعة القيم المحسوبة إلى شاشة السيريال.

int adcValue = analogRead(thermistorPin); // Read ADC value
float voltage = (adcValue * referenceVoltage) / 4095.0; // Calculate voltage
float resistance = (voltage * referenceResistor) / (referenceVoltage - voltage); // Calculate thermistor resistance

أخيرًا، يتم عرض درجة الحرارة على شاشة LCD.lcd.print()تُستخدم الدالة لعرض قيم درجة الحرارة، مع رمز الدرجة.

lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(tempC, 1);
lcd.write(223); // Degree symbol
lcd.print("C");

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

عرض / ما يمكن توقعه

عند تشغيل الشيفرة واستكمال الأسلاك، يجب أن ترى قراءات درجات الحرارة المعروضة على شاشة LCD بكل من السلسيوس والفهرنهايت. إذا قمت بإمساك الثرمستات بيدك، يجب أن تلاحظ ارتفاع درجة الحرارة مع انخفاض المقاومة. كن حذرًا من عكس القطبية وتأكد من أن التوصيلات آمنة، حيث أن الأسلاك غير الصحيحة يمكن أن تؤدي إلى قراءات غير دقيقة (في الفيديو عند 04:50).

توقيتات الفيديو

  • 00:00 البداية
  • مقدمة للمشروع 1:50
  • 5:32 شرح التوصيلات
  • 8:20 شرح كود NTC لآردوينو ESP32
  • :38 تحديد لوحة ESP32 ومنفذ COM في Arduino IDE
  • 15:20 عرض قياس درجة الحرارة NTC
  • درجة الحرارة عند 17:34 على LCD1602 مع ESP32
  • 18:42 كود NTC لأردوينو مع شرح شاشة LCD
  • 21:15 عرض درجة الحرارة على شاشة LCD
  • 23:13 شاشة LCD خضراء أو شاشة LCD زرقاء 1601؟

الصور

ESP32-11_LCD-wiring
ESP32-11_LCD-wiring
ESP32-11_LCD-wiring-schematic
ESP32-11_LCD-wiring-schematic
NTC_thermistor
NTC_thermistor
ESP32-25-NTC_thermometer_schematic
ESP32-25-NTC_thermometer_schematic
ESP32-25-NTC_thermometer_wiring
ESP32-25-NTC_thermometer_wiring
NTC_formula
NTC_formula
ESP32-25-NTC_thermometeLCD
ESP32-25-NTC_thermometeLCD
824-ESP32 Tutorial 25/55- SunFounder doc page NTC Thermometer
اللغة: C++
825-ESP32 Tutorial 25/55- Arduino code for LCD with NTC thermistor
اللغة: C++
تم النسخ!

الموارد والمراجع

ملفات📁

لا توجد ملفات متاحة.