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.
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.
- Atver SPIKE lietotnē sadaļu "Build" un izvēlies modeli "Driving Base 1".
- Uzbūvē braukšanas bāzi pēc instrukcijas soļiem.
- Iespraud kreisā motora vadu portā A, labā motora vadu portā B.
- Savieno Hubu ar datoru pa USB vadu un izveido jaunu "Word Blocks" projektu.
- Ievelc zem
when program startsblokuset movement motors to [A] and [B]. - 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.
- Uzlīmē uz grīdas starta līniju ar līmlenti un atmēri no tās 50 cm ar mērlenti.
- Nomaini blokā
move [forward] for [20] [cm]skaitli no 20 uz 50. - Pievieno zem tā bloku
move [backward] for [50] [cm]. - Palaid programmu no starta līnijas un nomēri, cik centimetru robots patiesībā nobrauca.
- Ieliec programmas sākumā bloku
set movement speed to [40]%, ja riteņi izslīd pa grīdu. - 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.
- Izveido jaunu programmu ar bloku
set movement motors to [A] and [B]. - Pievieno bloku
move [forward] for [20] [cm]. - Pievieno zem tā pagrieziena bloku
move [right] for [180] [degrees]. - Palaid programmu un pieliec pie robota lapas stūri, lai redzētu, vai pagrieziens ir taisns leņķis.
- Maini grādu skaitli (piemēram, uz 175 vai 190), līdz robots pagriežas tieši par 90 grādiem.
- Ieliec abus blokus oranžajā
repeat [4] timesciklā 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.
- Izveido jaunu programmu ar bloku
set movement motors to [A] and [B]. - Pievieno bloku
start moving at [50] % steeringun zem tāwait for [3] seconds. - Pievieno bloku
start moving at [-50] % steeringun zem tāwait for [3] seconds. - Pievieno pašās beigās bloku
stop moving. - 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 movingbloku bez beigu nosacījuma. Pagriezieniem lietomove [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.