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()
|