Ejemplo n.º 1
0
#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()
Ejemplo n.º 2
0
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)