За преподавателя - Как протича занятието Pro Preview

На края на това занятие учениците ще се състезават. За тази цел те ще имат нужда от поле.

Необходимо е да се абонирате за FLLCasts.com, за да достъпите това видео

Абонирай се

  • #1561
  • 11 Mar 2020

Поставете два обекта на земята (може да бъдат конструкции от лего или други подръчни материали), около които учениците ще програмират роботите си да се движат под формата на осмица. Отбележете стартова линия, в началото на право движение.

content picture

Примерно решение на задачите в секция "Научете се да шофирате":

# Create your objects here.
ev3 = EV3Brick()

steering_motor = Motor(Port.A)
driving_motor = Motor(Port.D)

# Write your program here.
steering_motor.run_angle(360, 30)
driving_motor.run_time(-360, 2000)
steering_motor.run_angle(360, -60)
driving_motor.run_time(-360, 2000)

Ако моторът не може да завърши командата "run_angle", защото е възпрепятстван, то програмата ще забие и няма да изпълни останалите команди. Представете на децата този проблем, като поставите предните гуми в крайно лява позиция и пуснете програмата. Когато робота се опита да завие на ляво, няма да може и програмата няма да се изпълни.

Примерно решение на задачата "Променете програмата си така, че да извършва същата поредица от действия, но използвайки само командата run_target.":

# Create your objects here. 
ev3 = EV3Brick()

steering_motor = Motor(Port.A)
driving_motor = Motor(Port.D)

# Write your program here.
steering_motor.run_target(360, 30)
driving_motor.run_target(-360, -360 * 2)
steering_motor.run_target(360, -30)
driving_motor.run_target(-360, -360 * 4)

Умножението на 2 и 4 в кода служи за да улесни четенето му. Вместо "360 * 2" може да се напише направо "720", а вместо "360 * 4" може да се напише "1440". Защото след първото движение напред, гумите завършват на 720 градуса, ако се повтори командата "run_target" с 720, то роботът няма да има нужда да се движи, защото вече е в тази позиция. Затова добавяме към "360 * 2" (720) още "360 * 2" (720) и получаваме "360 * 4" (1440).

Примерно решение на задачата "Програмирайте колата ви да паркира перпендикулярно с движение само напред.":

# Create your objects here.
ev3 = EV3Brick()

steering_motor = Motor(Port.A)
driving_motor = Motor(Port.D)

# Write your program here.
steering_motor.run_target(360, 30)
driving_motor.run_target(-360, -850)
steering_motor.run_target(3600)

Примерно решение на задачата "Програмирайте колата ви да паркира перпендикулярно с движение назад.":

# Create your objects here.
​​​​​​​ev3 = EV3Brick()

steering_motor = Motor(Port.A)
driving_motor = Motor(Port.D)

# Write your program here.
steering_motor.run_target(360, 30)
driving_motor.run_target(-360, 850)
steering_motor.run_target(360, 0)

Примерно решение на задачите в секция "Тренировка преди състезанието":

# Create your objects here.
​​​​​​​ev3 = EV3Brick()

​​​​​​​steering_motor = Motor(Port.A)
driving_motor = Motor(Port.D)

# Write your program here.
driving_motor.run_time(-1000, 2000)
steering_motor.run_target(1000, 35)

driving_motor.run_time(-1000, 3500)
steering_motor.run_target(1000, 0)

driving_motor.run_time(-1000, 2000)
steering_motor.run_target(1000, -35)

driving_motor.run_time(-1000, 3500)
steering_motor.run_target(1000, 0)

Курсове и занятия включващи този Урок

Този Урок е използван в следните курсове и занятия.

Image for Python за EV3 LEGO Mindstorms - ниво 1
  • 74
  • 28:18
  • 114
Image for Lesson 6 - Управление на безпилотен автомобил
  • 3
  • 7
  • 5
  • 3d_rotation 1