روبوت يتجنب العقبات بحساسات الموجات فوق الصوتية

نبذة:

هذي الورشة سهلة جدا جدا جدا و الافادة مضمونة =) تستخدم أجهزة الاستشعار بالموجات فوق الصوتية لحساب المسافة من الأشياء. وبالتالي ، هذه المجسات مثالية للاستخدام في الروبوتات لتجنب الاشتباك في الأشياء المحيطة بها. بما أن روبوتي يستخدم Arduino ، فسوف أقوم بتوصيل جهاز الاستشعار فوق الصوتي بي ال Arduino .

توصيل و تركيب الحساسات بالاردوينو

الاغراض:

  • شريحة اندرويد
  • اسلاك
  • حساسات الموجات فوق الصوتية (UV)

أولا ، نحن بحاجة إلى معرفة أساسيات أجهزة الاستشعار بالموجات فوق الصوتية. تتصل الدبابيس الأولى والأخيرة بمصدر الفولطية والأرض. الدبوسان في الوسط يعملان كمرسل واستقبال الإشارات ، مما يساعدنا على حساب المسافة بين الأشياء أمامنا.

بعد ذلك ، يمكننا توصيل المستشعرات فوق الصوتية بشريحة أردوينو لدينا. هذه هي الروابط:

  •  السلك الأحمر يربط دبوس VCC من أجهزة الاستشعار إلى دبوس 5V على الشريحة.
  • السلك الأسود سوف يربط دبوس Gnd لجهاز الاستشعار إلى دبوس GND على الرقاقة
  • السلك الأخضر يربط دبوس Trig (الزناد) للمستشعر إلى 24 دبوس على الشريحة
  • سلك أصفر يربط دبوس الصدى لجهاز الاستشعار إلى 26 دبوس على الشريحة

يمكنك استخدام أي دبابيس رقمية أخرى بدلاً من 24 و 26 (لكن يجب تغيير الشفرة وفقًا لذلك).

البرمجة

الآن للكود ….. انصح بنسخ لصق الكود اللذي كتبته وتشغيله ( او تحميله من الرابط: هنا ). يمكنك الحصول على المسافة في شاشة العرض. عند تحريك يدك بالقرب من المستشعر ، تتغير القيمة.

 

 RoboCup Junior keeping inside boundaries//

;const int trigPin1 = 22
;const int echoPin1 = 24

defines variables//
;long duration, distance, RightSensor

()void setup
Serial.begin(9600); //starts the serial communication
(“Serial.println(“Sensor Test Program

pinMode(trigPin1, OUTPUT); //sets the trigPin1 as an Output
pinMode(echoPin1, INPUT); //sets the echoPin1 as an Input

{

}()void loop

;(SonarSensor(trigPin1, echoPin1
;RightSensor = distance

//Prints the distance on the Serial Monitor//

;(Serial.println(RightSensor

{

(void SonarSensor(int trigPin,int echoPin
}
//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 = speed into time//
;distance = (duration/2) / 29

{

تركيب حساسات من كل الجهات للروبوت

  • الآن ، نريد تطبيق هذا على روبوت. لا نريد أن يصطدم الروبوت بالأجسام المحيطة. على هذا النحو ، قمت بتطبيق أجهزة الاستشعار على الجوانب الأربعة من الروبوت النموذج الخاص بي كما ترون في الصور.
  • مع هذا ، يمكن للروبوت التحقق مما إذا كانت المسافة على أي جانب أقل من عتبة معينة (3 سم على سبيل المثال). إذا كان الأمر كذلك ، فإنه يوقف المحركات لتجنب التصادم مع الكائنات المحيطة.

و هكذا انجزنا جزا آخرا من تصنيع الروبوت الخاص بنا !! ملاحظ: طبعا لقد قمت في نهاية المشروع باستبدال العجلات بالOMNI  التي تتمتع بمزايا الدوران في كل الاتجاه . ترقبوا ورشي القادمة لتصنيع الروبوت ان شاء الله…

الكاتب: Zeenat Al-Kassim
محبوب
كاتب

المشاركات (10)

أضف مشاركة