HC-SR04: كل شيء عن المستشعر فوق الصوتي

مستشعر HC-SR04

في بعض الأحيان يكون ذلك ضروريا قياس المسافات ومن أجل ذلك لديك عدة أجهزة استشعار تحت تصرفك. لقد خصصنا بالفعل مقالًا للحديث عن أ مستشعر مسافة عالية الدقة مثل VL52L0X. كان هذا المستشعر من نوع ToF واستند إلى قياسات دقيقة للغاية بفضل الليزر. ولكن إذا لم تكن الدقة مهمة بالنسبة لك وتريد شيئًا يسمح لك بقياس المسافات بسعر منخفض ، فهناك احتمال آخر لديك HC-SR04 في متناول يدك.

في حالة مستشعر المسافة HC-SR04 ، يتم قياس المسافة بالموجات فوق الصوتية. النظام مشابه للطريقة البصرية لـ VL52L0X. أي أنه ينبعث ، هناك ارتداد ويتم استقباله ، ولكن في هذه الحالة بدلاً من أن يكون ليزرًا أو الأشعة تحت الحمراء ، فهو الموجات فوق الصوتية. إذا كنت شغوفًا بالإلكترونيات أو الروبوتات أو صانع الهواة ، فيمكنك استخدامه للعديد من مشاريع DIY مثل أنظمة اكتشاف العوائق للروبوتات ، وأجهزة استشعار التواجد ، وما إلى ذلك.

ما هو HC-SR04؟

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

مظهر HC-SR04 مميز جدًا ويمكن التعرف عليه بسهولة. بالإضافة إلى ذلك ، فهو عنصر شائع جدًا في مجموعات Arduino Starter وهو ضروري للعديد من المشاريع. يمكن التعرف عليه بسهولة لأنه يحتوي على "عينان" هما في الواقع أجهزة الموجات فوق الصوتية التي تدمجها هذه الوحدة. واحد منهم هو باعث الموجات فوق الصوتية والآخر جهاز استقبال. يعمل بتردد 40 كيلو هرتز ، لذلك فهو غير مسموع للإنسان.

مبادئ جهاز الاستشعار بالموجات فوق الصوتية

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

ESP8266
المادة ذات الصلة:
ESP8266: وحدة WIFI الخاصة بـ Arduino

في HC-SR04 ، سيصدر الباعث الموجات فوق الصوتية وعندما يرتد عن كائن أو عقبة بالطريقة التي سيتم التقاطها بها بواسطة جهاز الاستقبال. ال الدائرة سوف تفعل الحسابات اللازمة من هذا الصدى لتحديد المسافة. قد يكون هذا مألوفًا لك أيضًا إذا كنت تعرف النظام الذي تستخدمه بعض الحيوانات مثل الدلافين أو الحيتان أو الخفافيش لتحديد موقع العوائق والفرائس وما إلى ذلك.

من خلال حساب الوقت منذ إرسال النبض حتى تلقي الاستجابة ، يمكن تحديد الوقت وبالتالي المسافة بدقة. تذكر ذلك [الفضاء = وقت السرعة] ولكن في حالة HC-SR04 ، يجب تقسيم هذه الكمية على / 2 ، حيث تم قياس الوقت من وقت خروج الموجات فوق الصوتية وتنتقل عبر الفضاء حتى تصطدم بالعائق وطريق العودة ، لذلك سيكون تقريبًا نصف هذا ...

Pinout وأوراق البيانات

أنت تعلم بالفعل أنه لرؤية البيانات الكاملة للنموذج الذي حصلت عليه ، فإن أفضل شيء هو ابحث عن ورقة البيانات الخرسانة المصنعة. على سبيل المثال ، هنا ملف ورقة بيانات Sparkfun، ولكن هناك الكثير المتاح في PDF. ومع ذلك ، فيما يلي أهم البيانات الفنية لـ HC-SR04:

  • Pinout: 4 دبابيس للطاقة (Vcc) ، الزناد (Trigger) ، المستقبل (Echo) والأرضي (GND). يشير المشغل إلى متى يجب تنشيط المستشعر (عند تشغيل الموجات فوق الصوتية) ، وبالتالي سيكون من الممكن معرفة الوقت المنقضي عندما يستقبل جهاز الاستقبال الإشارة.
  • تغذية: 5 فولت
  • تردد الموجات فوق الصوتية: 40 كيلو هرتز ، يمكن للأذن البشرية أن تسمع فقط من 20 هرتز إلى 20 كيلو هرتز. كل شيء أقل من 20 هرتز (دون صوتي) وما فوق 20 كيلو هرتز (الموجات فوق الصوتية) لن يكون محسوسًا.
  • الاستهلاك (الاستعداد): <2 مللي أمبير
  • استهلاك العمل: 15 مللي أمبير
  • زاوية فعالة: <15º ، اعتمادًا على زوايا الكائنات قد يكون لديك نتائج أفضل أو أسوأ.
  • المسافة المقاسة: من 2 سم إلى 400 سم ، على الرغم من أن الدقة من 250 سم لن تكون جيدة جدًا.
  • دقة متوسطة: اختلاف 0.3 سم بين المسافة الفعلية والقياس ، لذلك على الرغم من عدم اعتبارها عالية الدقة مثل الليزر ، فإن القياسات مقبولة تمامًا لمعظم التطبيقات.
  • السعر: من حوالي 0,65 يورو

التكامل مع اردوينو

HC-SR04 مع Arduino

إلى توصيله بـ Arduino لا يمكن أن يكون أسهل. عليك فقط أن تكون مسؤولاً عن توصيل GND بالإخراج المقابل لـ Arduino الخاص بك الذي تم وضع علامة عليه على هذا النحو ، Vcc مع مصدر طاقة Arduino 5v والمسامير الأخرى لـ HC-SR04 مع المدخلات / المخرجات المختارة لمشروعك. يمكنك أن ترى أنه بسيط في مخطط فريتزينج العلوي ...

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

كما أن كود Arduino IDE، ليس عليك استخدام أي مكتبة أو أي شيء من هذا القبيل مثل المكونات الأخرى. فقط قم بعمل الصيغة لحساب المسافة والقليل الآخر ... بالطبع ، إذا كنت تريد أن يقوم مشروعك بشيء استجابة لقياس مستشعر HC-SR04 ، فسيتعين عليك إضافة الكود الذي تحتاجه. على سبيل المثال ، بدلاً من مجرد عرض القياسات على وحدة التحكم ، يمكنك جعل المحركات المؤازرة تتحرك في اتجاه واحد أو آخر لمسافات معينة لتجنب العائق ، أو لإيقاف المحرك ، يتم تنشيط الإنذار عندما يكتشف القرب ، إلخ. .

 مزيد من المعلومات حول البرمجة: دليل Arduino (ملف PDF مجاني)

على سبيل المثال ، يمكنك رؤية هذا الكود الأساسي لاستخدامه كأساس:

//Define las constantes para los pines donde hayas conectado el pin Echo y Trigger
const int EchoPin = 8;
const int TriggerPin = 9;
 
void setup() {
   Serial.begin(9600);
   pinMode(TriggerPin, OUTPUT);
   pinMode(EchoPin, INPUT);
}

//Aquí la muestra de las mediciones
void loop() {
   int cm = ping(TriggerPin, EchoPin);
   Serial.print("Distancia medida: ");
   Serial.println(cm);
   delay(1000);
}

//Cálculo para la distancia
int ping(int TriggerPin, int EchoPin) {
   long duration, distanceCm;
   
   digitalWrite(TriggerPin, LOW);  //para generar un pulso limpio ponemos a LOW 4us
   delayMicroseconds(4);
   digitalWrite(TriggerPin, HIGH);  //generamos Trigger (disparo) de 10us
   delayMicroseconds(10);
   digitalWrite(TriggerPin, LOW);
   
   duration = pulseIn(EchoPin, HIGH);  //medimos el tiempo entre pulsos, en microsegundos
   
   distanceCm = duration * 10 / 292/ 2;   //convertimos a distancia, en cm
   return distanceCm;
}


تعليق ، اترك لك

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   جوزيه قال

    لقد وجدت الشرح مفيدًا وبسيطًا جدًا.