ebSkola

1.1 Ievads LEGO SPIKE un robota pamatkustības

Stundas uzdevums: Uzbūvēt braukšanas bāzi, nobraukt precīzus 50 cm turp un atpakaļ un izbraukt kvadrātu ar repeat ciklu.

Datorika 7. klase (D.7.1.1., D.7.2.1.)

70 min plāns: Teorija un paraugs (~10 min) · 1. uzdevums (~20 min) - uzbūvē braukšanas bāzi un palaid pirmos 20 cm · 2. uzdevums (~25 min) - nobrauc precīzus 50 cm turp un atpakaļ · 3. uzdevums (~15 min) - izbrauc kvadrātu ar repeat [4] ciklu. Papildu uzdevumu sāc tikai tad, ja pārējie trīs ir gatavi.

Pirms sāc: paņem LEGO SPIKE Prime komplektu, atver SPIKE lietotni datorā, sagatavo USB vadu, mērlenti un līmlenti starta līnijai uz grīdas.

Teorija: Robota smadzenes un kustības loģika

Lai robots varētu patstāvīgi kustēties, tam ir nepieciešamas trīs lietas: "smadzenes" jeb Hubs (kas dod komandas), motori (kas veic fizisko darbu) un programma (instrukcijas angļu valodā).

  • Porti (A līdz F): Hubam ir 6 pieslēgvietas. Ir ļoti svarīgi atcerēties, kuros portos ir pieslēgti tavi labās un kreisās puses motori. Šajā tēmā vienmēr lietosim portu A kreisajam un portu B labajam riteņa motoram.
  • "Movement" bloki (Rozā krāsā): SPIKE lietotnē ir zili "Motor" bloki un rozā "Movement" bloki. Tā kā mūsu robotam ir divi motori un mēs gribam, lai tie strādātu reizē (kā automašīnai), mēs izmantosim tikai rozā blokus.
  • Konfigurācija: Pašā programmas sākumā robotam OBLIGĀTI jāpasaka, kuros portos atrodas riteņi, izmantojot bloku set movement motors to [A] and [B].

Vizuālais orientieris: SPIKE lietotnē meklē rozā "set movement motors" un "move forward" blokus; tie ir šīs stundas kustības programmas pamats.

Svarīgi par pagriezieniem: Ja tu pasaki robotam pagriezties par 90 grādiem (degrees), tas nenozīmē, ka pats robots pagriezīsies par 90 grādiem telpā! Tas nozīmē, ka robota motors (ritenis) veiks 90 grādu apgriezienu. Lai robots pagrieztos par 90 grādiem pret istabas sienu, riteņiem bieži vien jāgriežas vairāk, piemēram, 175 vai 185 grādus. Tev to nāksies atrast, mainot skaitli un pārbaudot!

1. uzdevums -

Uzbūvē braukšanas bāzi un palaid pirmos 20 cm

Beigās tavs robots nobrauks 20 cm uz priekšu un pats apstāsies.

  1. Atver SPIKE lietotnē sadaļu "Build" un izvēlies modeli "Driving Base 1".
  2. Uzbūvē braukšanas bāzi pēc instrukcijas soļiem.
  3. Iespraud kreisā motora vadu portā A, labā motora vadu portā B.
  4. Savieno Hubu ar datoru pa USB vadu un izveido jaunu "Word Blocks" projektu.
  5. Ievelc zem when program starts bloku set movement motors to [A] and [B].
  6. Pievieno bloku move [forward] for [20] [cm] un palaid programmu.

Gatavs, kad: robots pēc palaišanas nobrauc aptuveni vienu lineāla garumu uz priekšu un pats apstājas.

2. uzdevums -

Nobrauc precīzus 50 cm turp un atpakaļ

Beigās robots nobrauks 50 cm uz priekšu un atgriezīsies uz savas starta līnijas.

  1. Uzlīmē uz grīdas starta līniju ar līmlenti un atmēri no tās 50 cm ar mērlenti.
  2. Nomaini blokā move [forward] for [20] [cm] skaitli no 20 uz 50.
  3. Pievieno zem tā bloku move [backward] for [50] [cm].
  4. Palaid programmu no starta līnijas un nomēri, cik centimetru robots patiesībā nobrauca.
  5. Ieliec programmas sākumā bloku set movement speed to [40]%, ja riteņi izslīd pa grīdu.
  6. Atkārto braucienu vēl divas reizes un pieraksti novirzi centimetros.

Gatavs, kad: pēc atpakaļgaitas robota priekšpuse apstājas ne tālāk kā 3 cm no starta līnijas.

3. uzdevums -

Izbrauc kvadrātu ar repeat ciklu

Beigās robots nobrauks kvadrātu un atgriezīsies turpat, kur sāka.

  1. Izveido jaunu programmu ar bloku set movement motors to [A] and [B].
  2. Pievieno bloku move [forward] for [20] [cm].
  3. Pievieno zem tā pagrieziena bloku move [right] for [180] [degrees].
  4. Palaid programmu un pieliec pie robota lapas stūri, lai redzētu, vai pagrieziens ir taisns leņķis.
  5. Maini grādu skaitli (piemēram, uz 175 vai 190), līdz robots pagriežas tieši par 90 grādiem.
  6. Ieliec abus blokus oranžajā repeat [4] times ciklā un palaid vēlreiz.

Gatavs, kad: robots nobrauc četras vienāda garuma malas un apstājas mazāk nekā 10 cm no starta punkta.

Papildu uzdevums - Izbrauc astoņnieka trajektoriju

Beigās robota ceļš uz grīdas veidos cipara 8 formu no diviem apļiem.

  1. Izveido jaunu programmu ar bloku set movement motors to [A] and [B].
  2. Pievieno bloku start moving at [50] % steering un zem tā wait for [3] seconds.
  3. Pievieno bloku start moving at [-50] % steering un zem tā wait for [3] seconds.
  4. Pievieno pašās beigās bloku stop moving.
  5. Maini sekunžu skaitli abās vietās, līdz katrs aplis noslēdzas pilnībā.

Gatavs, kad: robots izbrauc divus vienāda lieluma apļus, kas krustojas vienā punktā.

Biežākās kļūdas (un kā tās labot):

  • Robots griežas uz riņķi, nevis brauc uz priekšu: koda sākumā esi sajaucis labā un kreisā motora portus. Samaini vietām portu burtus blokā set movement motors.
  • Robots nebrauc taisni, bet "velk" uz vienu pusi: pārbaudi, vai abi riteņi ir stingri uzspiesti uz motoru asīm un nekur nerīvējas gar robota rāmi. Var būt arī, ka kabelis traucē riteņa kustībai.
  • Pēc pagrieziena robots neapstājas un turpina griezties: esi izmantojis start moving bloku bez beigu nosacījuma. Pagriezieniem lieto move [right] for [180] [degrees] bloku, kas apstājas pats.

Koda piemērs (pagrieziena grādu pielāgošana kvadrātā)


# SPIKE Word Blocks vizuālā koda tekstuālā reprezentācija

when program starts
set movement motors to [A] and [B]
set movement speed to [40]%

repeat [4] times:
    move [forward] for [20] [cm]
    move [right] for [180] [degrees]
    # 180 ir RITEŅA grādi, nevis robota pagrieziens telpā.
    # Ja kvadrāts "aizveras" par agru -> samazini uz 175.
    # Ja robots nepagriežas pietiekami -> palielini uz 190.

stop moving
# NELIETO pagriezienam "start moving" - tas nekad neapstājas pats.
        
Uz grīdas paliek slēgts kvadrāts: robots nobrauc četras 20 cm malas, katru reizi pagriežas par aptuveni 90 grādiem un beigās apstājas dažus centimetrus no starta punkta.