ايران ويج

نسخه‌ی کامل: درخواست برنامه ربات مسیریاب به زبان بیسیک
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
درخواست فوري كمك:برنامه ي نوشته شده ي بيسيك ربات مسيرياب
(۱۸-مرداد-۱۳۹۱, ۱۳:۵۰:۲۷)صديقه نوشته است: [ -> ]درخواست فوري كمك:برنامه ي نوشته شده ي بيسيك ربات مسيرياب

سلام.
به ایران ویج خوش اومدید.
فک نکنم کسی این کارو واسه شما انجام بده.
بعدشم اگه این کارو انجام بدن باید شماتیک + Pcb رباتت رو قرار بدی تا بتونن برنامه رو واستون بنویسند.
در ثانی اگه خود شما برنامه رو بنویسید موفق تر هستید.اگه مشکلی داشتید میتونید اینجا مطرح کنید تا دوستان شمارو کمک کنند.
موفق باشید
ضمن خوش آمد گویی به شما کابر گرامی لطفا سوالاتتون رو در جای مناسب و موضوع مناسب مطرح کنید
قبل از دادن پست جدید در انجمن جست و جو کنید -از دادن پست های تکراری جلوگیری کنید
اینم یه برنامه
کد:
$regfile = "m32def.dat"
$crystal = 12000000
Config Portd.6 = Output : M11 Alias Portd.6
Config Portd.7 = Output : M12 Alias Portd.7
Config Portd.3 = Output : M21 Alias Portd.3
Config Portd.1 = Output : M22 Alias Portd.1
Config Portb.4 = Output : Led Alias Portb.4 : Led = 1       'for status led
Config Portd.5 = Output : Portd.5 = 1                       'for Enaable motor's
Config Portd.4 = Output : Portd.4 = 1                       'for enable motor's
Config Pinc.3 = Input : S1 Alias Pinc.3
Config Pinc.4 = Input : S2 Alias Pinc.4
Config Pinc.5 = Input : S3 Alias Pinc.5
Config Pinc.6 = Input : S4 Alias Pinc.6
Config Pinc.7 = Input : S5 Alias Pinc.7
Config Pina.7 = Input : S6 Alias Pina.7
Config Pina.6 = Input : S7 Alias Pina.6
Config Pina.5 = Input : S8 Alias Pina.5
Config Pina.4 = Input : S9 Alias Pina.4
Config Pina.3 = Input : S10 Alias Pina.3
Config Pina.2 = Input : S11 Alias Pina.2
Config Pina.1 = Input : S12 Alias Pina.1
Config Pina.0 = Input : S13 Alias Pina.0
Config Pinc.0 = Input : S14 Alias Pinc.0
Main:
Do
If S6 = 1 Then Goto Front

If S5 = 1 Then Goto Chap
If S7 = 1 Then Goto Rast
If S4 = 1 Then Goto Chap
If S8 = 1 Then Goto Rast
If S3 = 1 Then Goto Chap
If S9 = 1 Then Goto Rast
If S2 = 1 Then Goto Chap
If S10 = 1 Then Goto Rast
Loop
End
Front:
Toggle Led
M11 = 0
  M12 = 1
   M21 = 0
    M22 = 1
    Goto Main
Chap:
Toggle Led
M11 = 0
  M12 = 0
   M21 = 0
    M22 = 1
    Goto Main
Rast:
Toggle Led
M11 = 0
  M12 = 1
   M21 = 0
    M22 = 0
    Goto Main
عباس جان تو این ربات که برنامه اش رو نوشتی موتور ها با ترانزیستور کنترل میشن درسته؟
برنامه ی خوبیه دستت درد نکنه.
ولی کاربر محترم(صدیقه)این برنامه واسه مسابقات نمیشه بردش چون ربات در این حد جواب گو نیس.
ربات باید سرعتش کنترل شه.البته این ربات و برنامه واسه شروع کردن خوبه.
بعد عباس جان اون ال ای دی چی کار میکنه؟
اون ال ای دی برای آگاه شدن از کار کردن مدار و ربات هست بیستر برای خوشکلی از ال ای دی هایی که بی نظم چشمک میزنه خوشم میاد مثل ال ای دی هارد کامپیوتر

مدار کنترول این برنامه l298 بوده که میشه با ترانزیستور هم راه اندازیش کرد البته با ترانزیستور برای مسیر یاب ساده تره

ایشون نگفتن که برنامه رو در چه حدی میخوان
خیلی کارا میشه کرد اما تو این برنامه نیست مثلا زمینه معکوس یا تنظیم سرعت در مسیر مستقیم یا دور زدن ها ....
کد php:
$regfile "m16def.dat"
$crystal 4000000
Config Portd 
Output
Config Porta 
Input
Config Timer1 
Pwm Prescale Pwm 10 Compare A Pwm Clear Up Compare B Pwm Clear Up
 Sr2 Alias Pina.0
 Sr1 Alias Pina.1
 Sf Alias Pina.2
 Sl1 Alias Pina.3
 Sl2 Alias Pina.4
 D0 Alias Portd.0
 D1 Alias Portd.1
 D2 Alias Portd.2
 D3 Alias Portd.3
 
Do
 
Main:
 If 
Sf 1 Then Goto F
 
If Sf And Sr1 And Sl1 0 Then Goto R1
 
If Sf And Sl1 And Sr1 0 Then Goto L1
 
If Sr2 And Sf And Sl2 0 Then Goto R2
 
If Sl2 And Sf And Sr2 0 Then Goto L2
 Loop
 F
:
 
D0 0
 D1 
1
 Pwm1a 
1023
 D2 
0
 D3 
1
 Pwm1b 
1023
 
Goto Main
 R1
:
 
D0 0
 D1 
1
 Pwm1a 
1023
 D2 
0
 D3 
1
 Pwm1b 
800
 
Goto Main
 L1
:
 
D0 0
 D1 
1
 Pwm1a 
800
 D2 
0
 D3 
1
 Pwm1b 
1023
 
Goto Main
 R2
:
 
D0 1
 D1 
0
 Pwm1a 
1023
 D2 
0
 D3 
1
 Pwm1b 
1023
 
Goto Main
 L2
:
 
D0 0
 D1 
1
 Pwm1a 
1023
 D2 
1
 D3 
0
 Pwm1b 
1023
 
Goto Main 
(۱۹-مرداد-۱۳۹۱, ۰۱:۱۷:۵۹)helma نوشته است: [ -> ]
کد php:
$regfile "m16def.dat"
$crystal 4000000
Config Portd 
Output
Config Porta 
Input
Config Timer1 
Pwm Prescale Pwm 10 Compare A Pwm Clear Up Compare B Pwm Clear Up
 Sr2 Alias Pina.0
 Sr1 Alias Pina.1
 Sf Alias Pina.2
 Sl1 Alias Pina.3
 Sl2 Alias Pina.4
 D0 Alias Portd.0
 D1 Alias Portd.1
 D2 Alias Portd.2
 D3 Alias Portd.3
 
Do
 
Main:
 If 
Sf 1 Then Goto F
 
If Sf And Sr1 And Sl1 0 Then Goto R1
 
If Sf And Sl1 And Sr1 0 Then Goto L1
 
If Sr2 And Sf And Sl2 0 Then Goto R2
 
If Sl2 And Sf And Sr2 0 Then Goto L2
 Loop
 F
:
 
D0 0
 D1 
1
 Pwm1a 
1023
 D2 
0
 D3 
1
 Pwm1b 
1023
 
Goto Main
 R1
:
 
D0 0
 D1 
1
 Pwm1a 
1023
 D2 
0
 D3 
1
 Pwm1b 
800
 
Goto Main
 L1
:
 
D0 0
 D1 
1
 Pwm1a 
800
 D2 
0
 D3 
1
 Pwm1b 
1023
 
Goto Main
 R2
:
 
D0 1
 D1 
0
 Pwm1a 
1023
 D2 
0
 D3 
1
 Pwm1b 
1023
 
Goto Main
 L2
:
 
D0 0
 D1 
1
 Pwm1a 
1023
 D2 
1
 D3 
0
 Pwm1b 
1023
 
Goto Main 
برنامه ی خوبیه اینم ولی اگه بجای:
کد:
D0 = 0
D1 = 1
Pwm1a = 1023
D2 = 1
D3 = 0
از دستور set و reset استفاده میکردین جالب تر بود(اما هیچ فرقی نیداره)
کد:
reset D0
set D1
Pwm1a = 1023
set D2
reset D3
بعد شما از چه درایوری استفاده کردین؟

این هم یک برنامه مسیر یاب(البته این ربات مسیر یاب نیس این برنامه ماله قسمت مسیریابی ربات امدادگر پیشرفته هستش)
کد:
$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
من از l293 استفاده کردم