۲۱-بهمن-۱۳۹۱, ۰۹:۴۳:۰۵
سلام به تمام برو بکس گل ایرانویج
دوستان من مداری واسه روباتم طراحی کردم که از طریق یه ریموت کنترل هدایت میشه اما بعضی اوقات در حین اجرای یک عملکرد در همان حالت بماند به طور مثال زمانی که رله مربوط به پمپ آب رو فعال میکنم پس از فعال شدن در همان حالت باقی می ماند و به حالت قبلی خود باز نمی گردد.
و حتی در مورد موتور پله ای هم به همین صورت می باشد و سایر موتور ها روبات
اینم عکس مربوط به مدار فرستند و گیرنده (HMT-HMR-433MHZ)
برنامه گیرنده
برنامه فرستنده :
[attachment=8730]
[attachment=8729]
دوستان من مداری واسه روباتم طراحی کردم که از طریق یه ریموت کنترل هدایت میشه اما بعضی اوقات در حین اجرای یک عملکرد در همان حالت بماند به طور مثال زمانی که رله مربوط به پمپ آب رو فعال میکنم پس از فعال شدن در همان حالت باقی می ماند و به حالت قبلی خود باز نمی گردد.
و حتی در مورد موتور پله ای هم به همین صورت می باشد و سایر موتور ها روبات
اینم عکس مربوط به مدار فرستند و گیرنده (HMT-HMR-433MHZ)
برنامه گیرنده
کد php:
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
'----------------------------------------------------------------------------------------
Const On = 1
Const Off = 0
'------------------------------------Stepper Motor------------------------------------
Config Portc.0 = Output
Config Portc.1 = Output
Config Portc.2 = Output
Config Portc.3 = Output
A Alias Portc.3
B Alias Portc.2
C Alias Portc.0
D Alias Portc.1
'-------------------------------------Motors-------------------------------------------
Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Output
Config Portb.5 = Output
In1 Alias Portb.5
In2 Alias Portb.4
In3 Alias Portb.3
In4 Alias Portb.0
Ena Alias Portb.2
Enb Alias Portb.1
'---------------------------------------Water------------------------------------------
Config Portd.2 = Output
Water Alias Portd.2
'-------------------------------------Functions-----------------------------------------
Declare Sub Forward
Declare Sub Lefts
Declare Sub Rights
Declare Sub Backward
Declare Sub Stepper_cw
Declare Sub Stepper_ccw
Declare Sub Stops
'---------------------------------------------------------------------------------------
Dim Inputs As String * 5
Dim Code As String * 5
Dim Final As String * 5
Dim Inputs_out As Byte
Dim Result As Byte
'------------------------------------------Main-----------------------------------------
Lcd "Data="
Do
Input Inputs
Locate 1 , 1
Lcd Inputs
Code = Mid(inputs , 2 , 4)
Locate 2 , 1
Inputs_out = Val(code)
Select Case Inputs_out:
Case 103:
Call Forward
Case 104:
Call Rights
Case 105
Call Lefts
Case 106:
Call Backward
Case 107:
Call Stepper_cw
Case 108:
Waitms 100
Toggle Portd.2
Case 109:
Call Stepper_ccw
Case Else
Call Stops
End Select
Loop
'----------------------------------------------------------------------------------------
Sub Forward
Ena = On : Enb = On : In1 = On : In2 = Off : In3 = On : In4 = Off
End Sub
Sub Lefts
Ena = Off : Enb = On : In1 = On : In2 = Off : In3 = Off : In4 = Off
End Sub
Sub Rights
Ena = On : Enb = Off : In1 = Off : In2 = Off : In3 = On : In4 = Off
End Sub
Sub Backward
Ena = On : Enb = On : In1 = Off : In2 = On : In3 = Off : In4 = On
End Sub
Sub Stepper_cw
A = 0 : B = 0 : C = 1 : D = 1 : Waitms 100
A = 1 : B = 0 : C = 1 : D = 0 : Waitms 100
A = 1 : B = 1 : C = 0 : D = 0 : Waitms 100
A = 0 : B = 1 : C = 0 : D = 1 : Waitms 100
End Sub
Sub Stepper_ccw
A = 0 : B = 1 : C = 0 : D = 1 : Waitms 100
A = 1 : B = 1 : C = 0 : D = 0 : Waitms 100
A = 1 : B = 0 : C = 1 : D = 0 : Waitms 100
A = 0 : B = 0 : C = 1 : D = 1 : Waitms 100
End Sub
Sub Stops
A = 0 : B = 0 : C = 0 : D = 0
Ena = Off : Enb = Off : In1 = Off : In2 = Off : In3 = Off : In4 = Off
End Sub
'----------------------------------------------------------------------------------------
برنامه فرستنده :
کد php:
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
'----------------------------------------------------------------------------------------
Config Pinb.0 = Input
Config Pinb.1 = Input
Config Pinb.2 = Input
Config Pinb.3 = Input
Config Pinb.4 = Input
Config Pinb.5 = Input
Config Pind.7 = Input
'----------------------------------------------------------------------------------------
Forward Alias Pinb.3
Rights Alias Pinb.4
Lefts Alias Pinb.1
Backward Alias Pinb.2
Water Alias Pinb.0
Step_cw Alias Pinb.5
Step_ccw Alias Pind.7
'----------------------------------------------------------------------------------------
Enable Interrupts
'----------------------------------------------------------------------------------------
Dim Order As String * 5
'----------------------------------------------------------------------------------------
Cursor Off
Do
Locate 1 , 1
Lcd "POS : " ; " "
Locate 2 , 1
Lcd " "
Order = " "
While Forward = 0
Order = "103"
Print Order
Locate 1 , 6
Lcd "Forward"
Wend
While Rights = 0
Order = "104"
Print Order
Locate 1 , 6
Lcd "Right"
Wend
While Lefts = 0
Order = "105"
Print Order
Locate 1 , 6
Lcd "Left"
Wend
While Backward = 0
Order = "106"
Print Order
Locate 1 , 6
Lcd "BackWard"
Wend
While Step_cw = 0
Order = "107"
Print Order
Locate 2 , 1
Lcd "Stepper CW"
Wend
While Water = 0
Order = "108"
Print Order
Locate 2 , 1
Lcd "Water Activated"
Wend
While Step_ccw = 0
Order = "109"
Print Order
Locate 2 , 1
Lcd "Stepper CCW"
Wend
Loop
[attachment=8729]