روبوت يتجنب العقبات بحساسات الموجات فوق الصوتية
نبذة:
هذي الورشة سهلة جدا جدا جدا و الافادة مضمونة =) تستخدم أجهزة الاستشعار بالموجات فوق الصوتية لحساب المسافة من الأشياء. وبالتالي ، هذه المجسات مثالية للاستخدام في الروبوتات لتجنب الاشتباك في الأشياء المحيطة بها. بما أن روبوتي يستخدم 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 التي تتمتع بمزايا الدوران في كل الاتجاه . ترقبوا ورشي القادمة لتصنيع الروبوت ان شاء الله…
جميل جدا … مجهود رائع
بسيطة وجميلة
فكرة مذهله
رائع. جدا
مبدع
جمييل ماشاءالله
فكره جميله جدا
مجهود جبار
شرح احترافي .. يعطيكم الف عافية .. استمرو
ما شاء الله