#drive continuesly on white page from ev3dev import ev3 from ev3dev.ev3 import Sound import robotFunctions import robotFunctions.Color move = robotFunctions.mover('outA', 'outD') #ar = ev3.MediumMotor('outB') cl = ev3.ColorSensor() cl.mode = 'RGB-RAW' speed = 200 #ar.run_to_abs_pos(position_sp=0) while robotFunctions.get_closest_color([cl.value(i) for i in range(3)]) == Color.WHITE: move.drive(9.5, 0, '', speed) Sound.beep()
def desviar(dados, pid, offset): pid.Kp = 10 sensorEsquerdo = getSensorEsquerdo(dados) sensorDireito = getSensorDireito(dados) erro = (sensorDireito - sensorEsquerdo) - offset print(erro) while abs(erro) > 0.5: # 1 segundo print(erro) sensorEsquerdo = getSensorEsquerdo(dados) sensorDireito = getSensorDireito(dados) erro = (sensorDireito - sensorEsquerdo) - offset pid.update(erro) u = pid.output m_left.run_forever(speed_sp=saturar(-u)) m_right.run_forever(speed_sp=saturar(u)) global kp pid.Kp = kp Sound.beep() pos0 = gyro.value() girar(-85) sleep(0.1) andarEmGraus(-680) sleep(2) girar(85) sleep(0.1) andarEmGraus(-1080) sleep(3) girar(85) sleep(0.1) andarEmGraus(-250) sleep(1.1) while cl_left.value() > 25 and cl_right.value() > 25: m_left.run_forever(speed_sp=-300) m_right.run_forever(speed_sp=-300) m_left.stop() m_right.stop() andarEmCm(2.5) sleep(0.4) girar(-90) sleep(0.6) m_left.run_to_rel_pos(position_sp=185, speed_sp=200, stop_action="hold") m_right.run_to_rel_pos(position_sp=185, speed_sp=200, stop_action="hold") sleep(0.4)