if __name__ == "__main__": #main() from time import perf_counter from ev3dev.ev3 import * #from ev3fast import * lMotor = LargeMotor('outA') rMotor = LargeMotor('outD') lSensor = ColorSensor('in1') rSensor = ColorSensor('in4') LOOPS = 1000 startTime = perf_counter() for a in range(0,LOOPS): valueL = lSensor.raw valueR = rSensor.raw totalL = (valueL[0] + valueL[1] + valueL[2]) totalR = (valueR[0] + valueR[1] + valueR[2]) error = totalL - totalR lMotor.speed_sp = 200 + error rMotor.speed_sp = 200 - error lMotor.run_forever() rMotor.run_forever() endTime = perf_counter() lMotor.stop() rMotor.stop() print(str(LOOPS / (endTime - startTime)))
from __future__ import print_function from ev3dev2.motor import LargeMotor, OUTPUT_B, OUTPUT_C, SpeedPercent # OUTPUT_A, OUTPUT_D, eTank import time print("Ready to go.") rightMotor = LargeMotor(OUTPUT_B) leftMotor = LargeMotor(OUTPUT_C) leftMotor.reset() rightMotor.reset() # setting target speed (deg per sec) leftMotor.speed_sp = 360 rightMotor.speed_sp = 360 rampup = 5 spValue = 20 timeStep = 0.5 simDuration = 15 totalSteps = int(simDuration / timeStep) initial_angle = 0 final_angle = 720 ramp_up_down_left = int(rampup * 1000 * leftMotor.max_speed / leftMotor.speed_sp) ramp_up_down_right = int(rampup * 1000 * rightMotor.max_speed / rightMotor.speed_sp) leftMotor.ramp_up_sp = ramp_up_down_left leftMotor.ramp_down_sp = ramp_up_down_left rightMotor.ramp_up_sp = ramp_up_down_right rightMotor.ramp_down_sp = ramp_up_down_right