예제 #1
0
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)))
예제 #2
0
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