درس ESP32 9/55 - استخدام زر الضغط لتبديل LED، اضغط لتشغيل، اضغط لإيقاف التشغيل - مجموعة ESP32 IoT من SunFounder

درس ESP32 9/55 - استخدام زر الضغط لتبديل LED، اضغط لتشغيل، اضغط لإيقاف التشغيل - مجموعة ESP32 IoT من SunFounder

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

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

شرح الأجهزة

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

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

زر الضغط مع المقاومة

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

لربط الدائرة، ابدأ بتوصيل الطرف الأطول من دودة LED (الأنود) بمقاومة قيمتها 220 أوم. اربط الطرف الآخر من المقاومة برمز GPIO 26 على ESP32. يجب توصيل الطرف الأقصر من دودة LED (الكاثود بالأرض). بعد ذلك، خذ زر الضغط واربط جانبًا واحدًا بمصدر الطاقة 3.3 فولت على اللوحة. الجانب الآخر من زر الضغط يتصل برمز GPIO 14.

زر ضغط بدون مقاومة
زر الضغط بدون مقاومة
زر الضغط مع المقاومة
زر الضغط مع المقاومة

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

أمثلة الكود وإرشادات التنفيذ

يبدأ جوهر البرنامج بتعريف أرقام الدبابيس للزر وLED باستخدام الثوابت. هذا يضمن أن تظل تعيينات الدبابيس غير متغيرة طوال تنفيذ البرنامج.

// set pin numbers
const int buttonPin = 14;  // Button pin
const int ledPin = 26;     // LED pin

في الـsetup()في هذه الوظيفة، نقوم بتهيئة المراقب التسلسلي ونحدد دالة الزر كمدخل بينما نقوم بتكوين دالة LED كمخرج. هذا يُعد ESP32 لقراءة الزر والتحكم في LED.

void setup() {
  Serial.begin(115200);
  pinMode(buttonPin, INPUT);
  pinMode(ledPin, OUTPUT);
}

داخل الـloop()تقوم الوظيفة بقراءة حالة الزر باستمرار وتطبعها على شاشة التسلسل. إذا تم ضغط الزر، يتم تشغيل LED؛ وإلا، يتم إيقافه. تعتبر هذه المنطق ضرورية لتغيير حالة LED بناءً على حالة الزر.

void loop() {
  buttonState = digitalRead(buttonPin);
  Serial.println(buttonState);
  delay(100);
  if (buttonState == HIGH) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
}

تتيح هذه الوظيفة الأساسية لليد استجابة مباشرة لزر الدفع. لمزيد من التفاصيل حول المشروع والكود الكامل، يرجى الرجوع إلى الفيديو المقدم (في الفيديو عند 14:00).

عرض / ماذا تتوقع

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

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

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

  • 00:00 ابدأ
  • مقدمة المشروع 1:48
  • 3:10 تم شرح زر التبديل والدفع
  • تفسير الأسلاك :19
  • 12:25 كود أردوينو للزر الضاغط مشروح
  • 15:56 اختيار لوحة ESP32 ومنفذ COM
  • ١٧:٣٨ عرض المشروع
  • :33 مشروع-2 تبديل وضوء LED
  • 19:09 كود أردوينو لتشغيل LED
  • :16 عرض لتبديل LED

الصور

Push button with resistor
Push button with resistor
Push button with resistor
Push button with resistor
Push button without resistor
Push button without resistor
Push button without resistor
Push button without resistor
Push button with resistor
Push button with resistor
808-ESP32 Tutorial 9/55 - Arduino code push button
اللغة: C++
تم النسخ!

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

لا توجد موارد حتى الآن.

ملفات📁

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