في هذا الدرس، سنتعلم كيفية استخدام مستشعر المسافة فوق الصوتي مع ESP32 لقياس المسافات وعرض النتائج على الشاشة. سنقوم أيضًا باستكشاف كيفية تفعيل جرس صوتي عند اكتشاف جسم ضمن مدى معين. يبرز هذا المشروع تعددية استخدامات متحكم ESP32، الذي يدمج قدرات الواي فاي والبلوتوث، مما يجعله مناسبًا لمجموعة متنوعة من تطبيقات إنترنت الأشياء.
مبدأ الموجات فوق الصوتية
خلال هذا الدليل، ستجد شروحات لمكونات الأجهزة، وتعليمات الأسلاك، وقطع من الشيفرة لمساعدتك في تنفيذ المشروع بنجاح. لمزيد من الوضوح، يرجى الاطلاع على الفيديو (في الفيديو عند :00).
شرح الأجهزة
تشمل المكونات الرئيسية لهذا المشروع المتحكم الدقيق ESP32، المستشعر فوق الصوتي (HC-SR04)، وجرس الإنذار. يتكون المستشعر فوق الصوتي من جزئين رئيسيين: جهاز إرسال يبعث بالموجات فوق الصوتية وجهاز استقبال يستمع للموجات المنعكسة. من خلال قياس الوقت الذي تستغرقه الموجات للعودة، يمكننا حساب المسافة إلى كائن.
يعمل ESP32 كوحدة التحكم المركزية، حيث يقوم بمعالجة البيانات من المستشعر فوق الصوتي والتحكم في الجرس بناءً على المسافة المقاسة. سيصدر الجرس صوتًا عندما تكون المسافة المكتشفة أقل من حد محدد، مما يشير إلى أن هناك شيئًا قريبًا جدًا.
تفاصيل ورقة البيانات
المصنع
HC-SR04
رقم الجزء
HC-SR04
جهد المنطق/المدخلات والمخرجات
٥ ف
فولتية الإمداد
٥ ف
تيار الإخراج (لكل قناة)
١٦ مللي أمبير
تيار الذروة (لكل قناة)
...
إرشادات تردد PWM
...
عتبات منطق الإدخال
...
انخفاض الجهد / Rدي اس (علي)/ تشبع
...
الحدود الحرارية
...
حزمة
...
ملاحظات / تغييرات
نطاق القياس: 2 سم إلى 400 سم
تأكد من توفير مصدر طاقة مناسب بقوة 5 فولت للمستشعر.
حافظ على مسار واضح لموجات فوق الصوتية لتجنب التداخل.
استخدم أسلاك قصيرة لتقليل تأخير الإشارة والضوضاء.
تأكد من توصيلات الدبابيس الصحيحة لتجنب سوء الاتصال.
اختبر المستشعر في بيئات مختلفة للتحقق من الدقة.
تعليمات الأسلاك
ESP32-27_ultrasonic_wiring
لتوصيل المستشعر فوق الصوتي بـ ESP32، قم بتوصيل دبوس VCC من المستشعر بدبوس 5V على الـ ESP32. بعد ذلك، قم بتوصيل دبوس GND من المستشعر بأحد دبابيس الأرض (GND) على الـ ESP32. يجب توصيل دبوس الزناد (Trig) من المستشعر بدبوس GPIO 26 على الـ ESP32، بينما يجب توصيل دبوس الصدى (Echo) بدبوس GPIO 25. تتيح هذه الإعدادات لـ ESP32 إرسال إشارة إلى المستشعر واستقبال إشارة الصدى لحساب المسافة.
ESP32-27_ultrasonic_schematic
بالنسبة للجرس، قم بتوصيل السلك الموجب (الطويل) إلى GPIO 12 على ESP32 والسلك السالب (القصير) إلى GND. تأكد من أن جميع التوصيلات آمنة لتفادي أي أسلاك مرتخية أثناء التشغيل. إذا كنت تستخدم لوحة تجريبية، قم بمحاذاة توصيلات الجرس بشكل صحيح لتجنب الأسلاك غير الصحيحة. تأكد من الرجوع إلى الفيديو لتأكيد الأسلاك (في الفيديو عند 05:12).
أمثلة الكود وشرح الخطوات
يقوم الكود بتهيئة الأرجل لطبق الاستشعار فوق الصوتي ويقوم بإعداد الاتصال التسلسلي. الدالة الرئيسية،readSensorData()، مسؤول عن إرسال إشارة الزناد وقياس زمن الاستجابة من دبوس الصدى.
هذا المقتطف يظهر الreadSensorData()وظيفة ترسل نبضة مدتها 10 ميكروثانية إلى دبوس الزناد. ثم تقيس الوقت المستغرق لاستقبال دبوس الصدى للإشارة مرة أخرى، وتحسب المسافة، وتعيد هذه القيمة.
أخيرًا، تقوم دالة الحلقة بقراءة المسافة باستمرار وطباعة ذلك على جهاز المراقبة التسلسلية. إذا كانت المسافة أقل من 20 سم، سيتم تفعيل الجرس.
عرض / ماذا تتوقع
عند تشغيل البرنامج، سيعرض ESP32 المسافة المقاسة بالسنتيمترات على شاشة السيريال. إذا دخل جسم ضمن 20 سم من المستشعر، سوف يُصدر الجرس صوتًا. يمكن اختبار هذا السلوك عن طريق وضع أشياء على مسافات مختلفة أمام المستشعر. كن حذرًا من القطبية المقلوبة وتأكد من أن الوصلات تمت كما هو موضح لتجنب أي مشاكل أثناء التشغيل (في الفيديو عند 08:00).
توقيتات الفيديو
00:00 بدء
:46 مقدمة في المستشعرات فوق الصوتية
6:02 شرح الأسلاك
7:37 شرح كود Arduino ل ESP32
11:33 اختيار لوحة ESP32 ومنفذ COM في Arduino IDE
١٣:١٥ عرض لقياس المسافة
16:43 اتخاذ إجراء المناورة مع المسافة: جرس الإنذار
الصور
ESP32-27_ultrasonic_wiring
ESP32-27_ultrasonic_schematic
ultrasonic_principle
ESP32-27_ultrasonic_wiring
ESP32-27_ultrasonic_schematic
ultrasonic_principle
827-ESP32 Tutorial 27/55- Arduino code for ultrasonic sensor