ايران ويج

نسخه‌ی کامل: برنامه نویسی ربات مسیر یاب
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
یک سوال دیگر:
If Pina.7 = 0 Then
Pwm1a = 1000
Pwm1b = 1000
Reset M1
Reset M2
Elseif Pinc.7 = 0 Then
این یعنی اگر یکی از سنسورها صفرشد دو موتور حرکت کنند؟
(پس باقی سنسورهاچی؟)
ببین رنگ مشکی بازتاب نداره.درسته؟
ولی رنگ سفید بازتاب داره.درسته؟
ما با این ویژگی میتونیم متوجه شیم که ربات رو خط های مشکی هست یا نه.
به این صورت که مادون قرمز ها که نور رو میفرستن اگه خط مشکی باشه که هیچی دیگه بر نمیگرده و در نتیجه خروجیش 0 میشه.
پس ما تو برنامه واسش تعریف میکنیم که هر موقع فلان پایه از میکرو که به سنسور ها وصله 0 شد پس بدون که رو خط مشکیه و باید اونو دنبال کنی.حالا بستگی داره کدوم سنسور رو خط باشه دیگه.اگه سنسور های جلو باشه پس جفت موتور باید در جهت هم حرکت کنند.و اگه سنسور های سمت راست رو خط بودن سرعت موتور سمت راست کم میشه و سرعت موتور سمت چپ زیاد میشه.اگه هم اون سنسور های آخر در گوشه ها دیدن که موتور ها خلاف جهت هم میچرخند.و بلعکس.
حله؟
(۱۲-اسفند-۱۳۹۱, ۲۲:۵۴:۱۹)salehjg نوشته است: [ -> ]سلام
ببخشید وسط بحث پریدم...

میگم بجای opamp نمیشه از adc میکرو استفاده کرد؟
کسی تجربه ای داره؟
مثلا با بافر آنالوگ این سنسور ها رو که تعدادشون از تعداد کانال های adc بیشتره.. اسکن کنیم.


سرعت خیلی پایین میاد؟
سلام
امتحان کردم
سرعت خیلی پایین میاد(تو avr و حالت 10 بیت)
همون آپ امپ بذاری بهتره
سلام
وقتي ربات داره خط مشكي در زمينه سفيد دنبال ميكنه و در قسمتي از مسير بايد خط سفيد در زمينه مشكي دنبال كنه بايد سنسور خاصي براي اين قسمت گذاشت يا برنامه اي كه براي سنسور ها در تعقيب خط مشكي نوشته شده به صورت دستور شرطي بر عكس نوشت ؟؟؟
سلام.
حداقل 2تا سنسور در دو گوشه ي روبات مي ذاريد به قصد روبرو شدنش با زمينه ، نه خط.
در زمين سفيد مقدار AND هر 2 مثلا 0 هست و براي زمين سياه 1

حالا بسته به خلاقيت مي توني روش بسازي.
يكيش همون موردي هست كه خوردتون گفتيد ، 2تا برنامه جدا بنويسيد كه دستورات شرطيش عكس هم باشن و شرط كليشون همون رنگ زمين.

كار ديگه اي كه مي تونيد انجام بديد اينه كه كل ورودي ها رو NOT كنيد ، چه زماني؟ وقتي متوجه شديد وارد زمين مخالف شديد.
چطور متوجه مي شيد؟ از طريق همون 2تا سنسوري كه قبل تر گفته بودم.
مزيتش اينه كه 2تا كد جدا و عكس هم نمي خواد ، با يك كد اين كار رو مي كنيد. منابع ريجستر هم كمتر مصرف مي شه.

بازم فكر كنيد مي تونيد روش هاي ديگري هم بسازيد ...

موفق باشيد.
ممنون از پاسخ مفيدتون
ميشه درموردnot بيشتر توضيح بديد ؟؟
الان مثلا اون دوتا سنسور كه گفتيد با هم andكردم و خروجي يك شد
حالا بايد خروجي andبه ميكرو كنترل وصل بشه ديگه؟؟
كد بايد چي بنويسم در زبانc ميكرو كنترل avr ??
صفحه‌ها: 1 2