Hey, errrm there's a robot emulator out there. go to the innovation first website. It's a good way to test if your code is messed up or not. Can't really predict turning and stuff because that's all based on your robot, but it helps.
Oh really? Nobody got their working on 3 sensors? Ours works decently. I just did some testing on carpeting last night.
We just had to space the sensors right, and coding wise I did some stuff that works pretty well. 5 sensors would've been nice to work with tho. Man. Right now I just gotta tweak code so that it doesn't just turn right when it hits the top of the ramp.
example:
Code:
do_autonomous_stuff:
' sensor1 sensor2 sensor3
course3 = 0
if (sensor1>127) then too_left
if (sensor3>127) then too_right
'straight on line
drive_L =145
drive_R = 145
course2 = 3
course = 1
goto perfect
'===================================
'===================================
'===========Too left===============
'===================================
too_left:
'===========================
'--------Semi Off ----------
'============================
if (sensor2>127) then drive_R = 113
if (sensor2>127) then drive_L = 155
'checks to see if swinging back
if (sensor2>127) and course2 = 1 then course3 = 1
'sets course status
if (sensor2>127) then course2 = 0
'======================
'-------Way Off--------
'=======================
if (sensor2<=127) then drive_R = 103
if (sensor2<=127) then drive_L = 155
'checks to see if swinging further
if (sensor2<=127) and course2 = 0 then course3 = 2
'sets course status
if (sensor2<=127) then course2 = 1
'adaptable course timer
if (course < 170) then course = (course +1)
if (course = 171) then course = 171
'checks previous sensor status and adjusts accordingly
if (sensor2>127) and course3 = 1 then course = (course - 90)
if (sensor2<=127) and course3 = 2 then course = ( course - 70)
'adjusts motor values
if (course >= 39) then drive_R = (drive_R - ((course - 39)/10))
if (course >= 39) then drive_L = (drive_L + ((course - 39)/12))
goto perfect
'===================================
'===================================
'===========Too Right===============
'===================================
too_right:
'===========================
'--------Semi Off ----------
'============================
if (sensor2>127) then drive_L = 113
if (sensor2>127) then drive_R = 155
'checks to see if swinging back
if (sensor2>127) and course2 = 1 then course3 = 1
'sets course status
if (sensor2>127) then course2 = 0
'======================
'-------Way Off--------
'=======================
if (sensor2<=127) then drive_L = 103
if (sensor2<=127) then drive_R = 155
'checks to see if swinging further
if (sensor2<=127) and course2 = 0 then course3 = 2
'sets course status
if (sensor2<=127) then course2 = 1
'adaptable course timer
if (course < 170) then course = (course +1)
if (course = 171) then course = 171
'checks previous sensor status and adjusts accordingly
if (sensor2>127) and course3 = 1 then course = (course - 90)
if (sensor2<=127) and course3 = 2 then course = ( course - 70)
'adjusts motor values
if (course >= 39) then drive_L = (drive_L - ((course - 39)/10))
if (course >= 39) then drive_R = (drive_R + ((course - 39)/12))
goto perfect
perfect:
'sensor check
if sensor1 > 127 then out10 = 1
if sensor1 <= 127 then out10 = 0
if sensor2 > 127 then out11 = 1
if sensor2 <= 127 then out11 = 0
if sensor3 >127 then out12 = 1
if sensor3 <= 127 then out12 = 0
'course check
if (course > 1) then out13 = 1
if (course = 1) then out13 = 0