سلام ممنون ! خیلی ازمطلب نویز گیزی استفاده کردم
من دانشجوی نرمافزار هستم الان هم دارم ربات مسیریاب میسازم فقط نمی دونم واسه ی برنامه نویسی ربات 10 سنسوره باید از چه الگوریتمی استفاده کنم که هم کمترین حجم داشته باشه وهم بهترین کارایی !
به نظر شما باید چند تا حالت توی برنامه بررسی بشه ؟
میتونین یه نمونه برنامه ی ربات مسیر یاب برام ایمیل کنین با چیدمان سنسورش!
ممنون!
ممنون بابت راهنماییتون !
گفتم که تو برنامه نویسی مشکل ندارم !
فقط میخوام یه برنامه ربات مسیریاب که کامله رو ببینم !
میدونید نوشتن 1024 حالت که حالا 500 تاش رو هم حذف کنیم چه قدر میشه!
واقعا بهش نیاز دارم ممنون !
سلامممممممممممممممم!
احتیاج هست که واسه ی هر سنسور از یک مولتی ترن استفاده کنیم یا یکی کفایت میکنه ؟
مهندس بهتره که واسه هر کدوم یه مولتی ترن بذاری !!!
یکی هم کفایت می کنه ولی توصیه نمی شه !
نه مهندس
شما بیست حالت کلی رو بنویسی کفایت می کنه !!!
مثلا اگر سنسورهای وسط یک بودن برو جلو
اگه کناری ها یک بودن بسته به جای خط دور بزن ( البته دورها ممکنه واسه هر سنسور فرق کنه ) و همین !!!
که اونم تو سرعت موتورهای چپ و راست هستش که فرق می کنه تو دور زدن و یا برعکس چرخیدن یه موتور !!!
این قسمتی از یکی از بزنامه های منه که خوب می بینی تعداد حالات تعریف شده چقدر کمه :
کد php:
Do
Gosub Get_sir
Test_nat:
' 109876543210
If Sir = &B000000000011 Then Goto Mostaghim3
If Sir = &B000000001111 Then Goto Mostaghim2
' 109876543210
If Sir = &B000000000111 Then Goto Rast1
If Sir = &B000000001011 Then Goto Chap1
If Sir = &B000000000110 Then Goto Rast1
If Sir = &B000000001010 Then Goto Chap1
' 109876543210
If Sir = &B000000000100 Then Goto Rast2
If Sir = &B000000001000 Then Goto Chap2
If Sir = &B000001000100 Then Goto Rast2
If Sir = &B001000001000 Then Goto Chap2
' 109876543210
If Sir = &B000000010100 Then Goto Rast2
If Sir = &B000000101000 Then Goto Chap2
If Sir = &B000001010100 Then Goto Rast2
If Sir = &B001000101000 Then Goto Chap2
' 109876543210
If Sir = &B000001000000 Then Goto Rast3
If Sir = &B001000000000 Then Goto Chap3
If Sir = &B000001010000 Then Goto Rast3
If Sir = &B001000100000 Then Goto Chap3
' 109876543210
If Sir = &B000011000000 Then Goto Rast3
If Sir = &B011000000000 Then Goto Chap3
If Sir = &B000011010000 Then Goto Rast3
If Sir = &B011000100000 Then Goto Chap3
' 109876543210
If Sir = &B000010000000 Then Goto Rast4
If Sir = &B010000000000 Then Goto Chap4
If Sir = &B000110000000 Then Goto Rast4
If Sir = &B110000000000 Then Goto Chap4
' 109876543210 IN NOT
If Sir = &B000000110011 Then Goto Mostaghim2
If Sir = &B000000110010 Then Goto Mostaghim2
If Sir = &B000000111111 Then Goto Mostaghim2
If Sir = &B000000111110 Then Goto Mostaghim2
' 109876543210
If Sir = &B000000110110 Then Goto Rast1
If Sir = &B000000111010 Then Goto Chap1
If Sir.6 = 1 Or Sir.7 = 1 Or Sir.8 = 1 Then :
If Sir.0 = 0 And Sir.1 = 0 And Sir.2 = 0 And Sir.3 = 0 And Sir.5 = 0 And Sir.9 = 0 And Sir.10 = 0 And Sir.11 = 0 Then :
Goto Rast4
End If
End If
If Sir.9 = 1 Or Sir.10 = 1 Or Sir.11 = 1 Then :
If Sir.0 = 0 And Sir.1 = 0 And Sir.2 = 0 And Sir.3 = 0 And Sir.4 = 0 And Sir.6 = 0 And Sir.7 = 0 And Sir.8 = 0 Then :
Goto Chap4
End If
End If
If Sir.0 = 1 Then :
If Sir.1 = 1 Or Sir.2 = 1 Or Sir.3 = 1 Then :
If Sir.5 = 0 And Sir.10 = 0 And Sir.11 = 0 Then :
If Sir.4 = 1 Or Sir.7 = 1 Or Sir.8 = 1 Then :
Goto Mostaghim2
End If
End If
If Sir.4 = 0 And Sir.7 = 0 And Sir.8 = 0 Then :
If Sir.5 = 1 Or Sir.10 = 1 Or Sir.11 = 1 Then :
Goto Mostaghim2
End If
End If
If Sir.5 = Sir.4 And Sir.6 = Sir.9 And Sir.7 = Sir.10 And Sir.8 = Sir.11 Then :
Goto Mostaghim2
End If
End If
End If
'===============================================================================
If Nat = 0 And Sir.4 = 1 And Sir.5 = 1 Then :
Nat = 1 : Sir = Not Sir : Goto Test_nat
Else :
Nat = 0 : Goto Star
End If
Loop
و اینم مدل جایگذاری سنسورهام :
راستی اگه سنسور ها خاموش باشه بهترین حالت حرکت ربات چی میتونه باشه؟
اقا ما گیر این یه صفحه ایم دیگه !!!!!!!!!!!!!
سه حالت بیشتر نداره :
1- ربات اخرین کاری که می کرده رو انجام بده !
2- بره مستقیم
3- توقف کنه
گزینه اول پیشنهاد می شه !
میشه نمونه این گزینه ی اول رو هم داشته باشم !
شرمندمون میکنی !!!!!!!!!!!!!!!!!!!!!!!!!!!!
واقعا بابت سایت جالبتون ممنون ! اولین باریه که این همه فعالیت می بینم !
امید وارم همیشه موفق سربلند باشید !
خوب مهندس اگه واسه اون قسمت ( یعنی صفر بودن همه سنسورها ) حالتی تو برنامه تعریف نکنی خوب میکرو اخرین کار انجام شدشو ادامه میده و شما لازم نیست کاری کنی !!!
تو برنامه منم همینطوریه که خوب بسکام هستش و به نظر میاد شما با بسکام کار نمی کنید ( که اشتباه بزرگی می کنید )
شما تو برنامه حالات اصلی رو بنویس و تا جایی که می تونی حالات اصلی رو در نظر بگیر و واسه بقیه حالت ها نمی خواد کاری کنی !!!
کدویژن کارامون الان خوابن و گرنه میومدن نمونه می ذاشتن !
ممنون !
سلام
دوست عزيز اگر برنامت بزاري خيلي بهتر ميشه به ت كمك كنيم .
من خودم با سي كار ميكنم ببخشيد اقاي مدير جان
.
روش هاي متفاوتي براي خوندن سنسورا است كه مزيت ومعايب خودشون دارن
1-سنسوررارو يك باره بخوني بعد شرتاتو جك ميكنم
يا به سنسوررا ارزش بدي اين طوري شرتا ت خيلي خيلي كم مي شه مثلا 90 مي شه يك شرط
يا اينكه معمولي براي هر حالتي شرطش بنويسي فقط برنامت سنگين ميشه