امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
برنامه ربات مسیریاب
نویسنده پیام
skh1300 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 139
موضوع‌ها: 25
تاریخ عضویت: دى ۱۳۸۷

تشکرها : 86
( 154 تشکر در 72 ارسال )
ارسال: #1
برنامه ربات مسیریاب
سلام من چهار شنبه همین هفته مسابقه داریم میخواستم از اساتید خواهش کنم یه نگاه به این برنامه بندازن ببینم میشه سرعت پردازش را بالا آورد و سرعت ربات رو بهتر کرد.
توضیحات :
عکس سنسور ها ضمیمه شده (8 سنسور که به صورت هشتی بسته شده)
این از برنامه
کد php:
$regfile "m32def.dat"
$crystal 12000000
Config Porta 
Input                                        'PORT A IS  Input  ==  PinA
Config Portb = Output
Declare Sub Forward()
Declare Sub Move_left()
Declare Sub Move_right()
Declare Sub Back()
Dim S0 As Bit
Dim S1 As Bit
Dim S2 As Bit
Dim S3 As Bit
Dim S4 As Bit
Dim S5 As Bit
Dim S6 As Bit
Dim S7 As Bit

S0 Alias Pina.0                                             '
sensor0
S1 Alias Pina.1                                             
'sensor1
S2 Alias Pina.2
S3 Alias Pina.3
S4 Alias Pina.4
S5 Alias Pina.5
S6 Alias Pina.6
S7 Alias Pina.7


Do
New_period:

If S0 = 0 And S7 = 0 Then Goto White_line

  While S3 = 0 And S4 = 0
   Call Forward()
  Wend

  While S3 = 0 And S4 = 1
   Call Forward()
  Wend

  While S0 = 1 And S1 = 1 And S2 = 1 And S3 = 0 And S4 = 1 And S5 = 1 And S6 = 1 And S7 = 1
   Call Forward()
  Wend

  While S0 = 1 And S1 = 1 And S2 = 1 And S3 = 1 And S4 = 0 And S5 = 1 And S6 = 1 And S7 = 1
   Call Forward()
  Wend


If S0 = 1 And S1 = 1 And S2 = 1 And S3 = 1 Then Goto Right_motor
If S5 = 1 And S6 = 1 And S7 = 1 And S3 = 1 Then Goto Left_motor
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Left_motor:

  While 
S0 And S1 And S2 And S4 0
   Call Move_left
()
  
Wend

  
While S0 And S1 And S2 And S4 0
   Call Move_left
()
  
Wend

  
While S0 And S1 And S2 And S4 0
   Call Move_left
()
  
Wend

  
While S0 And S1 And S2 And S4 0
   Call Move_left
()
  
Wend

  
While S0 And S1 And S2 And S4 0
   Call Move_left
()
  
Wend

  
While S0 And S1 And S2 And S4 0
          Portb.7 
0
          Portb.6 
1
          Portb.5 
0
          Portb.4 
1
          Portb.3 
1
          Portb.2 
0
          Portb.1 
1
          Portb.0 
1


  Wend

  
While S0 And S1 And S2 And S4 0
   Call Move_left
()
  
Wend

  
While S0 And S1 And S2 And S4 1
   Call Move_left
()
  
Wend
  
'''''


  While S0 = 1 And S1 = 0 And S2 = 1 And S4 = 1
   Call Move_left()
  Wend

  While S0 = 1 And S1 = 1 And S2 = 0 And S4 = 1
   Call Move_left()
  Wend

  While S0 = 1 And S1 = 0 And S2 = 0 And S4 = 1
   Call Move_left()
  Wend

  While S0 = 0 And S1 = 1 And S2 = 0 And S4 = 1
   Call Move_left()
  Wend

  While S0 = 0 And S1 = 0 And S2 = 1 And S4 = 1
   Call Move_left()
  Wend

  While S0 = 0 And S1 = 0 And S2 = 0 And S4 = 1
   Call Move_left()
  Wend
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Right_motor:

  While 
S4 And S5 And S6 And S7 0
   Call Move_right
()
  
Wend

  
While S4 And S5 And S6 And S7 1
   Call Move_right
()
  
Wend

  
While S4 And S5 And S6 And S7 1
   Call Move_right
()
  
Wend

  
While S4 And S5 And S6 And S7 1
   Call Move_right
()
  
Wend

  
While S4 And S5 And S6 And S7 0
   Call Move_right
()
  
Wend

  
While S4 And S5 And S6 And S7 0
          Portb.7 
1
          Portb.6 
0
          Portb.5 
1
          Portb.4 
0
          Portb.3 
0
          Portb.2 
1
          Portb.1 
1
          Portb.0 
1
  Wend

  
While S4 And S5 And S6 And S7 0
   Call Move_right
()
  
Wend
  
''''''''''''''''''''''''''
  
While S4 And S5 And S6 And S7 0
   Call Move_right
()
  
Wend

  
While S4 And S5 And S6 And S7 1
   Call Move_right
()
  
Wend

  
While S4 And S5 And S6 And S7 1
   Call Move_right
()
  
Wend

  
While S4 And S5 And S6 And S7 1
   Call Move_right
()
  
Wend

  
While S4 And S5 And S6 And S7 0
   Call Move_right
()
  
Wend

  
While S4 And S5 And S6 And S7 0
   Call Move_right
()
  
Wend

  
While S4 And S5 And S6 And S7 0
   Call Move_right
()
  
Wend


Loop
White_line
:
Do
If 
S0 And S7 1 Then Goto New_period
   
While S3 1
          Portb.7 
1
          Portb.6 
1
          Portb.5 
1
          Portb.4 
0
          Portb.3 
1
          Portb.2 
0
          Portb.1 
1
          Portb.0 
1
   Wend

   
While S3 And S4 1
          Portb.7 
1
          Portb.6 
1
          Portb.5 
1
          Portb.4 
0
          Portb.3 
1
          Portb.2 
0
          Portb.1 
1
          Portb.0 
1
   Wend

    
If S0 And S1 And S2 And S5 And S6 And S7 0 Then

      
While S3 And S4 0
          Call Back
()
      
Wend
          Portb.7 
1
          Portb.6 
1
          Portb.5 
1
          Portb.4 
0
          Portb.3 
1
          Portb.2 
0
          Portb.1 
1
          Portb.0 
1
      
Goto New_period

  End 
If

  While 
S5 And S6 And S7 0
         
While S3 0
          Portb.7 
1
          Portb.6 
0
          Portb.5 
0
          Portb.4 
0
          Portb.3 
1
          Portb.2 
0
          Portb.1 
1
          Portb.0 
1
         Wend
  Wend

  
While S0 And S1 And S2 0
        
While S3 0
          Portb.7 
1
          Portb.6 
0
          Portb.5 
1
          Portb.4 
0
          Portb.3 
0
          Portb.2 
0
          Portb.1 
1
          Portb.0 
1
        Wend
  Wend

Loop



Sub Forward
()
While 
S3 0
          Portb.7 
1
          Portb.6 
1
          Portb.5 
1
          Portb.4 
0
          Portb.3 
1
          Portb.2 
0
          Portb.1 
1
          Portb.0 
1
 Wend
End Sub

Sub Back
()
          
Portb.7 0
          Portb.6 
0
          Portb.5 
0
          Portb.4 
1
          Portb.3 
0
          Portb.2 
1
          Portb.1 
1
          Portb.0 
1
End Sub

Sub Move_left
()

   While 
S3 1
          Portb.7 
0
          Portb.6 
1
          Portb.5 
0
          Portb.4 
0
          Portb.3 
1
          Portb.2 
0
          Portb.1 
1
          Portb.0 
1
    Wend

End Sub

Sub Move_right
()
  While 
S3 1
          Portb.7 
1
          Portb.6 
0
          Portb.5 
1
          Portb.4 
0
          Portb.3 
0
          Portb.2 
0
          Portb.1 
1
          Portb.0 
1
  Wend
End Sub 

از دوستان خواهش میکنم که نگاهی بندارن شاید برنامه کمتر بشه و سرعت پردازش بالاتر بره.
تشکر


فایل‌(های) پیوست شده بندانگشتی (ها)
   

هر چیزی یه زکاتی هم داره زکات یادگرفتن یاد دادن....
WWW.FREEOCX.BLOGFA.COM
(آخرین ویرایش در این ارسال: ۱۳-اسفند-۱۳۸۹, ۱۹:۱۵:۴۷، توسط skh1300.)
۱۳-اسفند-۱۳۸۹, ۱۳:۲۹:۰۵
ارسال‌ها
پاسخ
skh1300 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 139
موضوع‌ها: 25
تاریخ عضویت: دى ۱۳۸۷

تشکرها : 86
( 154 تشکر در 72 ارسال )
ارسال: #2
RE: برنامه ربات مسیریاب
کسی نظری نداره.از اساتید خواهش میکنم کمک کنید.

هر چیزی یه زکاتی هم داره زکات یادگرفتن یاد دادن....
WWW.FREEOCX.BLOGFA.COM
۱۳-اسفند-۱۳۸۹, ۱۹:۱۳:۵۲
ارسال‌ها
پاسخ
saba987 آفلاین
تازه وارد

ارسال‌ها: 7
موضوع‌ها: 2
تاریخ عضویت: تير ۱۳۹۰

تشکرها : 6
( 2 تشکر در 1 ارسال )
ارسال: #3
RE: برنامه ربات مسیریاب
tفکر میکنم اگه 0یا1 بودن سنسور ها رو پشت سر هم بزاری مثلابراش تعریف کنی اگه حالت سنسورا این شکلی شد00000011 goto rast بعد بیای راست رو تعریف کنی حلقه do وloop رو هم کلی بزاری بهتره
۰۴-شهریور-۱۳۹۰, ۲۲:۴۹:۲۵
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  موقعیت ربات در زمین دارای ابعاد مشخص farshad1195 8 3,972 ۱۰-مرداد-۱۳۹۴, ۲۲:۵۶:۱۸
آخرین ارسال: farshad1195
Wink یادگیری زبان انگلیسی با ربات انسان نمای دانشگاه شریف! ROBOTICS 12 9,839 ۲۴-آبان-۱۳۹۳, ۱۳:۱۳:۵۱
آخرین ارسال: omid_phoenix
  [فوری] حرکت قبلی در مسیریاب Amir_Esh 1 2,091 ۲۵-شهریور-۱۳۹۳, ۰۰:۰۳:۰۰
آخرین ارسال: modj.ir
  مشکل در برنامه ی ربات مسیریاب rekima 15 9,490 ۲۲-شهریور-۱۳۹۳, ۱۶:۵۷:۱۹
آخرین ارسال: Amir_Esh
Question [سوال] برنامه ربات مسير ياب5سنسوره se2010 18 14,635 ۲۰-شهریور-۱۳۹۳, ۱۱:۳۷:۴۲
آخرین ارسال: s.h.h
  [پروژه] کمک در برنامه ربات ميکروموس با 3 سنسور التراسونيک elnino99 3 4,058 ۲۸-تير-۱۳۹۳, ۱۴:۵۴:۳۲
آخرین ارسال: behzady
  کالیبره کردن سنسور مادون قرمز برای ربات تعقیب خط invmechrobonic 0 2,514 ۲۳-تير-۱۳۹۳, ۱۹:۵۵:۳۱
آخرین ارسال: invmechrobonic
  خريد ربات آدم نما hamid67fathi 3 9,825 ۰۸-اسفند-۱۳۹۲, ۱۶:۰۰:۲۲
آخرین ارسال: mahan_0766
  مدار فلزیاب برای ربات مین یاب omid_phoenix 14 18,576 ۱۱-آذر-۱۳۹۲, ۲۰:۳۲:۵۹
آخرین ارسال: a.mehran
  ربات انسان نما سورنا 3 ROBOTICS 3 4,801 ۳۱-شهریور-۱۳۹۲, ۱۶:۲۶:۴۲
آخرین ارسال: ROBOTICS

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS