summaryrefslogtreecommitdiff
path: root/robot/problems/introduction/gyrosquare/sl.py
blob: 5de4f3591023da30b79ac3858f9d83f20d953ff2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
name = 'Kvadrat z žiroskopom'
slug = 'Kvadrat z žiroskopom'

description = '''\
<p>Robot naj prevozi kvadrat s stranico 20 cm; pri tem naj si pomaga z žiroskopom.</p>'''

hint = {
    'mW_init':['''<p>Robota v programu predstavimo z mindstorms_widgets(): <code>robot = mindstorms_widgets()</code>.</p>'''],
    'connectMotorLeft':['''<p>Robotu priključi levi motor</p>''',
                 '''<p><code>robot.connect_motor( 'left' )</code>.</p>'''],
    'connectMotorRight':['''<p>Robotu priključi desni motor</p>''',
                 '''<p><code>robot.connect_motor( 'right' )</code>.</p>'''],
    'connectGyro':['''<p>Robotu priključi žiroskop.</p>''',
                 '''<p><code>robot.connect_sensor( 'gyro' )</code>.</p>'''],
    'resetGyro':['''<p>Žiroskop na začetku resetiraj.</p>''',
                 '''<p><code>robot.reset_gyro()</code>.</p>'''],
    'setGyroMode':['''<p>Žiroskopu nastavi način delovanja na merjenje kotov.</p>''',
                   '''<p><code>robot.gyro_set_mode('angle')</code>.</p>'''],
    'gyroMeasure':['''<p>Preberi vrednost žiroskopa.</p>''',
                   '''<p><code>robot.gyro_sensor_measure()</code>.</p>'''],
    'lrPower':['''<p>Za obrat na mestu se morata kolesi vrteti z enako močjo in v nasprotni smeri.</p>''',
               '''<p><code>robot.move_tank( 'on', lr_power=[hitrost, -hitrost], ... )</code>.</p>'''],
    'moveTank':['''<p>Robot naj se obrne na mestu.</p>''',
                 '''<p>Najprimernejša metoda za to je <code>move_tank</code></p>'''],
    'while':['''<p>Program naj čaka dokler je kot zasuka manjši od 90 stopinj.</p>''',
             '''<p><code>robot.gyro_sensor_measure() < 90:</code></p>'''],
    
    'moveSteering':['''<p>Sinhroniziraj motorja in ju zaženi.</p>''',
                    '''<p>Za sinhronizirano vožnjo je najbolj primerna metoda <code>robot.move_steering( ... )</code>.</p>'''],
    'onForSeconds':['''<p>Prvi argument metode <code>robot.move_steering</code> naj pove, da bo delovanje motorjev časovno omejeno.</p>''',
                    '''<p><code>robot.move_steering('on_for_seconds', ... )</code>.</p>'''],
    'direction':['''<p>Navedi smer premikanja motorjev, naravnost = 0.</p>''',
                    '''<p><code>robot.move_steering( 'on_for_seconds', direction=0, ... )</code>.</p>'''],
    'seconds':['''<p>Napiši časovno omejitev v sekundah.</p>''',
                    '''<p><code>robot.move_steering( 'on_for_seconds', direction=0, seconds=3 )</code>.</p>'''],
}

plan = ['''\
<p>Program izvedemo v naslednjih korakih:</p>
<ol>
  <li>Naredimo objekt mindstorms_widgets(), s katerim predstavimo robota.</li>
  <li>Nanj povežemo oba pogonska motorja.</li>
  <li>Povežemo žiroskop in ga resetiramo.</li>
  <li>Napišemo funkcijo, ki robota pelje naravnost po stranici, nato pa ga na mestu obrne za 90 stopinj.</li>
  <li>Zgornja funkcijo pokličemo 4-krat zaporedoma.</li>
</ol>'''
]