روباتی که در اینجا تصمیم به تو ضیح نحوه ساخت آنرا دارم بروی زمینه سفید بدنبال خط مشکی حرکت میکند. میکروکنترلر مورد استفاده در روبات ATmega8 می باشد. و کدهای برنامه روبات با استفاده از نرم افزار BASCOM ایجاد شده اند.
روبات شامل دو موتور در طرفین خود می باشد، که جهت حرکت به جلو هر دو موتور را روشن می کند، زمان دور زدن به چپ موتور سمت چپ خاموش و موتور سمت راست روشن می شود و برای دور زدن به سمت راست موتور سمت راست خاموش و موتور سمت چپ روشن می شود. البته موتورهای بکار رفته DC موتور بوده و جهت کاهش سرعت و در نتیجه کنترل دقیق تر روبات از موتورهایی با گیربکس سرخود استفاده شده، که قیمت آن در بازار جمهوری تهران 7000 تومان است در صورتی که به این نوع موتور دسترسی ندارید میتوانید از موتورهای اسباب بازی گیربکس دار استفاده کنید، در غیر این صورت بایستی خودتان گیربکس را بسازید دقت داشته باشید که دور نهایی چرخش چرخهای روبات 60 دور بر دقیقه باشد.
برای تشخیص مسیر از دو LED پر نور استفاده شده که سطح مسیر حرکت را روشن می کنند و انعکاس نور به فتو رزیستورهای قرار گرفته در زیر روبات برخورد می کند. اگر روبات روی خط باشد مقدار نور منعکس شده حداقل بوده و در نتیجه مقدار مقاومت آن افزایش میابد و ولتاژ دو سر آن افزایش می یابد و میکروکنترلر از روی این تغییر ولتاژ متوجه وجود خط می گردد.(در غیر این صورت نور منعکس شده زیاد بوده، مقدار مقاومت فتورزییستور کاهش میابد و ولتاژ دوسر آن کاهش میابد.)پس همانطور که ذکر شد میکرو کنترلر تغییرات ولتاژ فتورزیستور را احساس میکند. من برای این کار از مبدل های درونی آنالوگ به دیجیتال میکرو استفاده کردم. البته دو عدد فتورزیستور به همراه دو LED جهت تشخیص طرفین مسیر استفاده شده.
برنامه روبات به زبان BASIC نوشته شده در محیط BASCOM
$regfile = "m8def.dat" $crystal = 8000000
Config Portd = Output 'Portd used for control motor Config Adc = Single , Prescaler = Auto Start Adc 'Start Analog to Digital Converter
Dim S1 As Word 'S1 Right Sensor Dim S2 As Word 'S2 Left Sensor