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

 

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

 

سرعة الصوت:

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

 

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

speed = \frac{distance}{time}

 

بإعادة ترتيب هذه الصيغة ، نحصل على الصيغة المستخدمة لحساب المسافة:

distance = speed \ \times \ time

 

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

 

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

c = 331.4 + (0.606 \times T) + (0.0124 \times H) \\ \\ c: \ Speed \ of \ sound \ in \ meters \ per \ second \ (m/s) \\ 331.4: \ Speed \ of \ sound \ (in \ m/s) \ at \ 0 \ ^{\circ}C \ and \ 0 \% \ humidity \\ T: \ Temperature \ in \ ^{\circ}C \\ H: \ \% \ Humidity \ (relative \ humidity)

 

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

 

كيف يقيس مكتشف المدى المسافة بالموجات فوق الصوتية:

في مقدمة مكتشف المدى بالموجات فوق الصوتية هناك اسطوانتان معدنيتان. هذه هي محولات الطاقة. محولات الطاقة تحول القوى الميكانيكية إلى إشارات كهربائية. في الباحث عن نطاق الموجات فوق الصوتية ، يوجد محول إرسال ومحول استقبال. يحول محول الإرسال إشارة كهربائية إلى النبض بالموجات فوق الصوتية ، ويقوم محول الاستقبال بتحويل النبض بالموجات فوق الصوتية المنعكس إلى إشارة كهربائية. إذا نظرت إلى الجزء الخلفي من مكتشف النطاق ، فسترى IC خلف محول الطاقة المسمى MAX3232. يعمل IC على التحكم في محول الإرسال. خلفه محول الاستقبال IC المسمى LM324. هذه عبارة عن وحدة Op-Amp رباعية تضخّم الإشارة الناتجة عن محول الطاقة إلى إشارة قوية بما يكفي للإرسال إلى الأردوينو.

 

 

يحتوي مكتشف النطاق بالموجات فوق الصوتية HC-SR04 على أربعة دبابيس: Vcc و Trig و Echo و GND. يوفر دبوس Vcc القدرة على توليد نبضات الموجات فوق الصوتية. دبوس GND متصل بالأرض. دبوس Trig هو المكان الذي يرسل فيه Arduino الإشارة لبدء النبض بالموجات فوق الصوتية. دبوس Echo هو المكان الذي يرسل فيه الباحث عن نطاق الموجات فوق الصوتية المعلومات حول مدة الرحلة التي يقوم بها النبض بالموجات فوق الصوتية إلى الأردوينو.

 

لبدء قياس المسافة ، نحن بحاجة إلى إرسال إشارة عالية 5V إلى دبوس علم حساب المثلثات لمدة 10 مايكرو ثانية على الأقل. عندما تستقبل الوحدة هذه الإشارة ، ستصدر 8 نبضات من الصوت فوق الصوتي بتردد 40 كيلو هرتز من محول الطاقة المرسل. ثم ينتظر ويستمع إلى محول الاستقبال للإشارة المنعكسة. إذا كان جسم ما ضمن النطاق ، فسوف تنعكس نبضات 8 على المستشعر. عندما يضرب النبض محول الطاقة ، يخرج دبوس الصدى إشارة عالية الجهد.

 

يساوي طول هذه الإشارة ذات الجهد العالي إجمالي الوقت الذي تستغرقه 8 نبضات في الانتقال من محول الطاقة والعودة إلى محول الاستقبال. ومع ذلك ، نريد فقط قياس المسافة إلى الكائن ، وليس مسافة المسار الذي سلكته نبضة الصوت. لذلك ، نقسم ذلك الوقت إلى النصف للحصول على متغير الوقت في معادلة d = s x t أعلاه. نظرًا لأننا نعرف بالفعل سرعة الصوت (الأصوات) ، يمكننا حل المعادلة للمسافة.

 

إعداد الباحث عن نطاق الموجات فوق الصوتية لإخراج الشاشة التسلسلي (serial output):

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

 

 

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

 

شرح التعليمات البرمجية:

  • السطر 11: تعلن مدة المتغير والمسافة.
  • السطور 12 و 13: يرسل إشارة منخفضة 2 2s إلى trigPin للتأكد من إيقاف تشغيله في بداية حلقة البرنامج.
  • الأسطر 15-17: يرسل إشارة عالية 10 µs إلى trigPin لبدء تسلسل ثمانية نبضات بالموجات فوق الصوتية 40 KHz مرسلة من محول الإرسال.
  • السطر 19: يعرّف متغير المدة بأنه الطول (في )s) لأي إشارة دخل عالية يتم اكتشافها في echoPin. خرج دبوس الصدى يساوي الوقت الذي يستغرقه النبض بالموجات فوق الصوتية المنبعثة للسفر إلى الكائن والعودة إلى المستشعر.
  • السطر 20: يحدد متغير المسافة على أنه المدة (الوقت بالتردد d = s x t) مضروبة في سرعة الصوت المحولة من متر في الثانية إلى سنتيمتر لكل (s (0.0344 سم / µs).
  • الأسطر 22-24: إذا كانت المسافة أكبر من أو تساوي 400 سم ، أو أقل من أو تساوي 2 سم ، فقم بعرض “المسافة = خارج النطاق” على الشاشة التسلسلية.
  • الأسطر 26-30: إذا لم يكن قياس المسافة خارج النطاق ، فقم بعرض المسافة المحسوبة في السطر 20 على الشاشة التسلسلية لمدة 500 مللي ثانية.

 

مجموعة مكتشف بالموجات فوق الصوتية مع LCD:

إذا كنت ترغب في إخراج قياسات المسافة لشاشة LCD 16X2 ، اتبع هذا المخطط لتوصيل مكتشف النطاق وشاشات الكريستال السائل إلى الأردوينو:

 

 

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

 

مكتشف المدى بدقة عالية بالموجات فوق الصوتية:

نظرًا لأن درجة الحرارة متغيرة في سرعة معادلة الصوت أعلاه (c = 331.4 + (0.606 × T) + (0.0124 × H)) ، تؤثر درجة حرارة الهواء حول المستشعر على قياسات المسافة لدينا. للتعويض عن هذا ، كل ما نحتاج إلى القيام به هو إضافة الثرمستور إلى دائرتنا وإدخال قراءاتها في المعادلة. هذا يجب أن يعطي قياسات المسافة لدينا دقة أكبر. الثرمستور هو مقاوم متغير يغير المقاومة مع درجة الحرارة. فيما يلي مخطط لمساعدتك على إضافة الثرمستور إلى دائرة الباحث عن النطاق:

 

 

المقاوم R1 = 10K

الثرموستور Th = 10K

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

 

شرح التعليمات البرمجية:

في برنامج العثور على النطاق الأساسي في بداية هذه المقالة ، استخدمنا الصيغة d = s x t لحساب المسافة. في هذا البرنامج ، نستخدم الصيغة التي تمثل درجة الحرارة والرطوبة (ج = 331.4 + (0.606 × T) + (0.0124 × H)).
في الأسطر 5-10 ، يتم استخدام معادلة Steinhart-Hart لتحويل قيم مقاومة الثرمستور إلى درجة حرارة ، والتي يتم تخزينها في متغير يسمى temp. في السطر 35 ، نضيف متغيرًا جديدًا (spdSnd) يحتوي على سرعة معادلة الصوت. يتم استخدام الإخراج من متغير spdSnd كالسرعة في وظيفة المسافة على الخط 36.

 

مكتشف المدى بدقة عالية جدا بالموجات فوق الصوتية:

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

 


 

بعد اتصال كل شيء ، سنحتاج إلى تثبيت مكتبة خاصة لتشغيل الشفرة. المكتبة هي مكتبة DHTLib . المكتبة سهلة التركيب. أولاً ، قم بتنزيل الملف من هنا. ثم في برنامج Arduino IDE ، انتقل إلى Sketch> Include Library> Add ZIP Library ، ثم حدد ملف DHTLib.zip.

 

بعد تثبيت المكتبة ، قم بتحميل التعليمات البرمجية إلى الأردوينو الخاص بك بالضغط هنا.

 

شرح التعليمات البرمجية:

تعد قراءات درجة الحرارة والرطوبة الناتجة عن DHT11 رقمية ، لذلك لا نحتاج إلى استخدام معادلة Steinhart-Hart لتحويل مقاومة الثرمستور إلى درجة الحرارة. تحتوي مكتبة DHTLib على جميع الوظائف اللازمة للحصول على درجة الحرارة والرطوبة في الوحدات التي يمكننا استخدامها مباشرة في سرعة معادلة الصوت. تتم تسمية متغيرات درجة الحرارة والرطوبة DHT.temperature و DHT.humidity. ثم ، يتم استخدام السرعة كمتغير في معادلة المسافة على الخط 28.

 

لإخراج قياسات المسافة إلى شاشة LCD ، قم أولاً بتوصيل شاشة LCD على الأردوينو، ثم قم بتحميل التعليمات البرمجية من هنا.