Ejercicio Siguelínea Infrarrojos¶
Tabla resumen de sensores y actuadores¶
Función
|
Descripción
|
leerIRSigueLineas()
|
Lee los dos sensores de IR y nos devuelve un valor entre 0 y 3.
|
avanzar(v)
|
Hace que el PiBot avance en línea recta con una velocidad lineal igual a v expresada en metros/segundo.
|
retroceder(v)
|
Hace que el PiBot retroceda en línea recta con una velocidad lineal igual a v expresada en metros/segundo.
|
girarIzquierda(w)
|
Hace que el PiBot gire a la izquierda sobre su eje (sin avanzar) con una velocidad angular igual a w expresada en radianes/segundo.
|
girarDerecha(w)
|
Hace que el PiBot gire a la derecha sobre su eje (sin avanzar) con una velocidad angular igual a w expresada en radianes/segundo.
|
parar()
|
Hace que el PiBot se detenga (si estaba avanzando, retrocediendo o girando).
|
El valor entre 0 y 3 que devuelve la función depende de las lecturas de los dos sensores de IR, de acuerdo a la siguiente tabla:
lectura IR izquierdo
|
lectura IR derecho
|
valor de leerIRSigueLineas()
|
negro
|
negro
|
0
|
negro
|
blanco
|
1
|
blanco
|
negro
|
2
|
blanco
|
blanco
|
3
|
Estos cuatro valores que nos devuelve la función leerIRSigueLineas() se corresponden con:
valor = 0
|
valor = 1
|
valor = 2
|
valor = 3
|
In [7]:
# Importar las librerías necesarias.
import sys
sys.path.insert(0, '/usr/local/lib/python2.7')
sys.path.insert(0, '/opt/jderobot/lib/python2.7')
import PiBot
import time
import sys
sys.path.insert(0, '/usr/local/lib/python2.7')
sys.path.insert(0, '/opt/jderobot/lib/python2.7')
import PiBot
import time
In [8]:
if __name__ == "__main__":
# Cargamos el robot
robot = PiBot.dameRobot()
# En myJdeRobotKids tendré la instancia de my objeto, para trabajar con el, independientemente del HW
robot.quienSoy()
print ("\nA continuacion se ejecuta su codigo con el robot\n")
# TODO: escribe aqui tu codigo
################################
while True:
ir = robot.leerIRSigueLineas()
print (ir)
if ir == 0 :
robot.avanzar(0.07)
elif ir == 1:
robot.girarIzquierda(0.1)
elif ir == 2:
robot.girarDerecha(0.1)
else:
robot.parar()
robot.girarIzquierda(0.2)
robot.avanzar(0.07)
No hay comentarios:
Publicar un comentario