قياس المسافه بأستخدام الموجات فوق الصوتيه Ultrasonic
مستشعر الموجات فوق الصوتيه Ultrasonic هو اداه لقياس المسافه بينه وبين اي جسم يقف امامه ( شخص,حائط,الخ) وهو يعمل عن طريق ارسال الموجات الصوتيه وانتظارها للأرتداد عن جسم ما من ثم يقوم بقرائتها لقياس سرعة تردد الموجات ثم يقوم بحساب المسافه من خلال معادله بسيطه المسافه = ( سرعة الصوت * مدة تأخير الموجه ) / 2 نقوم بقسمة الناتج على 2 كما في المثال هنا " المسافه = ( سرعة الصوت * مدة تأخير الموجه ) / 2 " لأن الموجه تسير ذهابا وايابا اي انها تخرج من المستشعر وتعود اليه وهكذا يتم حساب المسافه مضاعفه لذلك نقسم على 2 كي يتم قياس المسافه بشكل صحيح .
المثال التالي هو أكثر من مجرد معلومات أساسية من حيث أنه يحتوي على LEDs فقط ، لكنه يتيح للمستخدم اختباره دون الحاجة إلى جهاز كمبيوتر لإظهار المسافة والتحقق من دقة المستشعر.
القطع المطلوبه
اسم القطعه بالعربيه
اسم القطعه بالانجليزيه
المصدر
اردوينو اونو
Arduino Uno
https://www.adafruit.com/product/50
كابل بيانات
USB cable
https://www.adafruit.com/product/62
اسلاك توصيل لوح التجارب
Breadboard bundle wires
https://www.adafruit.com/product/153
حساس امواج فوق الصوتيه
Ultra sonic module
https://www.adafruit.com/product/4007
لوح تثبيت للأردوينو و لوح التجارب
Plastic mounting plate for breadboard and Arduino
https://www.adafruit.com/product/275
لوح تجارب متوسط الحجم
Half-size breadboard
https://www.adafruit.com/product/1898
معلومات عن Ultrasonic Module
يوفر هذا الحساس مدى قياس ممتاز لكثير من المشاريع بحيث يبلغ مداه من 2 الى 400 سانتيمتر بدقه لا تتعدى
3 ميلليميتر ويستطيع كشف الجسم بزاويه اقصاها 15 درجه من الميلان عن مدى الحساس.
هذا الحساس اداه ممتازه لقياس بعد الاجسام عن بعضها ولأستخدامه في مشاريع كثيره منها قياس طول شخص معين
او قياس ارتفاع منسوب مياه او من الممكن ايضا استخدامه في مشروع مانع اصطدام للسيارات وغيرها الكثير.
3 ميلليميتر ويستطيع كشف الجسم بزاويه اقصاها 15 درجه من الميلان عن مدى الحساس.
هذا الحساس اداه ممتازه لقياس بعد الاجسام عن بعضها ولأستخدامه في مشاريع كثيره منها قياس طول شخص معين
او قياس ارتفاع منسوب مياه او من الممكن ايضا استخدامه في مشروع مانع اصطدام للسيارات وغيرها الكثير.
ما هي Serial Monitor ؟
تعد شاشة السيريال Serial monitor من اهم الادوات في بيئة تطوير الاردوينو حيث انها تسمح للمبرمج بأرسال او استقبال البيانات من والى الاردوينو .
على سبيل المثال لو اردت ارسال امر للأردوينو ان يقوم بتشغيل اضاءه معينه استطيع من خلال هذه الميزه ان افعلها وبالمقابل لو اردت ان اراقب قرائات يرسلها لي الاردوينو ايضا يمكنني ذلك من خلالها كما سنفعل في هذا المشروع .
على سبيل المثال لو اردت ارسال امر للأردوينو ان يقوم بتشغيل اضاءه معينه استطيع من خلال هذه الميزه ان افعلها وبالمقابل لو اردت ان اراقب قرائات يرسلها لي الاردوينو ايضا يمكنني ذلك من خلالها كما سنفعل في هذا المشروع .
توصيل الداره
اسم مدخل/مخرج الحساس
اسم مدخل/مخرج الاردوينو
Vcc
5V
Trig
9
Echo
10
GND
GND
الكود البرمجي
/*
* Ultrasonic Sensor HC-SR04 interfacing with Arduino.
*/
// defining the pins
const int trigPin = 9;
const int echoPin = 10;
// defining variables
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input
Serial.begin(9600); // Starts the serial communication
}
void loop() {
// Clears the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculating the distance
distance= duration*0.034/2;
// Prints the distance on the Serial Monitor
Serial.print("Distance: ");
Serial.println(distance);
}
ارفع الكود وقم بالتجربه
قم برفع الكود البرمجي لبورد الاردوينو وراقب النتائج !
في حال انك لا تعرف كيف ترفع كود لبورد الاردوينو إطلع على هذا الموضوع