name = 'Drži smer' slug = 'Drži smer' description = '''\

Robot naj drži smer - če ga obrnemo iz začetne smeri, naj se zasuka nazaj v prvotno smer. Ob pritisku na stikalo, naj se resetira (smer nastavi na 0).

''' hint = { 'mW_init':['''

Robota v programu predstavimo z mindstorms_widgets(): robot = mindstorms_widgets().

'''], 'connectMotorLeft':['''

Robotu priključi levi motor

''', '''

robot.connect_motor( 'left' ).

'''], 'connectMotorRight':['''

Robotu priključi desni motor

''', '''

robot.connect_motor( 'right' ).

'''], 'connectGyro':['''

Robotu priključi žiroskop

''', '''

robot.connect_sensor( 'gyro' ).

'''], 'connectTouch':['''

Robotu priključi stikalo

''', '''

robot.connect_sensor( 'touch' ).

'''], 'resetGyro':['''

Žiroskop na začetku in ob pritisku na stikalo resetiraj.

''', '''

robot.reset_gyro().

'''], 'setGyroMode':['''

Žiroskopu nastavi način delovanja na merjenje kotov.

''', '''

robot.gyro_set_mode('angle').

'''], 'gyroMeasure':['''

Preberi vrednost žiroskopa.

''', '''

robot.gyro_sensor_measure().

'''], 'ifTouch':['''

Preveri, če je stikalo pritisnjeno.

''', '''

if robot.touch_sensor_measure():.

'''], 'lrPower':['''

Za obrat na mestu se morata kolesi vrteti z enako močjo in v nasprotni smeri.

''', '''

robot.move_tank( 'on_for_seconds', lr_power=[hitrost, -hitrost], ... ).

'''], 'moveTank':['''

Robot naj se obrne na mestu.

''', '''

Najprimernejša metoda za to je move_tank

'''], 'while':['''

Program naj teče v neskončni zanki.

''', '''

while 1:

'''], } plan = ['''\

Program izvedemo v naslednjih korakih:

  1. Naredimo objekt mindstorms_widgets(), s katerim predstavimo robota.
  2. Nanj povežemo oba pogonska motorja.
  3. Robotu dodamo žiroskop in ga resetiramo.
  4. Robotu dodamo stikalo.
  5. V neskončni zanki beremo vrednost kota z žiroskopom.
  6. Glede na zasuk iz začetne lege, robota na mestu obrnemo v začetno smer.
''' ]