كيفية عمل روبوت ذراع #1

0


 بسم الله الرحمن الرحيم

يعد هذا التطبيق من احد افضل التطبيقات التى يمكن تصميمها بإستخدام الأردوينو ويتم استخدام هذه الروبوتات فى المصانع فى صناعه المنتجات بكميات اكبر 

فسنقوم فى هذا المشروع بعمل روبوت زراع والذى سيستمر معنا كسلسلة 

اولا سنقوم بعمل روبوت زراع يتم التحكم به عن طريق 4 مقاومات متغيرة


اولا الأدوات :

4 x servo motor

arduino uno

4 x 
potentiometer

servo motor

الموتور السيرفو وهو الذى سيقوم بتحريك الزراع ويتم استخدام اربعه مواتير لبناء لتوفير الحركة الكاملة للروبوت



arduino uno

لوحة معالجة البيانات التى سيتم استخدامها فى معالجة البيانات


potentiometer
مقاومة المتغيرة او المكون التى سنستخدمه لتحيديد درجة التحرك الخاصه بالمواتير السيرفو
حيث سنستخدم اربع مقاومات لتحريك الأربعه المواتير


ثانيا التوصيلات :
أ - التوصيل الإكترونى :


حيث تحتوى المقاومة المتغير على ثلاثة منافذ 
منفذ يتم توصيبله ب  5 فولت الخاص بالأردوينو 
المنفذ الأوسط يتم توصيله بالمداخل التماثلية
المنفذ الأخير يتم توصيله بالسالب

ويحتوى الموتور السيرفو على ثلاثة منافذ
منفذ للموجب يتم توصيله الى 5 فولت
والسالب يتم توصيله الى السالب
والمنفذ الخاص بالبيانات يتم توصيله الى منافذ pwm الخاصه بالأردوينو وهى 
3 و 5 و 6 و10

ب- التوصيل المكانيكى :
لن نقوم بشرح كيفية التركيب الميكانيكى لأن هذا ليس من تخصص المدونة
لكن سأكتفى بوضع فيديو موضح لهذا الزراع
والتطبيق الخاص بالنتيجة النهائية له


ثالثا الكود : 

#include<Servo.h>
Servo serv1;
Servo serv2;
Servo serv3;
Servo serv4;

int v1 = A0;
int v2 = A1;
int v3 = A2;
int v4 = A4;

int da1 ;
int da2 ;
int da3 ;
int da4 ;
void setup() {
serv1.attach(3);
serv2.attach(5);
serv3.attach(6);
serv4.attach(10);

}

void loop() {
   da1= analogRead(v1);
da1 = map(da1,0,180,0,1023);
da1 = constrain(da1,0,180);
serv1.write(da1);
   da2= analogRead(v2);
da2 = map(da2,0,180,0,1023);
da2 = constrain(da2,0,180);
serv2.write(da2);
   da3= analogRead(v3);
da3 = map(da3,0,180,0,1023);
da3 = constrain(da3,0,180);
serv3.write(da3);
   da4= analogRead(v4);
da4 = map(da4,0,180,0,1023);
da4 = constrain(da4,0,180);
serv4.write(da4);
}

تفصيل الكود :
فى البداية قمت باضافة المكتبة الأساسية للتعامل مع المواتير السيرفو وقمت بإخبار المكتبة عن وجود اربعه مواتير سيرفو عن طريق 
#include<Servo.h>
Servo serv1;
Servo serv2;
Servo serv3;
Servo serv4;
ثم قمت بتعريف المنافذ الخاصه بالمقاومات المتغيرة عن طريق

int v1 = A0;
int v2 = A1;
int v3 = A2;
int v4 = A4;
وتعريف متغيرات يتم فيها تخزين القراءة الخاصة بالمقاومة التى ستكون بين 0 الى 1023
int da1 ;
int da2 ;
int da3 ;
int da4 ;
فى بداية void setup يجب تعريف المنافذ الخاصه بالمواتير السيرفو عن طريق 
serv1.attach(3);
serv2.attach(5);
serv3.attach(6);
serv4.attach(10);
ثم الدخول الى الكود الخاص بنا
اولا قم بقراءة القيمة الناتجة من المقاومة المتغيرة التى ستكون قيمتها بين 0 الى 1023
وقم بتخزين هذه القيمة فى المتغير الخاص بالبيانات الأول
قم بعمل مساواة لهذه القيمة التى قيمتها الأدنى هى 0 وقيمتها الأقصى هى 1023 
وقم بجعلها تساوى هذه القيمة التى تنحصر بين 0 الى 180
ثم قم بتحريك الموتور السيرفو الأول على ناتج المساواة
ثم يتكرر هذا الكود بهذا النمط مع باقى المواتير مع تغيير اسماء المنافذ

لأى استفسارات اكتب فى التعليقات

لتحميل الكود اضغط هنا

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

لا يوجد تعليقات

أضف تعليق