امنح مشروعك القادم من مشروعات Arduino قوة بفضل مستشعر المسافة بالموجات فوق الصوتية HC-SR04 الذي يمكنه الإبلاغ عن مجموعة الأشياء التي تبعد أقل من 13 قدمًا (4 أمتار). وهي معلومات جيدة حقًا إذا كنت تحاول تجنب أن يصطدم روبوتك بالحائط! فهي منخفضة الطاقة (مناسبة للأجهزة التي تعمل بالبطاريات) ، وغير مكلفة ، وسهلة التفاعل ، وتحظى بشعبية كبيرة بين الهواة. وكمكافأة تبدو رائعة ، مثل زوج من عيون "Wall-E Robot" لاختراعك الآلي الأخير!
كيف يعمل HC-SR04 ؟
يقوم هذا الحساس بإرسال موجات فوق صوتية يقدر ترددها بـ40000 هرتز والتي تنتقل عبر الهواء فإذا كان هناك جسم أو عقبة في طريقها سانعكس ويعود إلى الوحدة. وبالنظر إلى وقت السفر وسرعة الصوت يمكنك حساب المسافة.
المسافة = السرعة x الزمن
لكن ما هي الموجات فوق الصوتية؟
الموجات فوق الصوتية هي موجات صوت عالية النبرة بترددات أعلى من الحد المسموع لسمع الإنسان. يمكن أن تسمع آذاننا موجات صوتية تهتز في النطاق من حوالي 20 مرة في الثانية (ضجيج هدير عميق) إلى حوالي 20000 مرة في الثانية (صفير عالي النبرة). ومع ذلك ، فإن الموجات فوق الصوتية لديها تردد أكثر من 20،000 هرتز ، وبالتالي غير مسموع للبشر.
هنا مواصفات كاملة:
منافذ الحساس
دعونا نلقي نظرة على المنافذ.Trig يتستخدم لتحريض نبضات من الموجات فوق الصوتية.
Esho ينتج نبضًا عند تلقي الإشارة المنعكسة. يتناسب طول النبض مع الوقت الذي يستغرقه الكشف عن الإشارة المرسلة.
GND يجب أن يكون متصلا بالقطب الأرضي للاردوينو.
طريقة توصيله بالـArduino
الآن بعد أن أصبح لدينا فهم كامل لكيفية عمل جهاز استشعار المسافة بالموجات فوق الصوتية HC-SR04 ، يمكننا أن نبدأ في توصيله بالـArduino!من السهل جداً توصيل جهاز HC-SR04 مع Arduino. ابدأ بوضع المستشعر على اللوح الخاص بك. قم بتوصيل منفذ الـ VCC إلى منفذ الـ 5 فولط في Arduino وربط منفذ الـ GND إلى منفذ الأرضي على Arduino.عندما تنتهي ، يجب أن يكون لديك شيء يشبه الرسم التوضيحي الموضح أدناه.
كود اردوينو - باستخدام مكتبة NewPing
بدلاً من تشغيل جهاز استشعار الموجات فوق الصوتية وقياس عرض نبضة الإشارة المستلمة يدويًا ، سنستخدم مكتبة خاصة.هناك عدد غير قليل منها متاح ، والأكثر تنوعا هي واحدة تسمى 'NewPing'.قم بتنزيل المكتبة أولاً ، من خلال زيارة Bitbucket repo أو فقط انقر الرابط التالي لتنزيل الملف المضعوط:
تحميل NewPing_v1.9.0.zip
مكتبة NewPing متقدمة تمامًا وتحسّن إلى حد كبير من دقة رسمنا الأصلي. كما تدعم ما يصل إلى 15 جهاز استشعار بالموجات فوق الصوتية في آن واحد ، ويمكن أن يخرج مباشرة بالسنتيمتر أو البوصة أو المدة الزمنية.
فيما يلي إعادة كتابة لكود استخدام مكتبة NewPing:
الكود أعلاه بسيط ويعمل بشكل جيد ولكن لا يحتوي إلا على دقة تصل إلى سنتيمتر واحد. إذا كنت ترغب في استرجاع قيم الفاصلة العشرية ، يمكنك استخدام NewPing في وضع المدة بدلاً من وضع المسافة. تحتاج إلى استبدال هذا السطر
بهذا السطر
لتحسين دقة HC-SR04 إلى المستوى التالي ، هناك وظيفة أخرى في مكتبة NewPing تسمى 'التكرارات'. يعني التكرار تجاوز شيء أكثر من مرة ، وهذا بالضبط ما يفعله وضع التكرار. يستغرق الأمر العديد من قياسات المدة بدلاً من قياس واحد ، ويلقي أي قراءات غير صالحة ، ثم يقوم بتقييم متوسط القراءات المتبقية. بشكل افتراضي ، يستغرق الأمر 5 قراءات ، لكن يمكنك تحديد العدد الذي تريده بالفعل.
ما هي القيود؟
من حيث الدقة والفائدة الشاملة ، فإن مستشعر المسافة بالموجات فوق الصوتية HC-SR04 رائع حقًا، لا سيما مقارنة بأجهزة استشعار الكشف عن المسافات منخفضة التكلفة الأخرى. هذا لا يعني أن مستشعر HC-SR04 قادر على قياس 'كل شيء'. توضح الرسوم البيانية التالية بعض المواقف التي لم يتم تصميم HC-SR04 لقياسها:
تأثير درجة الحرارة على قياس المسافة
على الرغم من دقة HC-SR04 لمعظم مشاريعنا مثل كشف الدخيل أو الإنذارات عن قرب ؛ ولكن في بعض الأحيان قد ترغب في تصميم جهاز للاستخدام في الهواء الطلق أو في بيئة ساخنة أو باردة بشكل غير عادي. إذا كان هذا هو الحال ، فقد تحتاج إلى مراعاة حقيقة أن سرعة الصوت في الهواء تختلف مع درجة الحرارة وضغط الهواء والرطوبة.نظرًا لسرعة عوامل الصوت في حساب مسافة HC-SR04 ، فقد يؤثر ذلك على قراءاتنا. إذا كانت درجة الحرارة (درجة مئوية) والرطوبة معروفة بالفعل ، ففكر في الصيغة التالية:
سرعة الصوت م / ث = 331.4 + (0.606 * درجة الحرارة) + (0.0124 * الرطوبة)
تعليقات
إرسال تعليق