مشروع قياس المسافة عن طريق  HC-SR04 Ultrasonic Sensor


في البداية لا بد لنا قبل الشرح عن الحساس فوق الصوتية HC – SR04 أن نشرح صدى الصوت و ظاهرة دوبلر

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

وتدعى هذه الظاهرة صدى الصوت Sound Echo وهناك قوانين تحكم هذه الظاهرة وضعها العالم دوبلر.          

 

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

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

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

 

لاحظ ان المراقب 1 يسمع صوت السيارة بتردد منخفض عن التردد الذي يسمعه سائق السيارة في حين ان المراقب 2 يسمع صوت السيارة بتردد اعلى من التردد الذي يسمعه السائق.

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

T = 1/f 

اما القانون الثانى فيربط بين سرعة انتشار الموجات c والتردد f والطول الموجى L ونلاحظ العلاقة العكسية السابق ذكرها بين التردد والطول الموجى فاحدهم يقع فى البسط والاخر فى المقام. فعندما يكون احدهما كبيرا يكون الاخر صغيرا:

f= c/L 

اذن فى الحالة العادية  سيكون الطول الموجى طيقا اللقانون الثانى
L = c/f

ولكن حيث ان مصدر الموجات يتحرك. ففى زمن دورة واحدة  T  سيتحرك مصدر الموجات بالسرعة v اذن سيكون الطول الموجى بالنسبة لمستقبل يقع باتجاه انتشار الموجة اقل. وهنا ساتستخدم الرمز R للتعبير عن المستقبل او مستقبل

    L(R) = c/f – v/f

مع ملاحظة  ان سرعة الموجات ستبقى بالنسبة للمستقبل ثابتة. فسوف تصل الموجة الاولى فى وقتها تماما سواء تحرك المصدر ام لا. فقط اذا تحرك المصدر ستصل الموجات التالية بشكل اسرع. ولكن هذا سوف يفسره المستقبل بان الطول الموجى يقل. اذن بالتعويض فى القانون الثانى   نحصل على:
f(R) = f/(1-v/c)      

واذا كان مصدر الموجة يتحرك مبتعدا عن المستقبل سيكون التردد من وجهة نظر المستقبل كالتالى:
f(R) = f/(1 + v/c)    

 

الأن سنقوم بشرح مبدأ عمل الحساس فوق الصوتية HC – SR04

 يقوم الحساس بارسال موجة فوق صوتية( Ultrasonic wave )  وعند ارتداد هذه الموجه يتم حساب الزمن التي استغرقته في الارتداد ( العوده )

المسافة الكلية = الزمن x السرعة

ومن المعروف ان سرعة الصوت  في الهواء ثابت و يساوي 343 م/ث

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

بعد الجسم عن مصدر الأمواج الفوق صوتية =( الزمن x السرعة)/2

 

الأن القطع التي نحتاجها للقيام بالتجربة

1: Arduino ( UNO, Mega , Mini, Nano )

2: HC-SR04 Ultrasonic sensor

3: USB cable

4: Jumper cables

أطراف الحساس فوق الصوتية  HC-SR04 Ultrasonic sensor

مخطط الدارة ( المشروع )

شرح الكود الخاص بالمشروع:

تكون الحالة HIGH على ال Trig pin لمدة لا تقل عن 10 microseconds ثم بعد ذلك تصبح الحالة LOW وهذه تمثل الموجه فوق الصوتية المرسلة
يتم حساب مدة بقاء الإشارةHIGH  المستقبلة عن  Echo pin
عن طريق أمر:
 pulse In (echo, HIGH); يحسب الزمن بال  microseconds
و بعد ذلك يتم حساب مسافة الجسم عن حساس الأمواج فوق الصوتية ويتم تحولها الى رقم  بوحدة السنتيميتر 

وهذا المخطط الزمني يوضح العملية