قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

   

الصورة الرمزية dr_ideas
dr_ideas
:: عضو متميز ::
تاريخ التسجيل: Apr 2009
المشاركات: 183
نشاط [ dr_ideas ]
قوة السمعة:
قديم 10-11-2010, 08:02 AM المشاركة 17   
Talking لا اله الا الله الحمد لله



يااااااااااااااااااااااااااااااااااه الحمد لله انا حضرتك رجعت تانى
والله انتا متعرفش اد ايه انا فرحان انك هتكمل الموضوع تانى
حمد لله على السلامه اولا
وانا فرحان انى اول واحد ارد عليك
ويااااااااااااااااااااااااااااااارب يكون فى مشاريع قادمة كتيررررررررررررر بازن الله

اعلانات

الصورة الرمزية Eng-Rayan
Eng-Rayan
:: عضو فضي ::
تاريخ التسجيل: Feb 2010
الدولة: تونس (بدرس بالأردن)
المشاركات: 454
نشاط [ Eng-Rayan ]
قوة السمعة:
قديم 10-11-2010, 11:56 AM المشاركة 18   
افتراضي


بسم الله الرحمن الرحيم
مهم جدا يجب فهم هذه البداية
لانه من هذا الكود سنعمل باقي المشاريع

سنأتي اليوم الى شرح الكود و سنحاول تطويره ليصبح سهل الفهم
ناتي الى التحكم بالموتورات الموتور اليمين يمشي الى الامام اذا Portb.f0=1 و يمشي الى الخلف اذا Portb.f1=1
الموتور اليسار يمشي الى الامام اذا Portb.f2=1 و يمشي الى الخلف اذا Portb.f3=1

و الان ناتي الى اهم شئ في الكود لاننا سنتعمله في كل المشاريع القادمة

كما راينا سابقا الروبوت يمشي الى الامام اذا الموتورين يمشون للامام

لذا يجب ان يكون الموتور اليمن يمشي الى الامام و الموتور الايسر يمشي الى الامام

اي ان Portb.f0=1 && Portb.f2=1 لذلك Portb=0b00000101
كود:
void goStraight()
{
Portb=0b00000101;
}
يمشي الى الخلف اذا الموتورين يمشون للخلف

لذا يجب ان يكون الموتور اليمن الى الخلف و الموتور الايسر يمشي الى الخلف

كود:
void goBach()
{
Portb=0b00001010;
}
الروبوت يلف الى اليمين اذا الموتور الايسر يمشي الى الامام و الموتور اليمن يمشي الى الخلف

كود:
void goRight()
{
Portb=0b00000110;
}

الروبوت يلف الى اليسار اذا الموتور الايسر يمشي الى الخلف و الموتور اليمن يمشي الى الامام

كود:
void goLeft()
{
Portb=0b00001001;
}
و الان يجب ان نعرف السنسور على انهم short اي 1 او 0
و الان اذا اردنا الروبوت ان يتوقف نوقف الموتورين بعدم اعطائهم Signal

كود:
void stop()
{
Portb=0;
}
و الان بعد ان عرفنا تحركات الروبوت التي سنستعملها نبدا بالجالة الاساسية

كود:
Void main() {
و بعد ذلك نعرف Portb على انه مخرج و نصفره في البداية

كود:
TRISB=0;
Portb=0;
و الان نعرف ال Porta على انه مدخل لان الحساسات ستوضع على Porta ومن ثم نعرفهم

كود:
TRISA=255;
leftSensor=Porta.f0;
rightSensor=Porta.f1
و الان نعمل حلقة لا نهائية لكي يعمل الروبوت بدون توقف

كود:
while(1) {
والان ناتي الى المهم
اذا ال leftSensor امامه عائق و rightSensor لا يوجد امامه عائق فان الروبوت سيرجع الى الوراء قليلا ثم يدور الى اليمين
كود:
if((leftSensor==1)&&(rightSensor==0)) {
goBack();
delay_ms(500);
goRight();
delay_ms(500);
stop();}

اذا ال rightSensor امامه عائق و leftSensor لا يوجد امامه عائق فان الروبوت سيرجع الى الوراء قليلا ثم يدور الى اليسار
كود:
if((leftSensor==0)&&(rightSensor==1)) {
goBack();
delay_ms(500);
goLeft();
delay_ms(500);
stop();}

اذا ال rightSensor امامه عائق و leftSensor امامه عائق فان الروبوت سيرجع الى الوراء ثم يدور كثيرا الى اي اتجاه فلنختر مثلا اليمين
كود:
if((leftSensor==1)&&(rightSensor==1)) {
goBack();
delay_ms(1000);
goRight();
delay_ms(1500);
stop();}
اذا لم يتحقق اي شرط من هذا فان الروبوت سيمشي على طول
يعني الروبوت سيشيك باستمرار على الحساسات و مادام لم يجد اي عائق سيمشي على طول

كود:
else goStraight();
انتهى الكود لذلك يجم ان نغلق اقواس الmain و الwhile

كود:
}
}
و هذا هو الكود كاملا

كود:
void goStraight()
{
Portb=0b00000101;
}
void goBack()
{
Portb=0b00001010;
}
void goRight()
{
Portb=0b00000110;
}
void goLeft()
{
Portb=0b00001001;
}
void stop()
{
Portb=0;
}
unsigned short leftSensor,rightSensor;
void main()
{
TRISB=0;
Portb=0;
TRISA=255;
leftSensor=Porta.f0;
rightSensor=Porta.f1;
while(1) {
if((leftSensor==1)&&(rightSensor==0))
{
goBack();
delay_ms(500);
goRight();
delay_ms(500);
stop();
}
if((leftSensor==0)&&(rightSensor==1))
{
goBack();
delay_ms(500);
goLeft();
delay_ms(500);
stop();
}
if((leftSensor==1)&&(rightSensor==1))
{
goBack();
delay_ms(1000);
goRight();
delay_ms(1500);
stop();
}
else goStraight();
}
}
تم بحمد الله


يتبع

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

الصورة الرمزية Eng-Rayan
Eng-Rayan
:: عضو فضي ::
تاريخ التسجيل: Feb 2010
الدولة: تونس (بدرس بالأردن)
المشاركات: 454
نشاط [ Eng-Rayan ]
قوة السمعة:
قديم 10-11-2010, 11:58 AM المشاركة 19   
افتراضي


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

و مرة اخرى شكرا و الله يفوقك


ahmad abdullah
:: مهندس متميز ::
تاريخ التسجيل: Jun 2010
الدولة: لبنان-فلسطين
المشاركات: 584
نشاط [ ahmad abdullah ]
قوة السمعة:
قديم 17-11-2010, 11:52 AM المشاركة 20   
افتراضي


الف الف شكر الك مهندس ريان ... والله شرح رائع ...

تابع نحن بإنتظارك اخي ... موضوع مميز من مهندس مميز


الصورة الرمزية dr_ideas
dr_ideas
:: عضو متميز ::
تاريخ التسجيل: Apr 2009
المشاركات: 183
نشاط [ dr_ideas ]
قوة السمعة:
قديم 17-11-2010, 10:24 PM المشاركة 21   
Talking الله اكبر الله اكبر لااله الا الله الله اكبر الله اكبر ولله الحمد


كل عام والمسلمبن افضل كل عام والمسلمين بخير
حبيبى المهندس ريان كل عام وانتا والاخوة فى المنتدى بخير
ومنتظيرين اخر الابتكارات
تلميذك اخوك مصطفى المصرى


montasr88
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2010
الدولة: jordan
المشاركات: 127
نشاط [ montasr88 ]
قوة السمعة:
قديم 25-03-2011, 05:15 PM المشاركة 22   
افتراضي


جزاكم الله كل خير..
ننتظر التكمله..


amrahmed
:: مهندس ::
تاريخ التسجيل: Jun 2009
المشاركات: 14
نشاط [ amrahmed ]
قوة السمعة:
قديم 30-03-2011, 05:51 PM المشاركة 23   
افتراضي سلام عليكم


سلام عليكو احييك يا اخى على الموضوع الرائع اعانك الله على نشر علمك ان شاء الله
انا كنت بعمل حساس للحراره و كنت عايز اربطه بال lcd و ايضا بال pc عن طريق ال pic16f877a و دائرة الماكس 232 و لكنى جربت كل الطرق و لم تعمل انا قمت بعمل كود استطيع من خلاله كتابة ارقام او حروف من الكومبيوتر الى ال lcd ولكن الان لا استطع نقل قراءة حساس الحراره lm35 و عرضها على الكومبيوتر الخاص بى باستخدام كابل سيريال برجاء الافاده

جزاك الله خير


m a g
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2010
الدولة: مصطفى
المشاركات: 51
نشاط [ m a g ]
قوة السمعة:
قديم 30-03-2011, 09:42 PM المشاركة 24   
افتراضي


السلام عليكم ورحمه الله وبركاته
موضوع متاز وشرح اكثر من رائع وارجو من الله عز وجل ان يوفقق ويجذيك عنه خير والى الامام ان شاء الله



الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 05:11 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)