سوالات مربوط به ربات مسیر یاب
بسم الله
با سلام
برای شروع یادگیری برنامه نویسی رباتیک بهمون گفتن که برنامه یه ربات رو با 7 سنسور با فرض دیجیتالی بنویسیم
خب یعنی یا صفر و یا یک میگرفت.و سرعت رو با pwm کنترل میکردیم
این هم برنامه ابتداییش:
کد:
if (PINF==0b0001000 || PINF==0b0011100 || PINF==0b1111111 || PINF==0b0111110) {PORTA=0b0101; OCR0A=255; OCR1AL=255;}
if (PINF==0b0000001) {PORTA=0b0110; OCR0A=255; OCR1AL=255;}
if (PINF==0b1000000) {PORTA=0b1001; OCR0A=255; OCR1AL=255;}
if (PINF==0b0000011 || PINF==0b0000010) {PORTA=0b0110; OCR0A=255; OCR1AL=128;}
if (PINF==0b1100000 || PINF==0b0100000) {PORTA=0b1001; OCR0A=128; OCR1AL=255;}
if (PINF==0b0000111 || PINF==0b0000100) {PORTA=0b0110; OCR0A=128; OCR1AL=128;}
if (PINF==0b1110000 || PINF==0b0010000) {PORTA=0b1001; OCR0A=128; OCR1AL=128;}
if (PINF==0b0001111 || PINF==0b0000100 || PINF==0b0000110) {PORTA=0b0110; OCR0A=128; OCR1AL=0;}
if (PINF==0b1111000 || PINF==0b0010000 || PINF==0b0110000) {PORTA=0b1001; OCR0A=0; OCR1AL=128
;}
حالا گفتن با توجه به آنالوگ بودن سنسور بنویسیم.
اولین مشکل و سوالی که پیش میاد اینجاست:
قبلا که توی پروتئوس هم مدارو رو طراحی میکردیم برای ورودی دیجیتال logic state میذاشتیم.که با زدن کلید صفر و یک میشد و موتورها با توجه به برنامه ای که نوشته بودیم چپ و راست میشدند.
حالابرای کشیدن مدار در پروتئوس واستفاده از سنسور آنالوگ باید چه المانی بذارم جاش ؟؟؟
در مورد برنامه نویسیش هم سوال دارم.فعلا این قسمتو متوجه بشم شاید بقیش حل شد....!!!
ممنون
پاسخ : سوالات مربوط به ربات مسیر یاب
پاسخ : سوالات مربوط به ربات مسیر یاب
فکر کنم باید این نکته رو هم بگم:
از پایه adc استفاده میکنیم
پاسخ : سوالات مربوط به ربات مسیر یاب
راستی وقتی برنامه رو مینویسم و ctrl+f9 رو میزنم این ارور رو میده:
Can't find atmel's assembler AVRASM2.EXE V2.1.0 or later.
البته ادامه داره.اگه نیازه بگید تا بقیشو هم بنویسم
فایل exe رو نمیسازه که بتونم بریزم رو میکرو...
1 فایل پیوست
پاسخ : سوالات مربوط به ربات مسیر یاب
نقل قول:
نوشته اصلی توسط
maedeh_r
بسم الله
با سلام
برای شروع یادگیری برنامه نویسی رباتیک بهمون گفتن که برنامه یه ربات رو با 7 سنسور با فرض دیجیتالی بنویسیم
خب یعنی یا صفر و یا یک میگرفت.و سرعت رو با pwm کنترل میکردیم
این هم برنامه ابتداییش:
کد:
if (PINF==0b0001000 || PINF==0b0011100 || PINF==0b1111111 || PINF==0b0111110) {PORTA=0b0101; OCR0A=255; OCR1AL=255;}
if (PINF==0b0000001) {PORTA=0b0110; OCR0A=255; OCR1AL=255;}
if (PINF==0b1000000) {PORTA=0b1001; OCR0A=255; OCR1AL=255;}
if (PINF==0b0000011 || PINF==0b0000010) {PORTA=0b0110; OCR0A=255; OCR1AL=128;}
if (PINF==0b1100000 || PINF==0b0100000) {PORTA=0b1001; OCR0A=128; OCR1AL=255;}
if (PINF==0b0000111 || PINF==0b0000100) {PORTA=0b0110; OCR0A=128; OCR1AL=128;}
if (PINF==0b1110000 || PINF==0b0010000) {PORTA=0b1001; OCR0A=128; OCR1AL=128;}
if (PINF==0b0001111 || PINF==0b0000100 || PINF==0b0000110) {PORTA=0b0110; OCR0A=128; OCR1AL=0;}
if (PINF==0b1111000 || PINF==0b0010000 || PINF==0b0110000) {PORTA=0b1001; OCR0A=0; OCR1AL=128
;}
حالا گفتن با توجه به آنالوگ بودن سنسور بنویسیم.
اولین مشکل و سوالی که پیش میاد اینجاست:
قبلا که توی پروتئوس هم مدارو رو طراحی میکردیم برای ورودی دیجیتال logic state میذاشتیم.که با زدن کلید صفر و یک میشد و موتورها با توجه به برنامه ای که نوشته بودیم چپ و راست میشدند.
حالابرای کشیدن مدار در پروتئوس واستفاده از سنسور آنالوگ باید چه المانی بذارم جاش ؟؟؟
در مورد برنامه نویسیش هم سوال دارم.فعلا این قسمتو متوجه بشم شاید بقیش حل شد....!!!
ممنون
خب ما یه بار درباره نحوه اتصال سنسور به میکرو صحبت کرده بودیم و توضیح کامل میدم
شما مراجعه کنید به پست شماره 11 تاپیک طرز اتصال پایه های on217
سنسورهایی که تو این رباتها استفاده میشن همشون انالوگ هستن
سنسور دیجیتال نداریم
شما خودت باید مدار مبدل انالوگ به دیجیتال رو براشون بسازی
خیلی هم مدار ساده و روتینی هست
یکی از این مدارهای معروف رو اینجا قرار میدم
هیچ فرقی هم نمیکنه که ورودیش فوتوسل یا مادون قرمز یا ...... باشه
کلا برای تبدیل انالوگ به دیجیتال خیلی عالیه
پاسخ : سوالات مربوط به ربات مسیر یاب
نقل قول:
نوشته اصلی توسط
maedeh_r
فکر کنم باید این نکته رو هم بگم:
از پایه adc استفاده میکنیم
از این مطلب استفاده نکنید راحتترید
خیلی خیلی راحت تر
چون شما با 8 تا سنسور 8 تا پایه adc رو با 8 تا عدد متغیر مشغول میکنی
که در نهایت برنامه نویسیش باید نسبت به تغییرات عددها باشه که خیلی هم سخت میشه
پاسخ : سوالات مربوط به ربات مسیر یاب
نقل قول:
نوشته اصلی توسط
maedeh_r
راستی وقتی برنامه رو مینویسم و ctrl+f9 رو میزنم این ارور رو میده:
Can't find atmel's assembler AVRASM2.EXE V2.1.0 or later.
البته ادامه داره.اگه نیازه بگید تا بقیشو هم بنویسم
فایل exe رو نمیسازه که بتونم بریزم رو میکرو...
احتمالا نصب برنامه کامل انجام نشده
میتونی از ورژن های دیگه استفاده کنی
منظورت از فایلexe چیه؟
منظورت hex هست؟
این دیگه مشکل نرم افزاره
پاک کن محدد نصب کن از ورژنهای دیگه استفاده کن
تا جواب بگیری
پاسخ : سوالات مربوط به ربات مسیر یاب
قابل توجه دوستان عزیز
درباره سنسورهای معمول قابل استفاده در رباتهای مسیر یاب
و نحوه اتصال اونها به میکرو سوال و جواب مفیدی انجام شده
که شما میتونید از طریق ادرس پایین مطالب رو مطالعه و استفاده کنید
طرز اتصال پایه های on2179
پاسخ : سوالات مربوط به ربات مسیر یاب
ممنون از جوابتون
اما من منظورم چگونگی وصل کردنش نبود.
میگم اصلا چی باید وصل کنم؟؟
خود سنسور رو باید سرچ کنم؟؟؟(که نیست.پس چی؟)
مثل عکس قبلی که گذاشتم.برای آزمایش برنامه اولیم(حالت دیجیتال)از logic state استفاده کردیم.حالا برای این چی باید بذارم؟؟؟
-----------------
متاسفانه فعلا باید با حرف استاد پیش بریم.گفتن با adc.ما هم باید از همین راه بریم.(الان فقط برنامه نویسیشو میخواد)
-----------------------------
نقل قول:
احتمالا نصب برنامه کامل انجام نشده
میتونی از ورژن های دیگه استفاده کنی
منظورت از فایلexe چیه؟
منظورت hex هست؟
این دیگه مشکل نرم افزاره
پاک کن محدد نصب کن از ورژنهای دیگه استفاده کن
تا جواب بگیری
اینجا دیگه واقعا شک کردم به خودم...
آره.منظورم همون بود.
تا حالا ازش استفاده میکردم.یهو خراب شد؟؟؟؟
میترسم پاک کنم و نتونم دوباره نصبش کنم
عجب گیری افتادم ها!!!!!!!
------------------
ممنون
پاسخ : سوالات مربوط به ربات مسیر یاب
خب شما چیزی نمیتونی پیدا کنی و وصل کنی
این نرم افزار انقدرا هم قوی نیست
حالا صرفا برای تست میتونی از pot استفاده کنی
اونم از نوع lin
یعنی یه پتاسیومتر خطی
Pot -Lin
---------
هر اتفاقی ممکنه واسه همه چی بیوفته
خیلی تعجب نکن