summaryrefslogtreecommitdiff
path: root/robot/problems/introduction/followline/sl.py
blob: cdc6e1999a8777fbfbec9f27695f938bd277158e (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
48
49
# coding=utf-8

name = 'Sledenje črti'
slug = 'Sledenje črti'

description = '''\
<p>Robot naj 10 sekund sledi črni črti na beli podlagi; pri tem naj si pomaga z barvnim senzorjem.</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>'''],
    
    'moveTankOn':['''<p>Uporabi metodo za ločen nadzor motorjev, s katero vsakemu od motorjev nastavljaš drugačno moč.</p>''',
                    '''<p>Za to je najbolj primerna metoda <code>robot.move_tank( ... )</code>.</p>''',
                    '''<p><code>robot.move_tank( 'on', ...)</code></p>'''],
    'lrPower': ['''<p>Nastavi parameter s katerim nastaviš moči levega in desnega motorja.</p>''',
                '''<p><code>robot.move_tank( 'on', lr_power=[ ... ])</code></p>'''],
    'moveTankOff': ['''Ustavi robota.''',
                    '''<p><code>robot.move_tank( 'off' )</code></p>'''],    
    'connectColorSensor':['''<p>Robotu moramo priključiti barvni senzor.</p>''',
                    '''<p><code>robot.connect_sensor( 'color' )</code>.</p>'''],
    'colorSensorMeasureRLI':['''<p>Medtem ko se robot pomika naprej, naj uporabi barvni senzor v načinu 'reflected_light_intensity', za zaznavanje jakosti odbite svetlobe.</p>''',
                    '''<p><code>robot.color_sensor_measure( 'reflected_light_intensity' )</code>.</p>'''],
    'while':['''<p>Uporabi zanko, znotraj katere robot sledi črti.</p>''',
             '''<p>Zanka naj bo časovno omejena, npr. z uporabo metode <code>time.time()</code>.</p>''',
             '''<p><code>start = time.time()\nwhile time.time()-start < 10:</code>.</p>'''],
    'time': ['''Uporabi metodo time() za merjenje časa.''',
             '''<p><code>start = time.time()\nwhile time.time()-start < 10:</code></p>'''],
    'if': ['''<p>V zanki uporabi pogojni stavek...</p>''',
           '''<p>Če robot vidi črto, naj zavije z nje; če vidi podlago, naj zavije proti črti.</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 barvni senzor.</li>
  <li>V zanki preverjamo, kakšno barvo vidi robot s senzorjem.</li>
  <li>Če vidi črno, naj zavije desno, če vidi belo, naj zavije levo. (Sledi desnemu robu črte).</li>
  <li>Zanka naj se konča po vnaprej določenem času, 10 sekund.</li>
  <li>Ustavimo oba motorja.</li>
</ol>
<p>Opomba: potrebna je predhodna kalibracija barvnega senzorja.</p>
'''
]