Skip to content

Jednoduché úlohy

Varovanie

Môže nastať problém, keď simulátor nedobre napodobňuje robota v realite. Má veľkú zotrvačnosť a po vypnutí motorov sa robot (v simulátori) aj tak stále hýbe vpred, hoci reálny robot by stál na mieste. Riešením je prepísať všetky .stop() na .hold(). To zaručí, že sa kolesá už nebudú ďalej hýbať zotrvačnosťou.

1. Úkol
#!/usr/bin/env pybricks-micropython

from pybricks.ev3devices import Motor
from pybricks.parameters import Port
from pybricks.tools import wait

# 1. Co kdybychom spustili motory 2krát rychleji? Nebo ještě víc? Jak
# nejrychleji je umíte spustit?

lavy_motor = Motor( Port.B )
pravy_motor = Motor( Port.C )

lavy_motor.run( 360 )
pravy_motor.run( 360 )

wait( 2000 )

lavy_motor.stop()
pravy_motor.stop()
2. Úkol
#!/usr/bin/env pybricks-micropython

from pybricks.ev3devices import Motor
from pybricks.parameters import Port
from pybricks.tools import wait

# 2. Nyní bychom chtěli našeho robota pustit do druhé strany, aby šel dozadu.
# Jak byste to udělali?

lavy_motor = Motor( Port.B )
pravy_motor = Motor( Port.C )

lavy_motor.run( 360 )
pravy_motor.run( 360 )

wait( 2000 )

lavy_motor.stop()
pravy_motor.stop()
3. Úkol
#!/usr/bin/env pybricks-micropython

from pybricks.ev3devices import Motor
from pybricks.parameters import Port
from pybricks.tools import wait

# 3. Vyzkoušejte spustit jen jeden motor, druhým se vůbec nepohne. Jaký pohyb robot
# udělá?
# Napište program, kde se robot bude točit na místě.

lavy_motor = Motor( Port.B )
pravy_motor = Motor( Port.C )

lavy_motor.run( 360 )
pravy_motor.run( 360 )

wait( 2000 )

lavy_motor.stop()
pravy_motor.stop()
4. Úkol
#!/usr/bin/env pybricks-micropython

from pybricks.ev3devices import Motor
from pybricks.parameters import Port
from pybricks.tools import wait

# 4. A jak byste poslali robota do kruhu? Přemýšlejte nad tím, vyzkoušejte
# si s programem pohrát, co Vás napadne.

lavy_motor = Motor( Port.B )
pravy_motor = Motor( Port.C )

lavy_motor.run( 360 )
pravy_motor.run( 360 )

wait( 2000 )

lavy_motor.stop()
pravy_motor.stop()
5. Úkol
#!/usr/bin/env pybricks-micropython

from pybricks.ev3devices import Motor
from pybricks.parameters import Port
from pybricks.tools import wait

# 5. Rozšiřte program dále, aby robot nejprve šel jednu sekundu dopředu, poté
# jednu sekundu dozadu.

lavy_motor = Motor( Port.B )
pravy_motor = Motor( Port.C )

lavy_motor.run( 360 )
pravy_motor.run( 360 )

wait( 2000 )

lavy_motor.stop()
pravy_motor.stop()
6. Úkol
#!/usr/bin/env pybricks-micropython

from pybricks.ev3devices import Motor
from pybricks.parameters import Port
from pybricks.tools import wait

# 6. Rozšiřte program dále, aby robot nejprve šel jednu sekundu dopředu, poté
# jednu sekundu dozadu.
# Nyní chceme, aby mezitím ještě 1 vteřinu stál na místě.

lavy_motor = Motor( Port.B )
pravy_motor = Motor( Port.C )

lavy_motor.run( 360 )
pravy_motor.run( 360 )

wait( 2000 )

lavy_motor.stop()
pravy_motor.stop()
7. Úkol
#!/usr/bin/env pybricks-micropython

from pybricks.ev3devices import Motor
from pybricks.parameters import Port
from pybricks.tools import wait

# 7. Naprogramujte robota tak, aby se otočil doprava. (Tedy udělal 90° otocku)

lavy_motor = Motor( Port.B )
pravy_motor = Motor( Port.C )

lavy_motor.run( 360 )
pravy_motor.run( 360 )

wait( 2000 )

lavy_motor.stop()
pravy_motor.stop()
8. Úkol
#!/usr/bin/env pybricks-micropython

from pybricks.ev3devices import Motor
from pybricks.parameters import Port
from pybricks.tools import wait

# 8. Naprogramujte robota tak, aby šel do čtverce.

lavy_motor = Motor( Port.B )
pravy_motor = Motor( Port.C )

lavy_motor.run( 360 )
pravy_motor.run( 360 )

wait( 2000 )

lavy_motor.stop()
pravy_motor.stop()