1. tēma: Ievads LEGO SPIKE un robota pamatkustības

Tavs šīs stundas izaicinājums: Konstruēt bāzes robotu, ieprogrammēt tā taisnvirziena kustību, pārbaudīt pagriezienu loģiku un analizēt leņķu ietekmi uz trajektoriju.

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

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ā).

[Ievietot attēlu šeit: Ekrānuzņēmums no SPIKE lietotnes ar rozā "set movement motors" un "move forward" blokiem]

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. Tas jums būs jāatklāj eksperimentējot!

1. uzdevums: Bāzes robota konstruēšana

Kopā ar komandu uzbūvējiet pārvietošanās bāzi (Driving Base) un savienojiet to ar datoru.

Izpildes soļi:

  1. Atveriet LEGO SPIKE lietotni datorā, dodieties uz sadaļu "Build" un atrodiet "Driving Base 1".
  2. Sadaliet pienākumus (piemēram, divi meklē detaļas, divi būvē), lai strādātu ātrāk.
  3. Kad robots gatavs, ieslēdziet Hubu un savienojiet to ar datoru (izmantojot USB vadu vai Bluetooth).
  4. Izveidojiet jaunu "Word Blocks" projektu.

2. uzdevums: Precīzā braukšana (Taisne)

Ieprogrammējiet robotu nobraukt tieši 50 centimetrus uz priekšu un atgriezties starta pozīcijā atpakaļgaitā.

Izpildes soļi:

  1. Programmas sākumā pievienojiet bloku set movement motors to un norādiet savu motoru portus (piem., A un B).
  2. Izmantojiet bloku move [forward] for [10] [cm] un nomainiet vērtību uz 50.
  3. Pievienojiet nākamo bloku, norādot virzienu [backward], lai tas atgrieztos atpakaļ.
  4. Palaidiet kodu un ar mērlenti pārbaudiet, vai tiešām nobraukti 50cm. Ja riteņi izslīd, mēģiniet pievienot ātruma samazināšanas bloku set movement speed to [50]%.

3. uzdevums: Kvadrāta dejsolis

Liekam robotam apbraukt iedomātu kasti – izveidojiet kodu, kas liek robotam nobraukt precīzu kvadrātu.

Izpildes soļi:

  1. Kvadrātam ir 4 vienādas malas. Pievienojiet bloku braukšanai uz priekšu par 20 cm.
  2. Pievienojiet pagrieziena bloku move [Right] for [180] [degrees]. Atcerieties – 180 riteņa grādi var nebūt 90 grādi telpā! Pārbaudiet un mainiet ciparu, līdz robots pagriežas tieši par 90 grādiem (taisnā leņķī).
  3. Tā vietā, lai kopētu šos divus blokus vēl trīs reizes, izmantojiet oranžo "Control" bloku repeat [4] un ielieciet braukšanas/griešanās komandas tajā iekšā (Cikls).

4. uzdevums (Zvaigznītes izaicinājums): "Astoņnieks"

Izaicinājums ātrākajām komandām – ieprogrammējiet robotu, lai tas izbrauc "8" cipara trajektoriju.

Izpildes soļi:

  1. Pārveidojiet programmu tā, lai robots sākumā izbrauktu pilnu apli pa labi.
  2. Lai robota kustība nebūtu stūraina kā kvadrātam, izpētiet, kā izmantot kustības blokus ar stūrēšanas (steering) vērtību, piemēram, start moving at [50] % steering.
  3. Pēc viena pilna apļa pa labi, uzrakstiet kodu pilnam aplim pa kreisi, lai noslēgtu astoņnieku.

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

Koda piemērs (Kvadrāta algoritms)


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

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

repeat [4] times:
    move [Straight] for [20] [cm]
    move [Right] for [180] [degrees] 
    # Piezīme: 180 grādi šeit ir riteņa apgrieziens, kas jāpielāgo, 
    # lai fiziski sanāktu 90 grādu pagrieziens uz paklāja.
        
Robots nobrauks vienādu distanci, pagriezīsies par aptuveni 90 grādiem telpā, un atkārtos to 4 reizes, izveidojot slēgtu kvadrāta trajektoriju.
Nākamā stunda ➡