البرمجة
محاضرة لشرح ULtrasonic كاملا بالبرمجة
سنشرح اليوم موضوع هام جدا وعالم الحساسات الا وهو Ultrasonic :
فكرة عمله :
خروج موجات عالية التردد والتى عندما تصطدم بجسم ما ترتد هذه الموجات على شكل صدى (Echo).
وللعلم ان سرعة الموجات فى الفراغ 345 متر / ثانية عند درجة حرارة 25 سيليسيوس وتحتلف من وسط لاخر حسب نوع
الوسط من سوائل و غازات و اجسام صلبة .
من الاسس الهامه فى التعامل مع هذا النوع من الحساس لابد معرفة المسافة فلابد ان نعرف سرعة هذة الموجات والفرق
بين زمن الارسال و زمن الارتداد لهذه الموجات فهذه الاسس تذكرنا بقانون نيوتن :
المسافة = السرعة * الزمن .
- اهم التطبيقات تتواجد فى الغواصات و الردارات روبوتات تفادى الاصطدام .
الادوات لتنفيذ هذه التجربة :
عمليه التوصيل :
سنقوم بتوصل الحساس مع الاردوينو كالاتى :
Trigger --- D12
ECHo---D13
التغذية و الارضى VCC+GND
الكود :
#include "Ultrasonic.h" Ultrasonic ultrasonic(12,13); void setup() { Serial.begin(9600); } void loop() { Serial.print(ultrasonic.Ranging(CM)); Serial.println("cm"); delay(100); }
- لتهيئة المداخل التى سنربط عليها الالتراسونك باستخدام الامر التالى
Ultrasonic ultrasonic(Trigger_pin,Echo_pin);
- لقياس البعد بين الجسم والالتراسونك باستخدام الامر لتالى
ultrasonic.Ranging(CM);
وللتحكم باكثر من ULtrasonic نعد لكم هذا البرنامج :
#include "Ultrasonic.h" int Distance_1=0; int Distance_2=0; int t=100; void setup(){ Serial.begin(9600); Serial.println( "This Program To Test two UltraSonic Sensor"); delay(100); Serial.println("Testing"); } void ultra_sonic_one(){ Ultrasonic ultrasonic_one(12,13); Distance_1= ultrasonic_one.Ranging(CM); Serial.print("Distance # one in cm ="); Serial.println(Distance_1); delay(t); } void ultra_sonic_two(){ Ultrasonic ultrasonic_two(2,3); Distance_2= ultrasonic_two.Ranging(CM); Serial.print("Distance # Two in cm ="); Serial.println(Distance_2); delay(t); } void loop(){ ultra_sonic_one(); ultra_sonic_two(); delay(400); }
ليست هناك تعليقات:
إرسال تعليق