انجمن های تخصصی الکترونیک و رباتیک تکنوالکترو

نسخه‌ی کامل: ساخت ربات حل ماز
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4 5 6 7 8 9 10
(23-1-1391، 04:34 عصر)ATmega نوشته است: [ -> ]من یه ایده جالب دارم:
بجای استفاده از چند سنسور مادون قرمز از یه ماژول ultrasonic استفاده کنید و
ماژول رو بوسیله موتور پله ای دائما" به اطراف بچرخونید و فاصله ها رو ذخیره کنید.
این طوری هم به صرفه تره هم دقیق تر.At

شرمنده ولی مثل اینکه دارم گل لگد می کنمWinkSleepy
مگه ایده ی بدیه؟!Sad
اینجا رو داش attmega بخون.

نقل قول:
توجه
توجه

دوستان مثل اینکه نمی خواد بحث کنید مدام تا میاد بحث پا بگیره یه سوال خارج از بحث باعث میشه که بحث از موضوعی که داریم پیش میریم رو به حاشیه ببره بهتره که از این به بعد وقتی مثلا بحث برنامه نویسی شروع میشه دیگه بحث خارج از اون نکنیم و اگه اطلاعاتی راجع به اون بحث نداریم منتظر بمونیم تا اون بحث تموم بشه و اگه سوالی دارید رو منتظر بمونید تا در همون بحث مطرح کنید من به طور کلی روبات رو به 4 بخش تقسیم می کنم
1- بحث راجع به برنامه نویسی و منطق های برنامه نویسی

2- بحث راجع به سخت افزار مثل بدنه و شاستی روبات و موتور ها

3- بحث راجع به سنسور ها و نحوه ی قرار دادن اون ها و ابعاد روبات

4-بحث راجع به اشکالات روبات و مشکلات روبات و هر آنچه که راجع به اون بحث نشده

پس الان شروع می کنیم به صحبت کردن و بحث کردن راجع به برنامه نویسی خواهشا تاپیکی به غیر از این مبحث نزنید

دوستان چون می خواهیم شروع کنیم به برنامه نویسی ربات نیاز داریم تا محلی که قرار سنسور ها به میکرو وصل بشه و همچنین موتور ها رو توی عکس زیر گذاشتم به امید خدا می ریم تا برنامه رو شروع کنیم توی عکس زیر فعلا به درایو موتور و را اندازی سنسور ها و یا نوع اون ها کار نداریم فقط می خواهیم محلش معلوم باشه




این فایل رو دانلود کنید یه فیلم توش هست و یه نرم افزار شبیه سازی ربات حل ماز و یه چندتا مقاله راجع به این روبات ها

دانلود
درود
مرسی دوست خوبم- عالی بود(فایل رو میگم)
حالا باید چجوری برنامه بنویسیم واسش.؟از کجا شروع کنیم.؟(کاش دوستان برنامه نویس کمک میکردند و در بحث شرکت میکردند)
(23-1-1391، 11:17 عصر)mohsen274 نوشته است: [ -> ]حالا باید چجوری برنامه بنویسیم واسش.؟از کجا شروع کنیم.؟(

فکر کنم از تابع ها و دستور if باید استفاده شه .
اون چندتا جزوه ای که گذاشتم رو یه بار خوندم یه چیز هایی دستگیرم شد و اون اینکه ما باید یه جدول که توی pdf هست رو توی میکرو درست کنیم که مرکز خانه عدد 0 و از اطراف یکی بهش اضافه کنیم در ضمن یه جدول دیگه هم می خواهیم تا دیواره ها رو توش مشخص کنیم اما نکته ای که برای من مبهم بود نحوه ی پر کردن جدول است خوب از کجا بفهمیم که کجای جدول هستیم توی خانههای ماز که جدول بندی نیست کسی چیزی می دونه
درود
دوست خوبم اتفاقاً خانه های ماز جدول بندی هستش و به صورت ماتریس 16*16 هست.
اندازه هر خانه در قوانین مشخص میشه
ما فرض میکنیم که ابعاد هر خانه 25*25 سانتی متر باشه
و اینکه الان تو کدام خانه هستیم از طریق شمارش تعداد پالس های ارسالی به موتور پله ای بدست میاد.

(من متاسفانه توانایی برنامه نویسی رو ندارم اما الگوریتم این ربات رو تا حدی میدونم و سخت افزار رو کاملاً مسلط هستم.)
خیلی نفهمیدم چی گفتی یه کم واضح تر بگو
ببخشید منظورم آرایه دو بعدی بود!اینطوریه که ماز رو مانند یک دستگاه مختصاتی در نظر می گیریم و هر خانه دارای xو y است.با آرایه ی دو بعدی می توان x و y رو شبیه سازی کرد و مثلا" اگر خانه ای با طول 4 و عرض 5دارای وضعیت "خالی" است یعنی این خانه قبلا" توسط ربات تست شده و خالی بوده و به جایی منتهی نمی شود.
کد:
#define MAZE_WAY   0x01
#define UNKNOWN    0x00
#define EMPTY_ROOM 0x02

unsigned char i=0, j=0;
unsigned char room[16][16], maze_way[20][20];
//              x   y           x   y

for(j=0; j<16; j++)
for(i=0; i<16; i++)
room[i][j] = UNKNOWN;

if(....)
room[...][...] = EMPTY_ROOM;
صفحه‌ها: 1 2 3 4 5 6 7 8 9 10