Aprende robótica con Arduino en español
HOLA AMIGOS, LE HE CONECTADO EL SENSOR PING AL BOE-BOT PERO CUANDO ESTA NAVEGANDO LOS SERVOS QUE HACEN DE RUEDAS PARPADEAN EL MOVIMIENTO AL MISMO TIEMPO QUE EL LEDS DEL SENSOR PING Y EL ROBOT NO RUEDA CONTINUAMENTE,
PARA, SIGUE,PARA,SIGUE
¿ME PODEIS AYUDAR CON LA PROGRAMACION PARA CORREGIR ESTE ERROR? GRACIAS
Etiquetas:
Es probable que tengas por ahí algún detalle relacionado con la secuencia o con tiempos. Si gustas mandar tu programa lo podemos revisar con mayor detalle.
Saludos
Oscar
este es el programa..gracias por la ayuda.
' {$STAMP BS2}
' {$PBASIC 2.5}
Ping PIN 15
PingServo PIN 14
LeftServo PIN 13
RightServo PIN 12
rawDist VAR Word
sweepcount VAR Word
x VAR Byte
pulseCount VAR Byte
Main:
FOR sweepcount = 350 TO 1150 STEP 200
FOR x = 0 TO 5
PULSOUT 14, sweepcount
PAUSE 20
NEXT
GOSUB GetSonar
NEXT
FOR sweepcount = 950 TO 550 STEP 200
FOR x = 0 TO 5
PULSOUT 14, sweepcount
PAUSE 20
NEXT
GOSUB GetSonar
NEXT
GOTO Main
GetSonar:
LOW Ping
PULSOUT Ping, 5
PULSIN Ping, 1, rawDist
IF (rawDist < 600) THEN
IF (sweepcount < 750) THEN
GOSUB Turn_Left
ELSEIF (sweepcount > 750) THEN
GOSUB Turn_Right
ELSE
GOSUB Back_Up
ENDIF
ELSE
GOSUB Forward_Pulse
ENDIF
RETURN
Forward_Pulse:
FOR pulsecount = 0 TO 5
PULSOUT LeftServo, 850
PULSOUT RightServo, 650
PAUSE 20
NEXT
RETURN
Turn_Left:
FOR pulseCount = 0 TO 20
PULSOUT LeftServo, 850
PULSOUT RightServo, 850
PAUSE 20
NEXT
RETURN
Turn_Right:
FOR pulseCount = 0 TO 20
PULSOUT LeftServo, 650
PULSOUT RightServo, 650
PAUSE 20
NEXT
RETURN
Back_Up:
FOR pulseCount = 0 TO 40
PULSOUT LeftServo, 650
PULSOUT RightServo,850
PAUSE 10
NEXT
FOR pulseCount = 0 TO 1
PULSOUT LeftServo, 650
PULSOUT RightServo, 850
PAUSE 1
NEXT
RETURN
Oscar Villarreal dijo:
Es probable que tengas por ahí algún detalle relacionado con la secuencia o con tiempos. Si gustas mandar tu programa lo podemos revisar con mayor detalle.
Saludos
Oscar
Hola Francisco,
Perdon por tardar en responder
Segun veo al mandar a la subrutina Getsonar es cuando se esta deteniendo (pulsando) tu programa, esta esperando una respuesta de la subrutina y hace que las demas funciones queden detenidas. Esto es porque estas pidiendole a tu robot (con los IFs) que se detenga hasta tener un analisis de la distancia para poder continuar.
Dejame ver si este fin de semana puedo cargar el programa y comprobar que efectivamente lo que te estoy diciendo es verdad.
Saludos
Oscar
Bienvenido a
Aprende Robotica
© 2024 Creado por Lorenzo M. Oliver. [Imágenes licenciadas por Depositphotos.com] Tecnología de