كود أردوينو وفيديو لمستشعر المسافة بالموجات فوق الصوتية HC-SR04
في هذا الدرس، سنستعرض كيفية استخدام مستشعر المسافة بالموجات فوق الصوتية HC-SR04 مع لوحة Arduino. يُعد HC-SR04 طريقة اقتصادية وفعّالة لقياس المسافات باستخدام الموجات فوق الصوتية. من خلال إرسال إشارة وقياس الوقت الذي يستغرقه ارتداد الصدى للعودة، يمكننا حساب المسافة إلى جسم بدقة.

يتضمن هذا المشروع إعداد المستشعر مع لوحة أردوينو وكتابة برنامج بسيط لقراءة وعرض قياسات المسافة. سيستخدم البرنامج مكتبة NewPing لتبسيط التواصل مع المستشعر. إذا كنت تريد مرجعًا مرئيًا أو توضيحًا إضافيًا لأي خطوة، فتأكد من مراجعة الفيديو (في الفيديو عند 00:00).
شرح الأجهزة
يتكون مستشعر HC-SR04 فوق الصوتي من مكونين رئيسيين: مرسل ومستقبل. يُصدر المرسل نبضات فوق صوتية بتردد أعلى من نطاق سمع الإنسان، بينما يستمع المستقبل لصدى تلك النبضات بعد ارتدادها عن جسم. من خلال حساب الزمن بين إرسال النبضة وتلقي الصدى، يمكننا تحديد المسافة إلى الجسم.
يحتوي المستشعر على دبسان أساسيان: دبوس الزناد ودبوس الصدى. يستخدم دبوس الزناد لبدء القياس عن طريق إرسال نبضة عالية قصيرة، بينما يستقبل دبوس الصدى الإشارة المنعكسة ويقيس الوقت الذي تستغرقه عودة الصدى.
تفاصيل ورقة البيانات
| المصنّع | HC-SR04 |
|---|---|
| رقم القطعة | HC-SR04 |
| جهد المنطق/الإدخال والإخراج | 5 فولت |
| جهد التغذية | 5 فولت |
| تيار الخرج (لكل قناة) | 15 ملي أمبير |
| التيار الذروي (لكل قناة) | 20 mA |
| إرشادات تردد PWM | غير متوفر |
| عتبات منطق الإدخال | 0.3 V (منخفض)، 0.7 V (مرتفع) |
| هبوط الجهد / Rالمصب-المصدر (عند التشغيل) / التشبع | غير متاح |
| الحدود الحرارية | 0°C إلى 70°C |
| حزمة | وحدة |
| ملاحظات / متغيرات | المدى الأقصى 400 cm |
- تأكد من وجود مصدر طاقة مناسب (5 فولت).
- حافظ على نظافة المستشعر للحصول على قراءات دقيقة.
- استخدم دبوس الزناد لبدء القياسات.
- لا تتجاوز الحد الأقصى للمسافة للحصول على نتائج موثوقة.
- حافظ على مسار واضح لتنعكس الموجات فوق الصوتية.
- استخدم مكثفات فكّ الارتباط بالقرب من دبابيس مزود الطاقة.
- انتبه إلى الضوضاء المحيطة التي قد تتداخل مع القراءات.
- اختبر مسافات مختلفة لتتعرف على المستشعر.
تعليمات الأسلاك


لتوصيل مستشعر الموجات فوق الصوتية HC-SR04 بالأردوينو الخاص بك، اتبع الخطوات التالية:
- قم بتوصيل الـ
VCCوصل دبوس الـ HC-SR04 إلى دبوس 5V على الأردوينو. - قم بتوصيل الـ
GNDدبوس الـ HC-SR04 إلى دبوس أرضي على لوحة الأردوينو. - قم بتوصيل الـ
TRIGدبوس الـ HC-SR04 (الذي يكون عادة أزرق) إلى الدبوس الرقمي 12 على الأردوينو. - قم بتوصيل الـ
ECHOوصل دبوس جهاز HC-SR04 (الذي يكون عادةً أخضر) إلى الدبوس الرقمي 11 على الأردوينو.
تأكد من أن التوصيلات مثبتة جيدًا لتجنّب أي قراءات متقطعة. إذا كنت تستخدم إعدادًا مختلفًا أو لديك أسلاك بديلة، ارجع إلى الفيديو لمزيد من الإرشادات (في الفيديو عند 00:00).
أمثلة على الكود وشرح خطوة بخطوة
يُهيِّئ الكود التالي مكتبة NewPing ويضبط الدبابيس لمستشعر HC-SR04. تشمل المكونات الرئيسية تعريف دبوس الزناد ودبوس الصدى، بالإضافة إلى أقصى مسافة.
#define TRIGGER_PIN 12 // Trigger pin
#define ECHO_PIN 11 // Echo pin
#define MAX_DISTANCE 200 // Max distance in cm
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Set up NewPingفي هذا المقتطف، الـTRIGGER_PINوECHO_PINتم ضبطها على الدبابيس الرقمية 12 و11 على التوالي. الـMAX_DISTANCEتم تعريفها بأنها 200 cm، وهي أقصى مسافة تهتم بقياسها.
بعد ذلك، لدينا دالة الإعداد حيث يتم تهيئة المراقب التسلسلي لعرض النتائج:
void setup() {
Serial.begin(115200); // Initialize serial monitor
}تفتح هذه الشيفرة الاتصال التسلسلي بمعدل باود 115200، مما يتيح لنا رؤية قياسات المسافة في المراقب التسلسلي.
أخيرًا، تقوم دالة الحلقة بقياس المسافة وتتحقق مما إذا كانت أقل من أو تساوي 12 سم:
void loop() {
delay(50); // Wait between pings
int distance = sonar.ping_cm(); // Measure distance
if(distance <=12){ // Check distance
Serial.println("Very close"); // Print if very close
}
}في الـloop()نُدخل تأخيرًا مقداره 50 مللي ثانية للتحكم في وتيرة القياسات. تُقاس المسافة، وإذا كانت أقل من أو تساوي 12 سم، فإنه يطبع "قريب جدًا" على المراقب التسلسلي.
للحصول على الكود الكامل، يُرجى الرجوع إلى قسم التحميل أسفل المقال.
عرض توضيحي / ما الذي تتوقعه
عند تشغيل البرنامج، سيقيس الأردوينو باستمرار المسافة إلى أقرب جسم. ينبغي أن يطبع المسافة بالسنتيمترات ويُنبّهك بعبارة Very close عندما يتم اكتشاف جسم ضمن 12 cm. إذا كان الجسم قريبًا جدًا، فقد تحصل على قراءات غير دقيقة أو لا تحصل على قراءات على الإطلاق، كما ذُكر في الفيديو (عند 10:00).
تأكد من وضع المستشعر بشكل صحيح وأنه لا توجد عوائق تحجب الموجات فوق الصوتية. إذا تم إعداد كل شيء بشكل سليم، فسترى قياسات متسقة معروضة في نافذة المراقبة التسلسلية.
الطوابع الزمنية للفيديو
- 00:00- مقدمة عن HC-SR04
- 01:30توصيل المستشعر
- 03:00- نظرة عامة على الكود
- 05:00- تشغيل البرنامج
- 07:30- قياس المسافات
الأشياء التي قد تحتاجها
-
إي باي
-
بانجودPurchase HC-SR04 Ultrasonic Sensor from Banggoodbanggood.com
الموارد والمراجع
-
خارجيمكتبة HC-SR04 فوق الصوتية من الموقع الرسمي لأردوينوplayground.arduino.cc
ملفات📁
لا توجد ملفات متاحة.