بسم الله الرحمن الرحيم
الحمد الله و بعد عودة اشاء الله سنكمل الدرس و معليش على التاخير والله ظروف .
و بما اننا درسنا السويتش سينسور سنعمل في درسنا هذا
Swiitch sensor Robot
هذا الروبوت هو من نوع Obstacle avoiding robot و لكن كيف يعمل
يمشي عمنا الروبوت عن طريق موتورات (في السلسلة الاولى) و يشيك على السويتش اذا لم يجد شئ يكمل يمشي يمشي يمشي الين ما يئتي امامه عائق و من ثم عمك الروبوت يلف و يكمل و هكذا
و شئ الجميل في كل هذا هو انا سنعمل two version منو واحد بstepper motor و الاخر بالdc motor
سنبدا بالروبوت الاول Switch Sensor Robot Version 1
هذه هي دائرة الروبوت
كما تلاحظون هذا الروبوت سهل جدا و عمله بسيط
الروبوت يمشي الى الامام اذا الموتورين يمشون للامام
الروبوت يمشي الى الخلف اذا الموتورين يمشون الى الخلف
الروبوت يلف الى اليمين اذا الموتور الايسر يمشي الى الامام و الموتور اليمن يمشي الى الخلف
الروبوت يلف الى اليسار اذا الموتور الايسر يمشي الى الخلف و الموتور اليمن يمشي الى الامام
مخ هذا الروبوت هو ال16f84a و نيتطيع استعمال اي مايكرو اخر
هذه النسخة هي نسخة الDC Motor لذلك سنحتاج الى H-Bridge للتحكم بالمواتير
ايضا استعملت RC Oscillator لاننا لا نحتاج الى دقة عاااااالية
وضعت مقاومة 10k في الMCLR يمكنكم ازالتها و وصل الMCLR على طول على ال5 فولت
نأتي الان الى الطاقة Power Supply
هي دائرة بسيطة و لا تنسو ان الكاباسيتور مهم هنا لانه يزيل الNoise
هذه هي الدائرة
هذا هو الكود بسيييييييييييط جدا و ساشرحه المرة القادمة انشاء الله
كود:
void main()
{
trisa=0xff;
trisb=0;
portb=0;
while(1)
{
if((porta.f0==1)&&(porta.f1==1))
{
portb=0x00;
delay_ms(200);
portb=0x0a;
delay_ms(1000);
portb=0x06;
delay_ms(500);
portb=0x00;
}
if((porta.f0==0)&&(porta.f1==1))
{
portb=0x00;
delay_ms(200);
portb=0x09;
delay_ms(500);
portb=0x00;
}
if((porta.f0==1)&&(porta.f1==0))
{
portb=0x00;
delay_ms(200);
portb=0x06;
delay_ms(500);
portb=0x00;
}
else portb=0x05;;
}
}
هذا الكود معمو بطريقة بدائية و لكن المرة القادمة عندما ساشرحه سنطوره انشاء الله
تم بحمد الله
يتبع