سلام
من یک روبات مسیریاب هفت سنسوره ساختم که کاراییش اینه سه رنگ سفید،قرمز و مشکی رو تشخیص بده،بخاطر همین از پ امپ نمی تونستم استفاده کنم برای تشخیص رنگ از ای دی سی میکرو استفاده کردم،برنامه اش رو هم نوشته اما امروز که تست کردم خط سیاه و قرمز رو نمی شناسه،ایراد برنامه رو نمی تونم تشخیص بدم،برنامه من اینه،لطفا تو رفع مشکل برنامه راهنماییم کنید :
من یک روبات مسیریاب هفت سنسوره ساختم که کاراییش اینه سه رنگ سفید،قرمز و مشکی رو تشخیص بده،بخاطر همین از پ امپ نمی تونستم استفاده کنم برای تشخیص رنگ از ای دی سی میکرو استفاده کردم،برنامه اش رو هم نوشته اما امروز که تست کردم خط سیاه و قرمز رو نمی شناسه،ایراد برنامه رو نمی تونم تشخیص بدم،برنامه من اینه،لطفا تو رفع مشکل برنامه راهنماییم کنید :
$regfile = "m16def.dat"
$crystal = 1000000
Config Adc = Single , Prescaler = Auto
Config Porta = Input
Config Portd = Output
Dim S1 As Word , S2 As Word , S3 As Word , S4 As Word , S5 As Word
Dim S6 As Word , S7 As Word , Channel As Byte
Channel = 0
R Alias Portd.2
L Alias Portd.1
Portd.0 = 0
Portd.3 = 0
R = 1
L = 1
Stop Adc
Start Adc
Main:
Do
S1 = Getadc(channel)
If S1 >= 634 Then
R = 0
L = 1
End If
Incr Channel
S2 = Getadc(channel)
If S2 >= 634 Then
R = 0
L = 1
End If
Incr Channel
S3 = Getadc(channel)
If S3 >= 634 Then
R = 0
L = 1
End If
Incr Channel
S4 = Getadc(channel)
If S4 >= 634 Then
R = 1
L = 1
End If
Incr Channel
S5 = Getadc(channel)
If S5 >= 634 Then
R = 1
L = 0
End If
Incr Channel
S6 = Getadc(channel)
If S6 >= 634 Then
R = 1
L = 0
End If
Incr Channel
S7 = Getadc(channel)
If S7 >= 634 Then
R = 1
L = 0
End If
Channel = 0
Loop
End
$crystal = 1000000
Config Adc = Single , Prescaler = Auto
Config Porta = Input
Config Portd = Output
Dim S1 As Word , S2 As Word , S3 As Word , S4 As Word , S5 As Word
Dim S6 As Word , S7 As Word , Channel As Byte
Channel = 0
R Alias Portd.2
L Alias Portd.1
Portd.0 = 0
Portd.3 = 0
R = 1
L = 1
Stop Adc
Start Adc
Main:
Do
S1 = Getadc(channel)
If S1 >= 634 Then
R = 0
L = 1
End If
Incr Channel
S2 = Getadc(channel)
If S2 >= 634 Then
R = 0
L = 1
End If
Incr Channel
S3 = Getadc(channel)
If S3 >= 634 Then
R = 0
L = 1
End If
Incr Channel
S4 = Getadc(channel)
If S4 >= 634 Then
R = 1
L = 1
End If
Incr Channel
S5 = Getadc(channel)
If S5 >= 634 Then
R = 1
L = 0
End If
Incr Channel
S6 = Getadc(channel)
If S6 >= 634 Then
R = 1
L = 0
End If
Incr Channel
S7 = Getadc(channel)
If S7 >= 634 Then
R = 1
L = 0
End If
Channel = 0
Loop
End