الألتراسونيك Ultrasonic

الألتراسونيك Ultrasonic




اهلاً بمتابعي مدونتي الأحباء , الموضوع الذي سأتناوله في تدوينتي يعتبر مهم جداً نظراً لأستخداماته في العديد من التطبيقات , حديثي اليوم سيكون عن حساس الأمواج فوق الصوتية أو ما يعرف ب Ultrasonic


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


سرعة الموجات في الفراغ هي 345متر\ثانية  عند 25سيلسيوس  و تختلف من وسط لأخر حسب الوسط الناقل كالسوائل و الغازات و الأجسام الصلبة .

سنركز من الآن على انتقال الموجات فوق الصوتية في الفراغ .
لمعرفة المسافة , يكفي أن نعرف سرعة هذه الموجات , و أن نعرف الفرق بين زمن الارسال و زمن الأرتداد للصدى و بهذا يمكننا معرفة المسافة حسب قانون نيوتن :

المسافه = السرعه × الزمن 

ستجد تطبيقاته في الخفاش , الغواصات , الرادارات 

حسناً لننتقل إلى ما سنقوم اليوم بفعله , وما هي الإمكانيات التي يوفرها لنا هذا الحساس .

يمكننا هذا الحساس من معرفة المسافة بشكل دقيق بينه و بين الأجسام التي امامه , مما يعد خيار مفضل عند بناء روبوتات تفادي الأصطدام Avoiding Robot .

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

لنجهّز معداتنا .

المعدّات 

ستحتاج لتنفيذ هذه التجربة ما يلي :
1) بطاقة أردوينو 
2)التراسونيك HC SRF04
3) BreadBoard
4)اسلاك توصيل .
5)محرك سيرفو صغير"اختياري " .

حسناً لننتقل للتوصيل :

سنقوم بتوصيل الحساس مع الأردوينو كالآتي :
Trigger>>>> D12
Echo>>>> D13 
بالإضافة للتغذية و الأرضي Vcc+GND


 البرمجة 


من النشرة الفنية لحساس الأمواج فوق الصوتية " للألتراسونيك" نستطيع برمجة هذا الحساس بسهولة .

الرسم التالي يوضح المخطط الزمني لعمل الألتراسونيك .
ليبدأ الالتراسونيك العمل , يتم قدحه Trigger بنبضة طولها 10us , ثم يقوم المرسل في الألتراسونيك بإرسال 8 نبضات بطول 40KHz , ثم ينتظر أن يصله صدى Echo للنبضات التي أرسلها , و تكون بين 100us-18ms اعتماداً على المسافة التي قطعتها الأمواج الصوت "في حال كان طول نبضة الصدى 36ms هذا يعني أنه لم يصطدم بجسم أمامه ! "

لكتابة الكود يلزمنا فقط اتباع الارشادات الوادة في المخطط الزمني .

الكود الأولي  بسيط و يعتمد على ارسال نبضات كل 10uS ثم قراءة الصدى الراجع إلى الحساس, ثم قسمتها على 58 لنحصل على المسافة بالسنتيمتر 

هذا الكود أولي 



و إذا لم تكن تملك الشاشة الكريستالية فإليك هذا البرنامج الذي ستحتاج فقط فيه لبطاقة أردوينو و الألتراسونيك .


الكود موجود بالأسفل :






لتهيئة المداخل التي سنربط عليها الألتراسونيك نستدعي الأمر :


Ultrasonic ultrasonic(Trigger_pin,Echo_pin);


لقياس البعد بين الألتراسونيك و الجسم التي ترتطم به الأمواج فوق الصوتية ما علينا سوى استدعاء الأمر 

;(ultrasonic.Ranging(CM

و البرنامج الأخير هنا يعرض التحكم بأكثر من التراسونيك واحد .






التطبيقات على هذا الحساس لا تنتهي , و في نهاية تدوينتي هذه أعرض عليكم تطيبق بسيط استخدمت فيه هذا الحساس في روبوتي G1


إرسال تعليق

0 تعليقات