دليل ESP32 36/55 - لعبة تخمين الرقم | مجموعة تعلم إنترنت الأشياء ESP32 من صن فاوندر

دليل ESP32 36/55 - لعبة تخمين الرقم | مجموعة تعلم إنترنت الأشياء ESP32 من صن فاوندر

في هذا الدرس، سنقوم بإنشاء لعبة ممتعة لتخمين الأرقام باستخدام وحدة التحكم الدقيقة ESP32 مع جهاز تحكم عن بعد بالأشعة تحت الحمراء وشاشة LCD. سيقوم اللاعب بمحاولة تخمين رقم تم توليده عشوائيًا بين 0 و 99، مع تقديم اللعبة تلميحات حول ما إذا كان التخمين مرتفعًا جدًا أو منخفضًا جدًا. من خلال هذا المشروع، ستتعلم كيفية استخدام مستقبل الأشعة تحت الحمراء، وعرض القيم على شاشة LCD، وإدارة إدخال المستخدم من جهاز التحكم عن بعد. يمكنك الرجوع إلى الفيديو لمزيد من التوضيح (في الفيديو عند 00:00).

ESP32_36_guessing_numbe-1
ESP32_36_guessing_numbe-2

شرح الأجهزة

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

detects signals from the remote control and decodes them for use in the game. Each button press on the remote corresponds to a specific value that the ESP32 can interpret. The LCD display provides a visual interface for the user, showing the current guess range and whether the guess was correct.

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

الصانع صن فاوندر
رقم الجزء ESP32
جهد المنطق/المدخلات والمخرجات ٣.٣ فولت
جهد الإمداد 5 فولت (عبر USB)
تيار الإخراج (لكل قناة) ١٢ مللي أمبير (كحد أقصى)
إرشادات تردد PWM 1 كيلوهرتز
عتبات منطق الإدخال 0.3 * Vcc إلى 0.7 * Vcc
انخفاض الجهد / Rدي إس (أون)/ تشبع 0.2 فولت
الحدود الحرارية درجة حرارة التشغيل: -40 إلى 85 °م
حزمة وحدة WROOM-32
ملاحظات / متغيرات يدعم واي فاي وبلوتوث

  • تأكد من أن جميع المكونات مصنفة للعمل بجهد 3.3 فولت و 5 فولت حيثما كان ذلك مناسبًا.
  • استخدم المقاومات السحب المناسبة لوحدة الاستقبال الأشعة تحت الحمراء لتجنب المدخلات العائمة.
  • يُنصح باستخدام مبرد حراري إذا كنت تعمل عند أقصى تيار مخرج لفترات طويلة.
  • عند استخدام PWM، حافظ على تردد حوالي 1 كيلو هرتز لتحقيق أداء مثالي.
  • كن حذرًا عند توصيل الأسلاك؛ تأكد من أن الاتصالات آمنة لتفادي الأعطال المتقطعة.

تعليمات الأسلاك

ESP32_36_guessing_number_wiring

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

ESP32_36_guessing_number_schematic

التالي، قم بتوصيل شاشة LCD. قم بتوصيل طرف VCC الخاص بشاشة LCD بمصدر 5 فولت على ESP32 والطرف الأرضي بالأرض. يجب أن يتم توصيل أطراف SDA وSCL الخاصة بشاشة LCD بالأطراف21و22على التوالي. تأكد من وجود مسافتين فارغتين بين اتصالات SDA و SCL لتجنب تعارض الدبابيس. أخيرًا، تأكد من إزالة أي أغطية بلاستيكية من البطارية قبل تشغيل اللوحة.

أمثلة كود ودليل خطوة بخطوة

توضح مقتطفات الشيفرة التالية الأجزاء الأساسية من البرنامج المستخدم في لعبة تخمين الرقم. نبدأ بتضمين المكتبات الضرورية وتحديد المعرفات الرئيسية.

#include 
#include 
#include 
#include 

const uint16_t IR_RECEIVE_PIN = 14;
IRrecv irrecv(IR_RECEIVE_PIN);
decode_results results;

في هذا المقتطف، ندرج المكتبات للتعامل مع وظيفة شاشة LCD وجهاز استقبال الأشعة تحت الحمراء. يتم تعريف الدبوس لجهاز استقبال الأشعة تحت الحمراء كـ14، ونقوم بإنشاء نسخ من الكائنات اللازمة لإدارة المدخلات والمخرجات.

void setup() {
  lcd.init();
  lcd.backlight();
  Serial.begin(9600);
  irrecv.enableIRIn();
  initNewValue();
}

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

bool detectPoint() {
  if (count > pointValue) {
    if (count < upper) upper = count;
  } else if (count < pointValue) {
    if (count > lower) lower = count;
  } else if (count == pointValue) {
    count = 0;
    return 1;
  }
  count = 0;
  return 0;
}

تتحقق هذه الوظيفة من تخمين اللاعب مقابل الرقم الذي تم إنشاؤه عشوائيًا، مع تعديل الحدود العليا والسفلى وفقًا لذلك. إذا كان التخمين صحيحًا، فإنها تعيد تعيين العد وتعيد القيمة true.

الكود الكامل محمّل أدناه المقالة لاستعانتك.

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

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

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

طوابع زمنية للفيديو

  • :00 بداية
  • :17 مقدمة لمشروع اللعبة
  • ٤:٣٧ التوصيلات
  • كود أردوينو 6:15 موضح
  • 12:32 اختيار لوحة ESP32 و منفذ COM في Arduino IDE
  • :16 16:16 لعب لعبة تخمين الرقم

الصور

ESP32_36_guessing_number_schematic
ESP32_36_guessing_number_schematic
ESP32_36_guessing_number_wiring
ESP32_36_guessing_number_wiring
ESP32_36_guessing_numbe-1
ESP32_36_guessing_numbe-1
ESP32_36_guessing_numbe-2
ESP32_36_guessing_numbe-2
837-ESP32 Tutorial 36/55- Arduino code for guessing number
اللغة: C++
تم النسخ!

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

ملفات📁

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