سنشرح اليوم موضوع هام جدا وعالم الحساسات الا وهو 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);
}
ليست هناك تعليقات:
إرسال تعليق