ايران ويج

نسخه‌ی کامل: برنامه نویسی ربات مسیر یاب
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام
دوستان کسی هست یک نمونه برنامه مسیریاب16سنسورهه به زبان بسکام قراربده؟
(من تازه برنامه نویسی رابه زبان بسکام کمی یادگرفتم می خوام طرز نوشتنش را ببینم)WinkRolleyesAmazeShy
نقل قول: سلام
دوستان کسی هست یک نمونه برنامه مسیریاب16سنسورهه به زبان بسکام قراربده؟
(من تازه برنامه نویسی رابه زبان بسکام کمی یادگرفتم می خوام طرز نوشتنش را ببینم)
سلام عزیزم
خواهش میکنم یه سرچ تو همین سایت بزن قبل ایجاد تاپیکBiggrin
هزاران برنامه مسیر یاب قبلا نوشته شده
آره عزیز چرا نشه؟
کد:
$regfile = "m64def.dat"
$crystal = 8000000

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.3 , Db5 = Portd.2 , Db6 = Portd.1 , Db7 = Portd.0 , E = Portd.4 , Rs = Portd.5

Cls
Lcd "SAMA Robot"
Waitms 500
Cls

Config Porta = Input
Config Portc = Input

Config Pinb.4 = Output
Config Pinb.7 = Output

Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 8
M1 Alias Portb.4
M2 Alias Portb.7

Do

If Pina.7 = 0 Then
Pwm1a = 1000
Pwm1b = 1000
Reset M1
Reset M2
Elseif Pinc.7 = 0 Then
Pwm1a = 1000
Pwm1b = 1000
Reset M1
Reset M2
Elseif Pina.6 = 0 Then
Pwm1a = 800
Pwm1b = 1000
Reset M1
Reset M2
Elseif Pinc.6 = 0 Then
Pwm1a = 1000
Pwm1b = 800
Reset M1
Reset M2
Elseif Pina.5 = 0 Then
Pwm1a = 600
Pwm1b = 1000
Reset M1
Reset M2
Elseif Pinc.5 = 0 Then
Pwm1a = 1000
Pwm1b = 600
Reset M1
Reset M2
Elseif Pina.4 = 0 Then
Pwm1a = 400
Pwm1b = 1000
Reset M1
Reset M2
Elseif Pinc.4 = 0 Then
Pwm1a = 1000
Pwm1b = 400
Reset M1
Reset M2
Elseif Pina.3 = 0 Then
Pwm1a = 0
Pwm1b = 1000
Reset M1
Reset M2
Elseif Pinc.3 = 0 Then
Pwm1a = 1000
Pwm1b = 0
Reset M1
Reset M2

Elseif Pina.2 = 0 Then
Pwm1a = 500
Pwm1b = 1000
Set M1
Reset M2
Elseif Pinc.2 = 0 Then
Pwm1a = 1000
Pwm1b = 500
Reset M1
Set M2
Elseif Pina.1 = 0 Then
Pwm1a = 300
Pwm1b = 1000
Set M1
Reset M2
Elseif Pinc.1 = 0 Then
Pwm1a = 1000
Pwm1b = 300
Reset M1
Set M2
Elseif Pina.0 = 0 Then
Pwm1a = 0
Pwm1b = 1000
Set M1
Reset M2
Elseif Pinc.0 = 0 Then
Pwm1a = 1000
Pwm1b = 0
Reset M1
Set M2
End If

Loop

End                                                         'end program
ممنون
یک سوال lcdدر اینجا به چه دردی میخورد؟
نقل قول: ممنون
می شه بگین lcdدر اینجا به چه دردی میخورد؟
اون رباته سما که ایشون برنامشو گزاشته رو خودش ساخته این برنامه ام برنامه کاملش نیستBiggrinاحتمالا تو بقیه قسمتا ازش استفاده شده
تو این برنامه تنها کاربردش اینه که وقتی روباته روشن میکنید مینویسه سما روبات
میتونید حذفش کنید
آره دلیلش همینه که دوستون لطف کرد و گفت.
سلام
ببخشید وسط بحث پریدم...

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


سرعت خیلی پایین میاد؟
برنامه ای که ایشون قراردادند کجاش ناقصه؟ConfusedAmaze
نقل قول: سلام
ببخشید وسط بحث پریدم...

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


سرعت خیلی پایین میاد؟
من خودم این کارو نکردم ولی علی تیریپ قدیم با 4051 این کارو کرده بود گویا
(۱۳-شهریور-۱۳۸۸, ۱۶:۰۱:۱۴)t3r!p3000 نوشته است: [ -> ]واسه مسابقات تبریز 88 با این رفتیم !
( مسیریاب )

[تصویر:  IMG_4855.JPG]

[تصویر:  robot.jpg]


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

نکته جالب من طریقه خوندن سنسورها بودش !!
منبع: http://forum.iranled.com/showthread.php?...6#pid95126

ورودی آنالوگ میکرو هفت تاش رو مستقیم یه 7 تا سنسور مهم وصل کردم !
ورودی هشتم رو دادم به مشترک 4051 !
و ورودی های 4051 هم به خروجی دیگر سنسور ها وصل می شدن !
سه پایه کنترلی 4051 هم به میکرو وصل بود و میکرو تعیین می کرد کدوم ورودی رو بخونه !

و من تک تک ورودی ها رو می خوندم و اگه ولتاژون از حدی بیشتر بود به عنوان یک و در غیر اینصورت صفر در نظر می گیرفتم !

این حد ولتاژ دو حالت داشت که با دیپ سوئیچ تنظیم می شد !
1- از مقادیر داخلی تعریف شده استفاده کنه !
2- با تنظیماتی که انجام دادیم استفاده کنه !

همونطور که دیدن من 4 تا دیپ سوئیچ گذاشتم :
1- مد تنظیم سنسور یا مد حرکت
2- خواندن سنسور با مقادیر داخلی یا تعریف شده !
3- سرعت کم یا بالا!
4- بیزر روشن یا خاموش !
تنظیم هم به این صورت بود :

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

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

البته کلید سوم هم برای اتصال به کامپیوتر و تنظیم از طریق هایپر ترمینال و نشان دادن مقادیر بودش که از بحث ما دوره !

تمام مقادیر در ٍ EEPROM ذخیره می شدن تا با روشن و خاموش کردن نیاز به تنظیم مجدد نباشه !

نقل قول: برنامه ای که ایشون قراردادند کجاش ناقصه؟
قسمت مسیریابش کامله
یعنی چی قسمت مسیریابش کامله؟
دیگه چه قسمت هایی داره؟
نقل قول: یعنی چی قسمت مسیریابش کامله؟
دیگه چه قسمت هایی داره؟
ببین این برنامه ماله قسمت مسیر یاب ربات امدادگر پیشرفته ی الف پارسال سما بود .
این ربات تلفیقی از چند رباته.یکی از قسمت هاش مسیر یابیه.
این برنامه ماله اون قسمت مسیر یابیشه فقط.
صفحه‌ها: 1 2