Esempio n. 1
0
 def test_tone(self):
     get_input('Test beep')
     d = Tone()
     d.play(1000, 3000)
     time.sleep(3)
     d.play(1000)
     time.sleep(3)
     d.stop()
Esempio n. 2
0
#from ev3.lego import LargeMotor
from ev3.lego import TouchSensor
from ev3.lego import ColorSensor
from ev3.lego import InfraredSensor

import conf

# Create Flask application
app = Flask(__name__)
app.debug = True

# Create a random secrey key so we can use sessions
app.config['SECRET_KEY'] = os.urandom(12)

from ev3.ev3dev import Tone
alarm = Tone()

#head = None#Motor(port=Motor.PORT.A)
right_wheel = None
left_wheel = None
button = None
ir_sensor = None
color_sensor = None
try:
    right_wheel = Motor(port=Motor.PORT.B)
    left_wheel = Motor(port=Motor.PORT.C)
    button = TouchSensor()
    #ir_sensor = InfraredSensor()
    color_sensor = ColorSensor()
    alarm.play(200)
except Exception as e:
Esempio n. 3
0
target = ((value_on_red - value_not_on_red) / 2) + value_not_on_red
tp = 70 # target power (speed)

kp = 0.65 # how fast we try to correct the 'out of target'
ki = 0.05 # smooth the correction by storing historical errors
kd = 0.09 # controls the overshooting

print "target power: " + str(tp)
print "proportional constant: " + str(kp)
print "proportional range: +" + str(target) + " / -" + str(target)

color_sensor = ColorSensor()
ultra_sensor = UltrasonicSensor()
motor_left = Motor(port=Motor.PORT.A)
motor_right = Motor(port=Motor.PORT.D)
tone = Tone()

def avg(lst):
    if len(lst) == 0:
        return 0
    return reduce(lambda x, y: x + y, lst) / len(lst)

def stop():
    motor_left.stop()
    motor_right.stop()

def victory():
    motor_left.run_forever(-100)
    motor_right.run_forever(-100)
    time.sleep(3)
    motor_right.run_forever(100)
Esempio n. 4
0
if real_robot_mode:
    from ev3.lego import Motor
    from ev3.lego import UltrasonicSensor
    from ev3.lego import ColorSensor
    from ev3.ev3dev import Tone
    a = Motor(port=Motor.PORT.A)  # left large motor
    d = Motor(port=Motor.PORT.D)  # right large motor
    a.reset()
    d.reset()
    a.position_mode = Motor.POSITION_MODE.RELATIVE
    d.position_mode = Motor.POSITION_MODE.RELATIVE
    sonar_left = UltrasonicSensor(port=2)
    sonar_front = UltrasonicSensor(port=3)
    color_left = ColorSensor(port=1)
    color_right = ColorSensor(port=4)
    sound = Tone()


# Occupancy grid - checks for available positions
class Grid:
    def __init__(self, rows, cols):
        self.obstacles = []
        self.grid = []
        for row in xrange(rows):
            self.grid += [[0] * cols]

    def add_obstacle(self, row_start, row_end, col_start, col_end):
        for row in xrange(row_start, row_end + 1):
            for col in xrange(col_start, col_end + 1):
                self.grid[row][col] = 1