آموزش علم رباتیک

در این وبلاگ مطالبی آموزشی در مورد ساخت ربات و اخبار مسابقات رباتیک خواهیم داشت!

آموزش علم رباتیک

در این وبلاگ مطالبی آموزشی در مورد ساخت ربات و اخبار مسابقات رباتیک خواهیم داشت!

آموزش ساخت ربات (موتور پله ای 1)

دوستان گرام سلام .

سوم اینکه امروز می خوام راجع به موتورهای پله ای (Stepper Motor) که بخش مکانیکی و نیروی محرکه ربوت مارو تشکیل خواهد داد، بنویسم. البته مقالات خیلی زیادی تو نت راجع به نحوه عملکرد استپ موتور (تریپ مغناطیس و...) و یا ساختار درونی اون (سیم پیچ و آهنربا و...) وجود داره اما چیزی که من الان می خوام بگم یه توضیح مختصر به زبان عامیانه ست:

استپ موتور هم برگرفته از اسمش یه نوع موتوره مثل موتورهای DC (همون آمرمیچر خودمون) که تولید حرکت دورانی می کنه. با این تفاوت که استپ موتورها دارای حرکت دقیق و حساب شده تری هستند. این موتورها به صورت درجه ای دوران می کنند و با درجه های مختلف در بازار موجود هستند.

در واقع واژه پله به معنی چرخش به اندازه درجه تعریف شده موتور هستش. مثلا استپ موتوری با درجه ۱.۸ باید ۲۰۰ پله انجام بده تا ۳۶۰ درجه یا یک دور کامل بچرخه (۱.۸X۲۰۰ = ۳۶۰) و یک استپ با درجه ۱۵ فقط باید ۲۴ پله برای یک دور کامل انجام بده (۲۴X۱۵=۳۶۰ ). این ویژگی فوائد بسیار زیادی داره از جمله امکان کنترل سرعت.

زاویه پله پله در دور
0.72 500
1.8 200
2.0 180
2.5 144
5.0 72
7.5 48
15 24

اما موتور DC چطور؟ وقتی بهش ولتاژ میدیم از یه سرعت آروم شروع می کنه و شتاب می گیره و با قطع کردن ولتاژ تازه می خواد شتاب منفی بگیره و معلوم نیست چند ثانیه بعد از قطع ولتاژ از چرخش بایسته. با این تفاسیر فکر می کنید تو هارددیسک یا دیسکت درایوها ویا ویدئو ها از کدوم موتور استفاده می کنند؟ در رباتیک بسته به نوع شرائط از هر دو نوع موتور استفاده میشه که شرایط ما فعلا با ستپ جوره!

موتورهای پله ای موجود در بازار معمولا دونوع ۵ یا ۶ سیمه دارند که علت تعدد سیمها و نحوه کنترل و راه اندازی این موتور می مونه برای جلسه بعد. راستی بگم این استپ موتورها قیمت بالایی هم دارن اما من یه جفت کوچیک آزمایشگاهیشو که انگار کارخونه ساخته بودشون برا من، پیدا کردم (فقط به قیمت جفتی ۲ تومن!). اگر شما هم خواستسد در خدمتم باهام تماس بگیرید.

 

برگرفته شده از E.l.e.B.o.y.s

آموزش ساخت ربات مسیریاب (سنسور۲)

سلام. همه خوبید؟ خداروشکر. راستی از لطفتون به پست قبلی ممنونم . خوب جلسه پیش مدار سنسورها رو نشون دادم اما توضیحات تکمیلی موندش که حالا میگم.
ببینید کلا هرچقدر تعداد و تنوع سنسورها در یه ربات بیشتر باشه بالطبع عملکرد اون خیلی بهتر و عاقلانه تر (هوشمندانه تر) بنظر خواهد رسید. البته کنترل و ایجاد ارتباط میان این سنسورها در مغز ربات (میکروکنترلر) بسیار مهم هستش و بدون یک برنامه بهینه هیچوقت این ادعا درست نخواهد بود! با این وجود همونطور که در مدل ها و مدارهای مختلف در سایت ها و وبلاگهای متعددی دیدید هرکدوم از هرچندتا سنسور که دوست داشتن استفاده کردن! از حالت مینیمم که دوسنسوره باشه گرفته تا چهارتایی و بیشتر... اما همونطور که گفتم هر چقدر تعداد این سنسورها بیشتر باشه برای بهینه تر کردن کارایی اونها در میکروکنترلر باید برنامه پیچیده تری رو نوشت. این پیچیدگی در کد یجورایی بصورت تصاعدی افزایش پیدا میکنه، ولی خوب تا سه یا چهار سنسور این تصاعد زیاد صعودی نیست و بعد از اون (۵ ۶ ۷ وو...) بیشتر خودشو نشون میده! که البته این به نحوه قرار گرفتن سنسورها هم خیلی ربط داره... با این حال من بخاطر اینکه این مقالات رو از ابتدایی ترین سطح شروع کردم سعی کردم از همون مدل ۲ سنسوره که حالت قرارگیری اون رو هم در شکل نشون دادم، استفاده کنم. بزرگترین مزیت این مدل (۲ سنسوره) این هست که کد میکروی بسیار ساده و کوتاهی داره و آموزش و فهم اون خیلی راحته و بزرگترین عیبش هم اینه که روبوت یه جورایی زیگزالی حرکت میکنه! (البته هرچقدر استانداردها به سمت ایده آل میل کنه این خطا هم کمتر میشه) که البته برای شروع عیب بزرگی نیست! در چیدمان سنسورهاتون اگر از مدل ما (۲ تایی) استفاده می کنید مثل شکل، حتما فاصله بین فرستنده و گیرنده، که معمولا ۲.۵ میلیمتر در نظر گرفته میشه (اما هرچقدر کمتر باشه حساسیت بیشتر میشه) و فاصله بین دو گیرنده (۲ نقطه سیاه) که بستگی به ضخامت خط سیاهتون داره (۱.۵ الی ۲ سانت بیشتر)، را در نظر بگیرید تا از ایجاد نقص های ذکر شده جلوگیری کنید. همچنین فاصله پک سنسورها (مجموعه فرستنده و گیرنده) از زمین نباید زیاد باشه و معمولا اون رو ۱.۵ تا ۳ سانت اختیار میکنن تا حساسیت کم نشه!

 راستی یادتون باشه برای خرید میکروی AVR Atmega32 حتما مدل L اون رو بخرید چون با وجود یکسان بودن قیمت، مل ال اون پروگرمر ساده ای داره درواقع اصلا پروگرمر نیست فقط باید چندتا پایش رو مستیم به پورت موازی وصل کنید (که بعدا شکلشو نشون میدم). پس یادتون باشه مثل من اشتباه نکیند. در مورد کامپایلر Bascom هم که چند وقت پیش برا دانلود گذاشته بودم معذرت می خوام چون متوجه شدم اصلا بدرد نمی خوره!!!. یه نسخه عالی دارم که بوقتش آپلودش می کنم.

در آخر این پست پیشنهاد می کنم اگر علاقه به ساخت ربات دارید (که اگه اینجایید حتما دارید) فقط به خواندن مطالب، پرینت و جمع آوریشون بسنده نکنید چون اصلا کافی نیست و فکر نمی کنم حتی ۱۰٪ کار عملی بازده داشته باشه... تا پست بعدی موفق باشید

آموزش ساخت ربات (مدار سنسورها۱)

سلام. قرار شد دیگه از سخت افزار رو شروع کینم برا همین امروز قصد دارم مدار سنسورها رو نشون بدم و کمی در موردش توضیح بدم. البته این مدار بقدری ساده هست که دیگه احتیاجی به توضیح نداره برای همین برای تکمیل مطلب کمی درمورد نکات مهم در استفاده اون در ربات و چندتا نکته در مورد انواع سنسورها بسنده می کنم. من خودم مدار پیچیده تری داشتم که در اون میشد حساسیت سنسورها رو با پتانسیومتر تنظیم کرد اما به سفارش فاضل از مدار پیشنهادی اون که خیلی هم ساده و قابل فهم هست استفاده کردیم! شکل روبرو مدار سنسورها و درواقع تنها مدار موجود در ساخت ربات ماست!

سنسورها: سنسورهای استفاده شده در این مدل رباتها سنسورهای نوری هستن که از یک فرستنده و یک گیرنده نوری تشکیل شده اند. همونطوری که در فیزیک خوندیم سطح سیاه (کلا تیره) نور رو بیشتر جذب می کنه ولی سطح سفید (روشن) نور بیشتری منعکس می کنه! اساس کار این سنسورها هم بر همین مبناست! نور (نامرئی یا مرئی) توسط فرستنده تابونده میشه و اگر سطح زیر اون تیره باشه همه نور رو جذب میکنه و گیرنده چیزی دریافت نمی کنه و اگر روشن باشه به همون صورت گیرنده بازخورد خودشو به نحوی که توضیح خواهم داد در مدار نشون میده!

گیرنده ها دو مدل هستند ترانزیستوری و مقاومتی! گیرنده های ترانزیستوری درست مثل ترانزیستور عمل می کنن و در واقع پایه بیس (B) اونها میزان نور دریافتی هستش و هرچقدر نور بگیرن جریان عبور میدن (اگه نمیدونید ترانزیستور چیه یه نگاه به کار دخترا بندازید). ولی مقاومتی ها برعکس هستند، هرچقدر نور بگیرن مقاومتشون بیشتر میشه و جریان کمتری عبور میدن. چون در ایران به علت پاک بودن قلبها سطح سفید بیشتر از سطح سیاه پیدا میشه ! من از نوع مقاومتی استفاده کردم تا، زمانی که سنسورها روی خط سیاه نرفتن مقاومت زیاد بشه و خروجی صفر به میکرو ارسال بشه.
شما میتونید با قرار دادن یه LED بجای خروجی (مانند شکل) صحت مدار و سنسورهای خودتون رو چک کنید. در حالت عادی LED روشن هست اما وقتی یه کاغد سفید جلو سنسورها بگیرین LED خواموش خواهد شد انگار به میکرو ۰ یا ۱ فرستاده میشه. این خروجی بواسطه یه مقاومت ۲۲۰ به یه پین از (مثلا) پورت B میکرو وصل میشه و محاصبات و عملیات لازم اونجا رویش صورت می گیره. البته باید توجه کنید کنار هم قرار داشتن فرستنده و گیرنده و زاویشون اهمیت داره و گرنه باعث اختلال میشه که با کمی توجه حل شدنیه!  راستی یادم باشه بهتون بگم عوامل متعددی ممکنه در کار این سنسورها اختلال ایجاد کنه مثلا لامپ های رشته ای(همین لامپ رو سقف!) یا نور زیاد خورشید! بخاطر اینکه این نورها دارای فرکانسهای مختلفی هستند که ممکنه با فرکانس سنسورهای شما یکی باشه و.... اگه یکمی پولتون زیاده پیشنهاد می کنم از نوع CNY70 بخرین(دونه ۱۰۰۰ تومن). چون گیرنده و فرستنده به صورت یه پک کوچیک هستند و حساسیت و دقت رو بینهایت افزایش میده و فکر نکنم از این بدبختیا داشته باشه اما اگه مثل من .... هیتید از مدل جفتی ۲۰۰ بخرین و کلی حال کنید......

خوب دیگه این پست خیلی طولانی شد. فعلا قطعات رو بخرین و مدار رو  روی بردبورد ببندید و امتحان کنید تا بعد.... راستی لازمه در مورد این مدار بیشتر توضیح بدم؟ (مثلا دلیل وجود ترانزیستور و....) یا همه به آنالوگ تسلط کامل دارن برعکس من! اگه لازمه خجالت نکشید و بگید، من توضیح میدم. در هر صورت نظر یادتون نره چون بدون نظر از پست بعد خبری نیست .

فعلا بای بای.

آموزش ساخت ربات (میکروکنترلر۴)

سلام!

خوب مقدمات ایجاد یه برنامه در Bascom رو گفتم و امروز میخوام دیگه مبحث برنامه نویسی میکرو رو تموم کنم و بقیه توضیحات رو بزارم روی برنامه اصلی کنترل رباتمون (رو خود برنامه توضیح خواهم داد) و از جلسه بعد بریم تو کار سخت افزار، و اما:

پیکربندی پورتها: همونطور که در شکل مقابل می بینید میکروی AVR (مدل ATMEGA32) داری ۴۰ پایه هستش که ۳۲ تا از پایه های اون می تونه برای چهارتا پورت موجود در اون استفاده میشه. این ۴ پورت مانند شکل به صورت PA, PB, PC, PD نامگزاری شده اند که البته هر کدام از این پورتها دارای ۸ پین (۸X۴=۳۲) هستند. که درواقع هر پورت رو باید به صورت یک بایت در نظر گرفت و هر پین رو به صورت یک بیت (حتما می دونید هر بایت، ۸ بیت هستش!) فرض کرد و هر کدوم از این ۳۲ پایه میکرو مربوط به پین خاصی از یک پورت است. در Bascom نماد پورتها به صورت portx که X یکی از حروف A..D هست بکار میره و نماد پین های هر پورت هم به صورت portx.y که در اینجا X مثل بالا هستش و y شماره پین از ۰ تا ۷ میباشه (۰تا۷ میشه ۸تا ). مثال:

 PortB = 10         'set portb to 10
 PortC.0 = 0        'Set pin 0 of portC to 0
 PortC.4 = 1        'Set pin 4 of PortC to 1

نکته دیگه که باید دقت کنید اینه که پورت ها یک بایتی هستند یعنی نهایت عددی که میشه در اونا قرار داد ۲(۱۱۱۱۱۱۱۱) درمبنای باینری یا ۲۵۵ در مبنای دهدهی خودمون هست. وقتی عدد ۲(۱۱۱۱۱۱۱۱) یا ۲۵۶ رو مثلا در پورت سی قرار بدیم تمام پین های این پورت ۱ میشن و اگر باز عدد ۱۷ معادل ۲(۰۰۰۱۰۰۰۱) رو در اون قرار بدیم (PortC=17) انگاه پینهای ۰ و ۴ این پورت یک خواهند شد. فکر کنم فهمیده باشید قضیه از چه قراره :) فقط باید یکم تبدیل باینری به دهدهی و برعکس رو بلد باشید... اما اگر هنوز کار میکروکنترلر رو درک نکردید و اصلا نمیدونید حالا یک شدن هر پین به چه درد می خوره اصلا نگران نباشید چون به موقع توضیح خواهم داد.

این جلسه می خواستم نحوه پیکربندی پرتها در Bascom رو توضیح بدم (مثلا کدوم پورت ورودی باشه کدوم خروجی و...) اما پیش خودم فکر کردم اصلا ممکنه بعضیها ندونن پورت چیه! پین کیه! بایت چیه! بیت  کیه!  برا همین یه توضیح مختصر دادم و از این بیشتر دیگه در مجال و توان و فضا و... ما نمی گنجه. پس پیکربندی هم میمونه برای بعد از آماده شده کد اصلی کنترل ربات که همون موقع کاربردشو در کد به صورت مثال نشون خواهم داد. اینجوری هم قابل فهم تره هم شیرین تر. تا جلسه بعد و شروع آموزش سخت افزار ربات خداحافظ دوستان

آموزش ساخت ربات (میکروکنترلر۳)

 

سلام.. بچه ها خیلی عقبیم٬ تازه باید ۱ جلسه جبرانی هم بزاریم گفته باشم . پس بی مقدمه بریم سر درسمون که شروع برنامه نویسی AVR با کامپایلر Bascom بود:

بدنه یک برنامه در محیط Bascom:
(منظور از بدنه حداقل کد یک برنامه هستش بدون هیچ فرمانی)  بدنه یک برنامه در محیط Bascom شامل تعیین نوع میکرو مورد استفاده٬ کریستال٬ پایان و گزینه های اختیاری دیگری است که در زیر معرفی میشن.

معرفی میکرو:
برای شروع یک برنامه در محیط Bascom ابتدا بایستی میکروی مورد نظر تعریف گردد. چون توصیه من در استفاده از مدل ATMEGA16|32|128 بود٬ بنابراین فعلا به علت زیق در همه چی  فقط به تعریف همین ۳ مدل بسنده می کنم:

$REGFILE = VAR       'فرم کلی تعریف٫ "وار" یه رشته معرف مدل خاص میکروی مورد نظر هستش
$REGFILE =  "M16def.dat"       'MEGA 16 MCU این برا مدل
$REGFILE =  "M32def.dat"       'MEGA 32 MCU این برا مدل
$REGFILE =  "M128def.dat"     
'MEGA 128 MCU این برا مدل

کریستال:این یه نمونه کریستاله
برای مشخص کردن فرکانس کریستال (میکرو ها باید به یه قطعه خارجی بنام کریستال وصل بشن) استفاده شده برحسب هرتز از دستور CRYSTAL = X$ استفاده می نماییم X فرکانس کریستال استفاده شده بر حسب هرتز است. خوشبختانه AVR دارای یک کریستال 1MHZ داخلی هستش که واقعا یک نعمته! اما حتی برای استفاده از اون هم باید این دستور رو بکار ببریم. مثال:

$CRYSTAL = 100000        '1MHz internal
$CRYSTAL = 140000        '14MHz external

یاداشت(اختیاری): گاهی نیاز است یاداشتهایی برای اطلاعات بیشتر در برنامه اضافه کنید٬ در Bascom هم مثل بیسیک می تونید با علامت " ' " یا REM اینکارو انجام بدید. درست مثل یادداشت های اضافی که من در مثالهای قسمتهای قبل استفاده کردم! مثال:

Print "Hello World"      'این دستور بعدا معرفی میشه  
REM این هم یه مدل دیگه از یادداشت اختیاریه

همچنین در پایان هر برنامه باید از کلمه END استفاده کنید که مثل یک حلقه بی پایان عمل می کنه (مثلا در سی باید همیشه یه حلقه درست کنی. یه کار تکراری) و دلیل استفادش چه در این کامپایر و برای این میکرو و چه در سایر کامپایلرها و برای میکروهای دیگه٬ اینه که سیستم برنامه میکرو با کامپیوتر فرق فوکوله  و اگه از END یا حلقه بی پایان استفاده نکنیم برنامه همینطور میره پایین و سایر آدرس های حافظه میکرو رو به خیال ادامه برنامه میخونه که این باعث Error میشه دیگه! پس End یادتون نره!

خوب دیگه از گزینه های اجباری بدنه تغریبا چیزی نموند و برای اینجلسه هم کافیه! جلسه بعد آموزش نحوه تعریف شرط و حلقه و ... در Bascom رو داریم پس حتما مطلب رو دنبال کنید. راستی تا یادم نرفته بگم بعضی از مطالب بالا رو از رو کتاب AVR مهندس "علی کاهه" کپ زدم! همین که مرجع رو گفتم خیلی هم دلش بخواد :)). خسته نباشید.

 

منبع :  http://eleboys.blogfa.com/

آموزش ساخت ربات (میکروکنترلر۲)

سلام. جلسه قبل کمی در مورد میکرو و میکروی مناسب کار خودمون صحبت کردیم. این جلسه می خوام به طور کلی تر راجع به قابلیت های میکروی AVR بخصوص مدل Atmega32 صحبت کنم. بزارین بعضی از قابلیت های مهم مربوط به کار خودمون رو بصورت لیست بنویسم:

  • کارایی بالا و توان مصرف کم
  • سرعت بسیار بالا نسبت به سایر میکروها
  • 32K حافظه فلش داخلی قابل برنامه ریزی
  • پایداری حافظه فلش: قابلیت 10000 بار نوشتن و پاک کردن
  • 2K حافظه داخلی SRAM
  • 2 تایمر-کانتر 8 بیتی و یک تایمر-کانتر 16 بیتی
  • .....

برنامه نویسی Atmega32:
همونطور که گفته بودم برای برنامه نویسی این میکرو از Basic و کامپایلر معروف Bascom استفاده می کنم (لینک دانلود این کامپایر رو آخر پست گذاشتم). چون من می خوام خیلی گزرا به چند تکنیک وتابع این زبان اون که در برنامه نویسی رباتمون استفاده میشه اشاره کنم اصلا وقت نمیشه درباره یکی یکی ابزارهای محیط این کامپایلر توضیح بدم. اما در آینده با آموزش پروپه های دیگه حتما اونا رو هم پوشش خواهم داد.

همونطور می بینید فقط 7 تا منو از قرار File, Edit, Program, Options, Tools, Window, Help داره. منوی File, Edit, Window, Help تمام برنامه های ویندوز که با هم مو نمی زنه پس اینا هیچ :). منوی Options هم که از اسمش پیداست برای تنضیمات کامپایلر و معرفی نوع و مدل میکرو و.. هست که البته هنگام پروگرام کردن میکرومون سراغش میایم و توضیحات کافی رو میدم. می مونه منوی Program که درواقع گزینه هایی برای کامپایل کد, Syntax Check و شبیه سازی داره که به مجرد شروع برنامه نویسی باهمینا باید سروکله بزنیم.

حتما Bascom رو دانلود کنید و یکم وارسیش کنید چون پس فردا که برگشتم دیگه تفره نمی رم و دیگه آموزش کد نویسی رو خواهیم داشت که اون هم یکی دو جلسه بیشتر طول نمی کشه و بعد میریم سر مباحث الکترونیکی رباتمون. اما باور کنبد لذت برنامه نویسی و سروکله زدن با میکرو اونم AVR چیزی کم از ساخت ربوت نداره! تا پس فردا یا حق.

آموزش ساخت ربات (میکروکنترلر۱)

سلام ـ قرار شد برای ساخت ربات تفعلی بزنیمبه میکروکنترلر٬پس بی مقدمه بریم سر اصل مطلب:

میکروکنترلر چیست: میکروکنترلر رو درواقع می توان یه کامپیوتر کوچولو در قالب یه چیپ برای کنترل وسایل الکترونیکی (در اینجا ربات) تلقی کرد. تفاوت میکروکنترلر با میکروپروسسور در اینه که میکروکنترلر دارای یک CPU ٫مقدار محدودی RAM ٬ ROM ٬ پورت های I/O و تایمر در درون خود می باشد در صورتی که میکروپروسسور فقط یه CPU هست و شما باید RAM, ROM ,... رو به صورت اجزای جانبی به اون متصل کنید (درست مثل CPU کامپیوتر). برای همین میکروکنترلرها تک منظوره ولی میکروپروسسورها همه منظوره هستند. با این تفاسیر میکروکنترلرها دارای کارایی های خاص خودشون مثلا در ماشین لباسشویی٬ ماکروویو٬ تلفن و البته ربات هاو... هستند یعنی جایی که استفاده از میکروپروسسور نه از نظر کارایی و نه از نظر اقتصادی عقلانیه! تازه فهمیدیم میکرو یعنی چی :)

انتخاب میکرو(مناسب ربات ما): در انتخاب میکرو فاکتورهای زیادی دخیله: ۱-هزینه  ۲-سرعت  ۳-کارایی و قابلیت ها  ۴-راحتی کار با آن و... در حال حاضر در بازار ایران میکروهای متنوعی ازجمله ۸۰۵۱ از اینتل٬ PIC از میکروچیپ تکنولوژی و AVR از شرکت ATMEL هواخواهان زیادی دارن. همچنین آمارها نشون داده که در ساخت ربات اکثرا از PIC استفاده شده (در آمریکا :)) ولی من می خوام این پروژه رو با AVR انجام بدم چون تقریبا کم هزینه (۳۵۰۰) هستش٬ هم کارایی های مناسبی داره٬ هم برنامه نویسی برا اون آسونه (هم C داره هم Basic تازه کلی هم نرم افزار Emulator, Simulator ,... داره) و تازه پروگرمر ائن بسیار ساده و کم خرجه. با این حال فکر نمی کنم نوع میکرو تفاوتی در نقشه مدار و.. بزاره بجز کد و کامپایلر میکرو که سعی می کنم مال PIC یا حتی ۸۰۵۱ رو هم در کنار AVR زمیمه کنم. پس کسایی که با AVR کار نکردن اصلا نگران نباشن.

راستی یادم رفت بگم برا این ربات از AVR مدل Atmega32 استفاده خواهم کرد (مفت ۳۵۰۰ :)) و برای آموزش برنامه نویسی اون با وجود کامپایلرهای متنوعی چون Bascom (بیسیک) و CodeVision (سی) من Bascom رو انتخاب می کنم تا تازه کارهای برنامه نویسی هم مشکلی نداشته باشن (بیسیک که دیگه کاری نداره!). فکر نمی کنم چیزی ناگفته مونده باشه! پس از جلسه بعد آموزش ساخت پروگرمر و یکم آموزش برنامه نویسی AVR ٬البته فقط در حد کار خودمون -ربات- رو خواهیم داشت. (بگو ایشالا )

یک روبات مسیر یاب آماده!

 

روبوت دنبال کننده خط سیاه:

این روبوت مدار خیلی ساده ای داره ومن اون رو با تمام فایل هایی که برای پروگرمر لازم داره براتون میذارم حتی یک اماتور هم میتونه به سادگی اون رو بسازه برای موتورها و چرخ  میتونید از موتور های ساده ماشینهای اسباب بازی استفاده کنید در این روبوت دو تا چرخ عقب توسط موتور کنترل میشه ولی چرخ جلو ازاده از چهار تا سنسور هم برای تشخیص نوار سیاه استفاده شده وقتی که سنسورها نوار سیاه رو میبینن خروجی مقایسه کننده low,lm324خواهد شد و در بقیه موارد خروجی highخواهد بود در اینجا برای درایور کردن موتورها از ای سی l293dاستفاده شده که برای کنترل سرعت و جهت موتور استفاده شده اگه نتونستید این ای سی رو توی بازار پیدا کنید پیغام بذارید تا یه مدار دیگه ای که میشه جایگزین کرد رو براتون بفرستم   

توجه:نحوه قرارگیری سنسورها خیلی مهمه

برای پروگرم کردن ۸۹۵۱احتیاج به یک پروگرمر دارید ولی فایل هگز به صورت اماده در دسترس هست امیدوارم که این روبوت رو بسازید و از ساخت اون لذت ببرید اگه در رابطه با ساخت به مشکلی بر خوردید سوال کنید من هم سعی میکنم جواب بدم       از این مدار حتی میتونید به عنوان یه پروژه دانشجویی هم استفاده کنید

فایلها رو با کلیک روی لینکهای زیر میتونید دریافت کنید

با توجه به اینکه خیلی از دوستان راجع به این روبوت سوال داشتند من این قسمت رو ویرایش کردم تا تعدادی از سوالات رو جواب بدم:

۱.در مورد مدار چاپی باید بگم زیاد احتیاج به pcbنیست چون می تونید از برد سوراخ دار استفاده کنید و نتیجه بگیرید اگر هم خواستید می تونید با پروتل طراحی کنید ولی من  pcbاین مدار رو به صورت اماده ندارم

۲.در مورد مکانیک این روبوت  همونطور که گفتم می تونید از اسباب بازی استفاده کنید

جهت اشنایی بیشتر با مکانیک اینگونه روبوت ها می تونید به سایت های زیر مراجعه کنید

چگونه یک روبوت مسیریاب بسازیم:(ایران روباتیک)

http://robotic.farsitools.com/upload/158861833_robotics.zip?PHPSESSID=3569ba0a7903ede243e14cad9164e8d8

http://www.hlachini.com/Projects/robotic/index.htm       فارسی

http://www.leang.com/robotics/info/articles/linesen/index.html     انگلیسی

۳.در مورد مدار جایگزین ای سی هم می تونید منتظر باشید تا روبوت خودم رو اپلود کنم و از درایور اون استفاده کنید و یا از سایتهایی که در این رابطه معرفی کردم استفاده کنید

robot c

robot-hex

robot-asm