الجمعة، 29 أبريل 2016

محاضرة لشرح ULtrasonic كاملا بالبرمجة

سنشرح اليوم موضوع هام جدا وعالم الحساسات الا وهو Ultrasonic : 

Ultrasonic

فكرة عمله :


خروج موجات عالية التردد والتى عندما تصطدم بجسم ما ترتد هذه الموجات على شكل صدى (Echo).

وللعلم ان سرعة الموجات فى الفراغ 345 متر / ثانية عند درجة حرارة 25 سيليسيوس وتحتلف من وسط لاخر حسب نوع

 الوسط من سوائل و غازات و اجسام صلبة .

من الاسس الهامه فى التعامل مع هذا النوع من الحساس لابد معرفة المسافة فلابد ان نعرف سرعة هذة الموجات والفرق 

بين زمن الارسال و زمن الارتداد لهذه الموجات فهذه الاسس تذكرنا بقانون نيوتن :

المسافة = السرعة * الزمن .


  • اهم التطبيقات تتواجد فى الغواصات و الردارات  روبوتات تفادى الاصطدام .

الادوات لتنفيذ هذه التجربة :

  1. بطاقة ارديونو.
  2.  Ultrasonic HC SRFO4
  3. Breadboard
  4. اسلاك توصيل .
  5. محرك سيرفو (Servo) صغير . حسب اختيارك .
    الادوات

عمليه التوصيل :

سنقوم بتوصل الحساس مع الاردوينو كالاتى :

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);
}
   
  


ليست هناك تعليقات:

إرسال تعليق