الکترونیکیها

الکترونیکیها

اطلاعات در مورد الکترونیک و مدارات الکترونیک
الکترونیکیها

الکترونیکیها

اطلاعات در مورد الکترونیک و مدارات الکترونیک

آموزش ربات تعقیب خط با میکروکنترلر AVR - قسمت پنجم

قسمت آخر(پنجم)

در آموزش قبل با نحوه تشخیص خط آشنا شدیم به صورت زیر :

اسم سنسور ها رو بذاریمR(راست)L(چپ)C(وسط)خب حالا فرض کنیم که خط مشکی مستقیم باشه خروجی سنسور ها به این شکل میشه

LCR010

حالا اگه خط مشکی سمت راست باشه :

RCL100

و اگه سمت چپ باشه میشه :

RCL001

میبینید که سه حالت چپ و راست و مستقیم

 

 

خب بریم سراغ برنامه نویسی ،برای اینکه بتونیم اطلاعات سنسور ها رو بخونیم باید به میکرو وصلشون کنیم ،چون از میکروکنترلر ATmega8 استفاده میکنیم من سه تا خروجی آپ امپ های سنسورها رو به پورت B وصل کردم به پایه های PINB.0 (چپ) ،PINB.1 (وسط همون مستقیم) و PINB.2 (راست).

خب طبق آموزش راه اندازی موتور باید موتورها رو به یک ترانزیستور وصل میکنیم یادتون باشه برای اینکه ربات مستقیم بره باید موتورها برعکس هم بجرخند وگرنه ربات دور خودش میچرخه! بعد پایه بیس ترانزیستور ها رو  به پایه های PINB.4 , PINB.5 وصل کنید به ترتیب موتور راست و موتور چپ .

خب وقتی میخوایم ربات مستقیم بره باید هر دو موتپر روشن باشه و اگه بخوایم به راست بره باید یک لحظه موتور سمت راست رو خاموش کنیم (به دلیل روشن بودن موتور سمت چپ ربات به سمت راست میچرخه)و برای اینکه به چپ بچرخه باید موتور سمت چپ رو لحظه ای خاموش کنیم.

خب اینم از کد برنامه :

از اینجا دانلود کنید

http://dllup.ir/downloadf-mainn-zip.html


#include <mega8.h>void main(){DDRB=0x0f;while(1){if(PINB.0 == 1)   {   PORTB.4=0;   PORTB.5=1;   }if(PINB.1 == 1)   {   PORTB.4=1;   PORTB.5=1;   }if(PINB.2 == 1)   {   PORTB.4=1;   PORTB.5=0;   }}}

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد