الجمعة، 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);
}
   
  


السبت، 2 أبريل 2016

المحاضرة الرابعة لشرح برمجه كلاسيك كنترول Classic Cotrol , كيفية تشغيل محركين بحيث يعمل الاول فى اى وقت نشاء و الثانى لا يعمل الا عند تشغيل المحرك الاول

سنشرح فى هذة المحاضرة ( كيفية تشغيل محركين بحيث يعمل الاول فى اى وقت نشاء و الثانى لا يعمل الا عند تشغيل المحرك الاول ) .



هنا مسار التيار إذا ضغطنا على مفتاح On1سيصل التيار إلى الكونتاكتور K1 ومن رسمة القوى نعرف أن الكونتاكتور K1 

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

التيار إلى الموتور فإذا أزلنا الضغط عن المفتاح On1يظل التيار يمر بسبب النقطة المفتوحة 13-14 التى تحولت إلى مغلقة 
 
وإذا أردنا تشغيل المحرك الثانى يكفى الضغط على المفتاح On2وسوف يمر التيار حتى يصل إلى ملف الكونتاكتور ولن تعيقه 

النقطة المفتوحة  للكونتاكتور K1  المتواجده فى المسار الثانى لأنها تحولت لنقطة مغلقة

بهذه الدائرة إذا أردنا إختبار أن المحرك الثانى لن يعمل إلا بتشغيل المحرك الأول فإننا نفصل المحرك الأول بالضغط على مفتاح 

 Off1ونعاود الضغط على مفتاح On2 مرة أخرى فسوف نجد أن الموتور الثانى لن يعمل لعدم وصول التيار للكونتاتور K2 

وذلك بسبب النقطة المفتوحة للكونتاكتور K1 الموجودة فى المسار الثانى والتى لم يتغير وضعها لأننا لم نشغل الكونتاكتور  K2

لمشاهده التطبيق عمليا  من خلال برنامج EKTSعلى قناه :

                                              [ World Of Engineering ]


لمتابعة المزيد من المعلومات و المعرفة تابعونا على صفحه الفيس بوك اضغط على :



                                          [ World Of Engineering ]




سنشرح المحاضرة المقبلة  ( ثلاث محركات يعمل الاول فى اى وقت نشاء و الثانى لا يدور الا فى حالة دوران الاول و الثالث لا يعمل الا فى حالة دوران الثانى ) .