ES ES SPIKE Prime Python Programs
ES ES SPIKE Prime Python Programs
ES ES SPIKE Prime Python Programs
Programas Python
Posibles soluciones
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
2/31
¡Ayuda!
https://education.lego.com/es-es/lessons/prime-
invention-squad/help
hub = PrimeHub()
app = App()
color_sensor = ColorSensor('B')
# Esta es la historia n.º 1: Kiki está paseando. Está feliz de salir a tomar el aire, pero de repente...
hub.left_button.wait_until_pressed()
color_sensor.wait_until_color('blue')
app.play_sound('Traffic')
color_sensor.wait_until_color('yellow')
app.play_sound('Ring Tone')
color_sensor.wait_until_color('green')
app.play_sound('Dog Bark 1')
app.play_sound('Dog Bark 1')
color_sensor.wait_until_color('blue')
app.play_sound('Door Knock')
color_sensor.wait_until_color('yellow')
app.play_sound('Glass Breaking')
color_sensor.wait_until_color('green')
app.play_sound('Dog Bark 3')
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
3/31
Carrera de
saltadores
https://education.lego.com/es-es/lessons/prime-
invention-squad/hopper-race
hub = PrimeHub()
hop_motors = MotorPair('E', 'F')
hop_motors.set_default_speed(50)
hub.light_matrix.write('3')
wait_for_seconds(1)
hub.light_matrix.write('2')
wait_for_seconds(1)
hub.light_matrix.write('1')
wait_for_seconds(1)
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
4/31
Superlimpieza
https://education.lego.com/es-es/lessons/prime-
invention-squad/super-cleanup
force_sensor = ForceSensor('E')
grabber_motor = Motor('A')
while True:
force_sensor.wait_until_pressed()
grabber_motor.set_stall_detection(False)
grabber_motor.start(-75)
force_sensor.wait_until_released()
grabber_motor.set_stall_detection(True)
grabber_motor.start(75)
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
5/31
Roto
https://education.lego.com/es-es/lessons/prime-
invention-squad/broken
hub.left_button.wait_until_pressed()
x_motor.set_default_speed(-100)
x_motor.run_for_seconds(1.5)
wait_for_seconds(1)
hub.right_button.wait_until_pressed()
x_motor.set_default_speed(100)
x_motor.run_for_seconds(1.5)
wait_for_seconds(1)
# Estas líneas deberían «cortar» un rectángulo.
x_motor.run_for_degrees(-60)
x_motor.run_for_degrees(-400)
y_motor.run_for_degrees(-800)
x_motor.run_for_degrees(400)
y_motor.run_for_degrees(800)
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
6/31
Diseñar para
alguien
https://education.lego.com/es-es/lessons/prime-
invention-squad/design-for-someone
hub = PrimeHub()
motor_a = Motor('A')
motor_e = Motor('E')
force_sensor = ForceSensor('B')
motor_a.set_default_speed(100)
motor_e.set_default_speed(-100)
motor_a.set_stall_detection(False)
motor_e.set_stall_detection(False)
motor_a.set_stop_action('hold')
motor_e.set_stop_action('hold')
motor_a.run_to_position(0)
hub.speaker.beep(60)
hub.speaker.beep(72)
while True:
if hub.right_button.was_pressed():
# Haz que la prótesis se suelte
motor_a.run_to_position(0)
motor_e.run_to_position(0)
break
if force_sensor.get_force_newton() > 5:
hub.light_matrix.show_image('SQUARE')
else:
hub.light_matrix.off()
wait_for_seconds(0.01)
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
7/31
Haz tu pedido
https://education.lego.com/es-es/lessons/prime-
kickstart-a-business/place-your-order
hub = PrimeHub()
app = App()
distance_sensor = DistanceSensor('C')
color_sensor = ColorSensor('D')
arm_motor = Motor('A')
base_motor = Motor('F')
arm_motor.set_default_speed(50)
base_motor.set_default_speed(50)
arm_motor.run_to_position(350)
base_motor.run_to_position(350)
app.start_sound('Connect')
distance_sensor.light_up_all()
for x in range(10):
hub.light_matrix.show_image('HEART')
wait_for_seconds(0.5)
hub.light_matrix.show_image('HEART_SMALL')
wait_for_seconds(0.5)
hub.light_matrix.show_image('HEART')
while True:
color_sensor.wait_until_color('violet')
arm_motor.run_for_degrees(30)
arm_motor.run_for_degrees(-60)
arm_motor.run_for_degrees(60)
arm_motor.run_for_degrees(-30)
app.start_sound('Connect')
hub.light_matrix.show_image('HEART')
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
8/31
Fuera de servicio
https://education.lego.com/es-es/lessons/prime-
kickstart-a-business/out-of-order
hub = PrimeHub()
distance_sensor = DistanceSensor('B')
drive_motors = MotorPair('A', 'E')
small_wheel_motor = Motor('C')
small_wheel_motor.set_default_speed(100)
drive_motors.set_default_speed(50)
hub.left_button.wait_until_pressed()
# Aquí tienes una forma de depurar el primer programa.
small_wheel_motor.run_to_position(0)
drive_motors.start()
# Ajusta el valor aquí ----------------------v
distance_sensor.wait_for_distance_closer_than(15, DistanceSensor.CM)
drive_motors.stop()
hub.right_button.wait_until_pressed()
# Aquí tienes una forma de depurar el segundo programa.
small_wheel_motor.run_to_position(0)
drive_motors.start()
# Ajusta el valor aquí ----------------------v
distance_sensor.wait_for_distance_closer_than(15, DistanceSensor.CM)
drive_motors.stop()
# Ajusta el valor aquí ----------v
small_wheel_motor.run_to_position(20)
wait_for_seconds(1)
drive_motors.move(-50, DistanceSensor.CM)
drive_motors.stop()
small_wheel_motor.run_to_position(0)
wait_for_seconds(1)
# Ajusta el valor aquí.
# ----------------v
drive_motors.move(50, DistanceSensor.CM)
drive_motors.stop()
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
9/31
Hacer un
seguimiento de
los paquetes
https://education.lego.com/es-es/lessons/prime-
kickstart-a-business/track-your-packages
hub = PrimeHub()
horizontal_motor = Motor('A')
vertical_motor = Motor('C')
horizontal_motor.set_default_speed(75)
vertical_motor.set_default_speed(75)
hub.left_button.wait_until_pressed()
horizontal_motor.run_for_seconds(1)
wait_for_seconds(1)
vertical_motor.run_for_degrees(475)
horizontal_motor.run_for_degrees(-545)
vertical_motor.run_for_degrees(950)
horizontal_motor.run_for_degrees(550)
vertical_motor.run_for_degrees(380)
vertical_motor.run_for_degrees(175)
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
10/31
Un lugar seguro
https://education.lego.com/es-es/lessons/prime-
kickstart-a-business/keep-it-safe
hub = PrimeHub()
lock_motor = Motor('C')
dial_motor = Motor('B')
lock_motor.set_default_speed(50)
hub.speaker.beep(60)
hub.speaker.beep(72)
hub.left_button.wait_until_pressed()
hub.speaker.beep(72)
wait_until(dial_motor.get_degrees_counted, greater_than, 180)
hub.speaker.beep(60)
lock_motor.run_for_seconds(1)
hub.light_matrix.show_image('NO')
wait_for_seconds(2)
hub.light_matrix.show_image('YES')
wait_for_seconds(5)
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
11/31
¡Un sitio
superseguro!
https://education.lego.com/es-es/lessons/prime-
kickstart-a-business/keep-it-really-safe
hub = PrimeHub()
app = App()
dial = Motor('B')
lock = Motor('C')
dial_cover = Motor('E')
timer = Timer()
dial.set_default_speed(75)
lock.set_default_speed(75)
dial_cover.set_default_speed(75)
def unlock():
if timer.now() > 5:
app.play_sound('Bonk')
return
hub.light_matrix.show_image('NO')
wait_for_seconds(2)
hub.light_matrix.show_image('YES')
dial_cover.run_to_position(0)
lock.run_for_seconds(1)
app.play_sound('Wand')
wait_for_seconds(5)
hub.speaker.beep(60)
hub.speaker.beep(72)
lock.run_for_seconds(-1)
dial.run_to_position(0)
dial_cover.run_to_position(0)
dial.set_degrees_counted(0)
dial.set_stop_action('coast')
hub.light_matrix.show_image('NO')
timer.reset()
unlock()
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
12/31
¡Automatízalo!
https://education.lego.com/es-es/lessons/prime-
kickstart-a-business/automate-it
app = App()
base_motor = Motor('A')
arm_motor = Motor('F')
color_sensor = ColorSensor('D')
base_motor.set_default_speed(25)
arm_motor.set_default_speed(25)
def check_color():
# Esto comprobará el color del paquete.
arm_motor.run_to_position(235)
wait_for_seconds(4)
if color_sensor.get_color() == 'violet':
base_motor.run_to_position(0)
arm_motor.run_to_position(25)
app.play_sound('Triumph')
arm_motor.run_to_position(240)
else:
app.play_sound('Oops')
arm_motor.run_to_position(25)
for x in range(3):
arm_motor.run_for_degrees(-100, speed=100)
arm_motor.run_for_degrees(100, speed=100)
base_motor.run_to_position(90)
arm_motor.run_to_position(25)
check_color()
base_motor.run_to_position(0)
arm_motor.run_to_position(240)
base_motor.run_to_position(270)
arm_motor.run_to_position(25)
check_color()
base_motor.run_to_position(0)
arm_motor.run_to_position(240)
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
13/31
Break dance
https://education.lego.com/es-es/lessons/prime-
life-hacks/break-dance
hub = PrimeHub()
leg_motor = Motor('F')
arm_motor = Motor('B')
color_sensor = ColorSensor('D')
leg_motor.set_default_speed(-80)
arm_motor.set_default_speed(-80)
leg_motor.run_to_position(0)
arm_motor.run_to_position(0)
wait_for_seconds(1)
for x in range(10):
hub.light_matrix.write("1")
leg_motor.start()
arm_motor.run_for_rotations(1)
leg_motor.stop()
wait_for_seconds(0.45)
hub.light_matrix.write("2")
leg_motor.start()
arm_motor.run_for_rotations(1)
leg_motor.stop()
wait_for_seconds(0.45)
hub.light_matrix.write("3")
leg_motor.start()
arm_motor.run_for_rotations(1)
leg_motor.stop()
wait_for_seconds(0.45)
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
14/31
Repetir 5 veces
https://education.lego.com/es-es/lessons/prime-
life-hacks/repeat-5-times
hub = PrimeHub()
app = App()
left_leg_motor = Motor('B')
right_leg_motor = Motor('F')
left_leg_motor.set_default_speed(50)
right_leg_motor.set_default_speed(-50)
left_leg_motor.start()
right_leg_motor.start()
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
15/31
¿Lluvia o sol?
https://education.lego.com/es-es/lessons/prime-
life-hacks/rain-or-shine
hub = PrimeHub()
app = App()
umbrella_motor = Motor("B")
glasses_motor = Motor("F")
YOUR_LOCAL_FORECAST = "sunny"
umbrella_motor.set_default_speed(100)
glasses_motor.set_default_speed(100)
hub.speaker.beep(60, seconds=0.1)
hub.speaker.beep(72, seconds=0.1)
if YOUR_LOCAL_FORECAST == "sunny":
# Si el día está soleado, ponte las gafas de sol
glasses_motor.run_to_position(0)
hub.light_matrix.show_image("SQUARE")
wait_for_seconds(2)
glasses_motor.run_to_position(300)
elif YOUR_LOCAL_FORECAST == "rainy":
# O, si llueve, levanta tu paraguas
umbrella_motor.run_to_position(340)
app.play_sound("Rain")
umbrella_motor.run_to_position(45)
else:
# De lo contrario, mostrar X
hub.light_matrix.show_image("NO")
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
16/31
Velocidad del
viento
https://education.lego.com/es-es/lessons/prime-
life-hacks/wind-speed
tilt_motor = Motor("A")
WIND_SPEED_FORECAST = 8
tilt_motor.set_default_speed(20)
tilt_motor.run_to_position(5)
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
17/31
Amor vegetariano
https://education.lego.com/es-es/lessons/prime-
life-hacks/veggie-love
hub = PrimeHub()
app = App()
pointer_motor = Motor("E")
pointer_motor.set_default_speed(-50)
WEEK_RAIN = 50
ROTATION = 0
hub.left_button.wait_until_pressed()
pointer_motor.run_for_seconds(2)
pointer_motor.set_degrees_counted(0)
pointer_motor.set_default_speed(50)
pointer_motor.run_for_seconds(2)
hub.light_matrix.write(abs(pointer_motor.get_degrees_counted()))
rotation = int(week_rain * abs(pointer_motor.get_degrees_counted()) / 60)
print(ROTATION)
hub.right_button.wait_until_pressed()
pointer_motor.set_degrees_counted(0)
pointer_motor.set_default_speed(-50)
pointer_motor.run_for_degrees(ROTATION)
hub.light_matrix.write(WEEK_RAIN)
print(WEEK_RAIN)
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
18/31
Juego mental
https://education.lego.com/es-es/lessons/prime-
life-hacks/brain-game
while True:
hub.left_button.wait_until_pressed() if candy1_red_index == candy2_red_index:
for x in range(5):
# Esto hace que el Director de juego se coma el hub.light_matrix.set_pixel(x, candy1_red_
bastón de caramelo y a continuación lea y registre su index)
secuencia de colores en la lista llamada «Caramelo1». app.play_sound('Win')
hub.light_matrix.off() else:
candy1.clear() app.play_sound('Oops')
mouth_motor.set_default_speed(-50)
mouth_motor.run_for_seconds(2)
app.play_sound('Bite')
app.play_sound('Bite')
for x in range(5):
candy1.append(color_sensor.get_color())
wait_for_seconds(1)
mouth_motor.set_default_speed(50)
mouth_motor.run_for_degrees(95)
wait_for_seconds(1)
hub.right_button.wait_until_pressed()
for x in range(5):
candy2.append(color_sensor.get_color())
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
19/31
El entrenador
https://education.lego.com/es-es/lessons/prime-
life-hacks/the-coach
left_leg_motor = Motor('F')
right_leg_motor = Motor('B')
timer = Timer()
left_leg_motor.run_to_position(0)
right_leg_motor.run_to_position(0)
while True:
while timer.now() < 5:
left_leg_motor.start_at_power(-80)
right_leg_motor.start_at_power(80)
wait_for_seconds(0.1)
left_leg_motor.start_at_power(80)
right_leg_motor.start_at_power(-80)
wait_for_seconds(0.1)
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
20/31
Campamento de
entrenamiento 1
https://education.lego.com/es-es/lessons/prime-
competition-ready/training-camp-1-driving-around
drive_motors.set_default_speed(30)
drive_motors.set_motor_rotation(17.5, 'cm')
wait_for_seconds(1)
for x in range(4):
drive_motors.move(10, 'cm')
wait_for_seconds(0.5)
drive_motors.move(182, 'degrees', steering=100)
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
21/31
Campamento de
entrenamiento 2
https://education.lego.com/es-es/lessons/prime-
competition-ready/training-camp-2-playing-with-
objects
hub = PrimeHub()
drive_motors = MotorPair('C', 'D')
grabber_motor = Motor('E')
distance_sensor = DistanceSensor('F')
drive_motors.set_default_speed(30)
drive_motors.set_motor_rotation(17.5, 'cm')
grabber_motor.set_default_speed(-20)
grabber_motor.run_for_seconds(1)
grabber_motor.set_default_speed(20)
grabber_motor.run_for_degrees(75)
hub.speaker.beep(60)
hub.speaker.beep(72)
hub.right_button.wait_until_pressed()
wait_for_seconds(1)
drive_motors.start()
distance_sensor.wait_for_distance_closer_than(10, 'cm')
drive_motors.stop()
grabber_motor.run_for_degrees(-75)
hub.speaker.beep(60)
hub.speaker.beep(72)
drive_motors.move(-20, 'cm')
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
22/31
Campamento de
entrenamiento 3
https://education.lego.com/es-es/lessons/prime-
competition-ready/training-camp-3-react-to-lines
hub = PrimeHub()
drive_motors = MotorPair('C', 'D')
color_sensor = ColorSensor('B')
drive_motors.set_default_speed(50)
POWER = 50
while True:
if hub.left_button.was_pressed():
drive_motors.start()
color_sensor.wait_until_color('black')
drive_motors.stop()
if hub.right_button.was_pressed():
while True:
drive_motors.start_tank_at_power(0, POWER)
color_sensor.wait_until_color('black')
drive_motors.start_tank_at_power(POWER, 0)
color_sensor.wait_until_color('white')
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
23/31
hub = PrimeHub()
drive_motors = MotorPair('A', 'E')
drive_motors.set_default_speed(50)
drive_motors.set_motor_rotation(27.63, 'cm')
wait_for_seconds(1)
drive_motors.move(20, 'cm')
drive_motors.move(-20, 'cm')
hub.motion_sensor.reset_yaw_angle()
drive_motors.start(steering=100)
wait_until(hub.motion_sensor.get_yaw_angle, greater_than, 90)
drive_motors.stop()
drive_motors.start(steering=-100)
wait_until(hub.motion_sensor.get_yaw_angle, less_than, 0)
drive_motors.stop()
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
24/31
Mi código,
nuestro programa
https://education.lego.com/es-es/lessons/prime-
competition-ready/my-code-our-program
hub = PrimeHub()
drive_motors = MotorPair('A', 'E')
drive_motors.set_default_speed(50)
drive_motors.set_motor_rotation(27.63, 'cm')
def square():
for x in range(4):
drive_motors.move(1.5, 'rotations')
drive_motors.move(0.365, 'rotations', steering=100)
def triangle():
for x in range(3):
drive_motors.move(1.5, 'rotations')
drive_motors.move(0.486, 'rotations', steering=100)
def circle():
drive_motors.move(3, 'rotations', steering=60)
wait_for_seconds(1)
square()
hub.speaker.beep()
triangle()
hub.speaker.beep()
circle()
hub.speaker.beep()
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
25/31
¡Hora de mejorar!
https://education.lego.com/es-es/lessons/prime-
competition-ready/time-for-an-upgrade
hub = PrimeHub()
lift_arm_motor = Motor('D')
dozer_blade_motor = Motor('C')
lift_arm_motor.set_default_speed(-100)
lift_arm_motor.run_for_seconds(1)
dozer_blade_motor.set_default_speed(-100)
dozer_blade_motor.run_for_seconds(1)
lift_arm_motor.set_default_speed(100)
lift_arm_motor.run_for_degrees(70)
dozer_blade_motor.set_default_speed(100)
dozer_blade_motor.run_for_degrees(70)
hub.speaker.beep()
lift_arm_motor.run_for_degrees(180)
lift_arm_motor.run_for_degrees(-180)
dozer_blade_motor.run_for_degrees(180)
dozer_blade_motor.run_for_degrees(-180)
hub.speaker.beep()
lift_arm_motor.run_for_degrees(180, speed=15)
lift_arm_motor.run_for_degrees(-180, speed=15)
dozer_blade_motor.run_for_degrees(180, speed=15)
dozer_blade_motor.run_for_degrees(-180, speed=15)
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
26/31
Listo para la
misión
https://education.lego.com/es-es/lessons/prime-
competition-ready/mission-ready
dozer_blade_motor = Motor('C')
lift_arm_motor = Motor('D')
drive_motors = MotorPair('A', 'E')
drive_motors.set_default_speed(25)
drive_motors.set_motor_rotation(27.63, 'cm')
dozer_blade_motor.start(-100)
lift_arm_motor.start(-100)
wait_for_seconds(1)
dozer_blade_motor.stop()
lift_arm_motor.stop()
dozer_blade_motor.run_for_degrees(70, speed=100)
lift_arm_motor.run_for_degrees(20, speed=100)
drive_motors.move(-2, 'cm')
drive_motors.move(10.5, 'cm')
dozer_blade_motor.run_for_degrees(180, speed=40)
drive_motors.move(-6, 'cm')
dozer_blade_motor.run_for_degrees(-180, speed=60)
dozer_blade_motor.run_for_degrees(180, speed=60)
drive_motors.move(7, 'cm')
dozer_blade_motor.run_for_degrees(-180, speed=60)
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
27/31
Pasa el ladrillo
https://education.lego.com/es-es/lessons/prime-
extra-resources/pass-the-brick
hub = PrimeHub()
grabber_motor = Motor('F')
while True:
# Esto hará que la mano se cierre cuando pulses el botón izquierdo del Hub.
hub.left_button.wait_until_pressed()
grabber_motor.set_stall_detection(False)
grabber_motor.start(-75)
# Esto hará que la mano se abra cuando pulses el botón izquierdo del Hub.
hub.left_button.wait_until_released()
grabber_motor.set_stall_detection(True)
grabber_motor.start(75)
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
28/31
hub = PrimeHub()
while True:
if hub.left_button.was_pressed():
hub.light_matrix.write('3')
wait_for_seconds(1)
hub.light_matrix.write('2')
wait_for_seconds(1)
hub.light_matrix.write('1')
wait_for_seconds(1)
hub.light_matrix.off()
hub.speaker.beep(60, 0.5)
hub.speaker.beep(72, 0.5)
if hub.right_button.was_pressed():
hub.light_matrix.write('5')
wait_for_seconds(60)
hub.light_matrix.write('4')
wait_for_seconds(60)
hub.light_matrix.write('3')
wait_for_seconds(60)
hub.light_matrix.write('2')
wait_for_seconds(60)
hub.light_matrix.write('1')
wait_for_seconds(60)
hub.light_matrix.off()
hub.speaker.beep(60, 0.5)
hub.speaker.beep(72, 0.5)
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
29/31
¿En qué
consiste?
https://education.lego.com/es-es/lessons/prime-
extra-resources/what-is-this
motor = Motor('F')
motor.set_stall_detection(False)
for x in range(5):
motor.set_default_speed(50)
motor.run_for_seconds(2)
motor.set_default_speed(-50)
motor.run_for_seconds(2)
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
30/31
Cubrir la
distancia
https://education.lego.com/es-es/lessons/prime-
extra-resources/going-the-distance
drive_motors.set_default_speed(50)
drive_motors.move(10, 'rotations')
drive_motors.stop()
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.
31/31
¡Gol!
https://education.lego.com/es-es/lessons/prime-
extra-resources/goal
hub = PrimeHub()
kicker = Motor('A')
kicker.set_default_speed(100)
while True:
kicker.run_to_position(0)
hub.left_button.wait_until_pressed()
kicker.run_for_rotations(1)
wait_for_seconds(1)
LEGO, the LEGO logo, the Minifigure and the SPIKE logo are trademarks of the LEGO Group. ©2020 The LEGO Group.
FIRST® is a registered trademark of For Inspiration and Recognition of Science and Technology (FIRST). LEGO® is a registered trademark of the LEGO Group. FIRST® LEGO® League are jointly
held trademarks of FIRST and the LEGO Group. ©2020 FIRST and the LEGO Group. All rights reserved.