۱۳-بهمن-۱۳۸۹, ۲۱:۵۳:۱۲
۱۴-بهمن-۱۳۸۹, ۱۶:۵۳:۱۴
من در گيرنده يكl298 وصل كردم مي خواستم ببينم پايهoc1a به كجا وصل ميشه(در گيرنده)
ممنون ميشم
ممنون ميشم
۱۵-بهمن-۱۳۸۹, ۱۴:۵۹:۳۰
دوست عزیز شما سرعت رو به چه صورت میخوای کنترل کنی؟
باید خروجی pwm میکرو رو به پایه Enable آی سی L298 وصل کنی
برای استفاده از pwm اول باید اون رو پیکره بندی کنی و تنظیماتش رو انجام بدی
مثل این :
بعد باید در اون بخشهایی از برنامه که نیاز داری سرعت موتور رو کم یا زیاد کنی رجیستر های مربوطه رو مقدار بدی
مثل این
فرقی نمیکنه ومیتونی از تایمر 0 که 8 بیتی هست استفاده کنی
باید خروجی pwm میکرو رو به پایه Enable آی سی L298 وصل کنی
برای استفاده از pwm اول باید اون رو پیکره بندی کنی و تنظیماتش رو انجام بدی
مثل این :
کد:
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 1
مثل این
کد:
Pwm1a = 100
Pwm1b = 200
فرقی نمیکنه ومیتونی از تایمر 0 که 8 بیتی هست استفاده کنی
۰۳-اسفند-۱۳۸۹, ۰۰:۱۶:۱۱
سلام من ميخام وقتي موتور اطلاعات را دريافت كرد گيرنده يك كاراكتر را به عنوان اينكه اطلاعات را دريافت كرده به
فرستنده ارسال كند چه تغييراتي در برنامم انجام دهم؟؟؟
فرستنده:
$regfile = "m16def.dat"
Config Porta.3 = Input
Config Porta.4 = Input
Config Porta.5 = Input
Config Porta.6 = Input
Config Porta.7 = Input
Config Portb.2 = Output
Ddra.3 = 0 : Porta.3 = 1
Ddra.4 = 0 : Porta.4 = 1
Ddra.5 = 0 : Porta.5 = 1
Ddra.6 = 0 : Porta.6 = 1
Ddra.7 = 0 : Porta.7 = 1
Dim B As Byte
Do
Debounce Pina.3 , 0 , Low
Debounce Pina.4 , 0 , High
Debounce Pina.5 , 0 , Right
Debounce Pina.6 , 0 , Left
Debounce Pina.7 , 0 , Stop
Loop
Low:
For B = 1 To 10
Print "k"
Waitms 50
Next
Return
High:
For B = 1 To 10
Print "t"
Waitms 50
Next
Return
Right:
For B = 1 To 10
Print "R"
Waitms 50
Next
Return
Left:
For B = 1 To 10
Print "L"
Waitms 50
Next
Return
Stop:
For B = 1 To 10
Print "S"
Waitms 50
Next
Return
End
گيرنده:
$regfile = "m16def.dat"
Config Portd.2 = Output
Config Portd.3 = Output
Config Portd.5 = Output
Dim B As Byte
Dim A As Word
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Prescale = 1024
A = 100
Do
B = Waitkey()
If B = "k" Then
A = A - 10
If A <= 10 Then A = 10
Pwm1a = A
End If
If B = "t" Then
A = A + 10
If A >= 250 Then A = 250
Pwm1a = A
End If
If B = "R" Then
Reset Portd.2
Set Portd.3
End If
If B = "L" Then
Reset Portd.3
Set Portd.2
End If
If B = "S" Then
Reset Portd.3
Reset Portd.2
End If
Loop
End
ممنون ميشم
فرستنده ارسال كند چه تغييراتي در برنامم انجام دهم؟؟؟
فرستنده:
$regfile = "m16def.dat"
Config Porta.3 = Input
Config Porta.4 = Input
Config Porta.5 = Input
Config Porta.6 = Input
Config Porta.7 = Input
Config Portb.2 = Output
Ddra.3 = 0 : Porta.3 = 1
Ddra.4 = 0 : Porta.4 = 1
Ddra.5 = 0 : Porta.5 = 1
Ddra.6 = 0 : Porta.6 = 1
Ddra.7 = 0 : Porta.7 = 1
Dim B As Byte
Do
Debounce Pina.3 , 0 , Low
Debounce Pina.4 , 0 , High
Debounce Pina.5 , 0 , Right
Debounce Pina.6 , 0 , Left
Debounce Pina.7 , 0 , Stop
Loop
Low:
For B = 1 To 10
Print "k"
Waitms 50
Next
Return
High:
For B = 1 To 10
Print "t"
Waitms 50
Next
Return
Right:
For B = 1 To 10
Print "R"
Waitms 50
Next
Return
Left:
For B = 1 To 10
Print "L"
Waitms 50
Next
Return
Stop:
For B = 1 To 10
Print "S"
Waitms 50
Next
Return
End
گيرنده:
$regfile = "m16def.dat"
Config Portd.2 = Output
Config Portd.3 = Output
Config Portd.5 = Output
Dim B As Byte
Dim A As Word
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Prescale = 1024
A = 100
Do
B = Waitkey()
If B = "k" Then
A = A - 10
If A <= 10 Then A = 10
Pwm1a = A
End If
If B = "t" Then
A = A + 10
If A >= 250 Then A = 250
Pwm1a = A
End If
If B = "R" Then
Reset Portd.2
Set Portd.3
End If
If B = "L" Then
Reset Portd.3
Set Portd.2
End If
If B = "S" Then
Reset Portd.3
Reset Portd.2
End If
Loop
End
ممنون ميشم
۰۳-اسفند-۱۳۸۹, ۰۹:۲۵:۲۲
سلام..
تو برنامه اولت!!!
حلقه ای که کلید گذاشتی یه inkey بزار تا اینکه وقتی اطلاعات رو فرستادی برگشتش یه کدی دریافت کنه!!!و بعد نسبت به کدی که دریافت کرده و کدی که فرستادی مقایسه کن اگه مثل هم بودن بنویس رو ال سی دی ok
تئ برنامه ای هم که گیرندهست به ازای هر کاری که انجام میده یه کد تعریف کن و با prinbin کد رو بفرست!! یعنی همون کدی که از فرستنده میگیره رو بریز تو یه متغییر و برای فرستدنه دوباره بفرست تا تو فرستنده هم مقایسه بشه
تو برنامه اولت!!!
حلقه ای که کلید گذاشتی یه inkey بزار تا اینکه وقتی اطلاعات رو فرستادی برگشتش یه کدی دریافت کنه!!!و بعد نسبت به کدی که دریافت کرده و کدی که فرستادی مقایسه کن اگه مثل هم بودن بنویس رو ال سی دی ok
تئ برنامه ای هم که گیرندهست به ازای هر کاری که انجام میده یه کد تعریف کن و با prinbin کد رو بفرست!! یعنی همون کدی که از فرستنده میگیره رو بریز تو یه متغییر و برای فرستدنه دوباره بفرست تا تو فرستنده هم مقایسه بشه
۰۴-اسفند-۱۳۸۹, ۰۷:۲۳:۳۶
ممنون از راهنماييتون
۱۰-مهر-۱۳۹۰, ۰۰:۳۱:۵۰
سلام من میخوام یک ریموت چند کاناله با کانل های مستقل با htmr بسازم کمک کنید؟؟؟؟؟؟