Añadidos metodos de giro y velocidad cambiada, falta probar

parent 7bead975
Showing with 25 additions and 52 deletions
......@@ -10,12 +10,12 @@ from pybricks.media.ev3dev import SoundFile, ImageFile
robot = Robot()
robot.sigueLineaHastaNegro()
robot.sigueLineaHastaNegro()
robot.sigueRecto()
robot.sigueRecto()
#robot.sigueLineaHastaNegro()
#robot.sigueLineaHastaNegro()
robot.giro2(90)
robot.sigueLineaHastaNegro()
robot.giro2(-90)
robot.giro(90)
robot.sigueRecto()
robot.giro(-90)
#robot.calibraSensorColor()
......@@ -12,7 +12,7 @@ class Robot:
contadorNegros = 0
valorW = 30
w = 0
velocidad = 100
velocidad = 50
negroFlag = False
def __init__(self):
......@@ -54,29 +54,16 @@ class Robot:
return True
return False
# Recogemos la lista de movimientos del algoritmo
#def recogeListaMovimientosPedido(self, lMovimientos):
# for movimiento in lMovimientos:
# self.colaMovimientos.put(movimiento)
def calibraSensorColor(self):
while True:
print(self.colorSensor.rgb())
wait(20)
#Metodos para el movimiento
def giro(self,grados):
self.giroSensor.reset_angle(0)
self.robot.turn(grados)
while(self.giroSensor.angle() != grados):
diferencia = self.giroSensor.angle() - grados
ajuste = diferencia * -1
for i in range(abs(ajuste)):
if(ajuste > 0):
self.robot.turn(1)
else:
if (ajuste < 0):
self.robot.turn(-1)
def giro2(self,grados):
self.robot.straight(60)
self.giroSensor.reset_angle(0)
self.robot.turn(grados)
while (self.giroSensor.angle() != grados):
diferencia = self.giroSensor.angle() - grados
ajuste = diferencia * -1
......@@ -86,12 +73,16 @@ class Robot:
else:
if (ajuste < 0):
self.robot.turn(-1)
def calibraSensorColor(self):
while True:
print(self.colorSensor.rgb())
wait(20)
def sigueLineaHastaNegro(self,color=green_rgb):
def giraDerecha(self):
self.robot.straight(60)
self.giro(90)
def giraIzquierda(self):
self.robot.straight(60)
self.giro(-90)
def sigueRecto(self, color=green_rgb):
# Valores iniciales
rgb = self.colorSensor.rgb()
negroAnteriorFlag = self.negroFlag
......@@ -127,34 +118,16 @@ class Robot:
self.robot.drive(self.velocidad,self.w)
print(self.contadorNegros,contNegroAnterior)
def gestionRuta(self):
while True:
rgb = self.colorSensor.rgb()
#caso en que detecta linea verde
if self.is_green(rgb):
self.robot.drive(100,0)
#Deficnición y realización de la ruta
#caso detecta negro
elif self.is_black(rgb):
#incremento el contador
contNegroAnterior = self.contadorNegros
self.incrementaContNegros()
# Recogemos la lista de movimientos del algoritmo
#def recogeListaMovimientosPedido(self, lMovimientos):
# for movimiento in lMovimientos:
# self.colaMovimientos.put(movimiento)
#miro si es par o impar
if self.queNegroEs() == 0:
#si es par es que es linea por lo que avanzo para sobrepasar la linea
self.robot.drive(100,0)
else:
#caso en que encuentro cuadrado
self.ev3.speaker.beep()
self.robot.stop()
#caso en que se detecta otro color
else:
self.robot.drive(0,50)
#Deficnición y realización de la ruta
def rutaPedido(self):
while self.colaMovimientos.not_empty():
movimientoAct = self.colaMovimientos.get()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment