Tavs šīs stundas izaicinājums: Izveidot mehānisku satvērēju, izmantojot trešo motoru, un ieprogrammēt robotu autonomi piebraukt pie objekta, satvert to un nogādāt citā laukuma vietā.
Datorika 7. klase (D.7.1.1., D.7.4.2., D.7.5.1.)Līdz šim mēs izmantojām tikai rozā "Movement" blokus, kas darbina divus motorus vienlaicīgi kā automašīnas riteņus. Bet lai kustinātu robota roku, pacēlāju vai satvērēju, mums nepieciešams vadīt vienu konkrētu motoru neatkarīgi no pārējiem.
[Ievietot attēlu šeit: Ekrānuzņēmums no SPIKE lietotnes ar zilajiem "run motor [C] for [90] degrees" un "go to shortest path to position [0]" blokiem]
Pievienojiet robota bāzei trešo motoru un uzbūvējiet vienkāršu mehānismu objektu satveršanai vai stumšanai.
Ieprogrammējiet tikko uzbūvēto manipulatoru atvērties un aizvērties, nospiežot Hub pogas, nepārvietojot pašu robotu.
when [Left Button] pressed.run motor [C] for [90] [degrees]. Pārbaudiet, vai spīles aizveras.run motor [C] for [-90] [degrees] vai izmantojiet absolūto pozīciju go to position [0]).set motor [C] power to [30]%, lai nesabojātu motoru ar pārslodzi.Savienojiet braukšanas (rozā) un manipulatora (zilos) blokus! Robotam jāaizbrauc līdz objektam (piemēram, 30 cm attālumā), jāsatver tas un jāatved atpakaļ starta pozīcijā.
move [forward] for [30] cm bloku. Pārliecinieties, ka robots apstājas tieši pie objekta.move [backward] vai pagriezieties par 180 grādiem un aizbrauciet atpakaļ ar objektu.Ātrākajām komandām – savienojiet šīs stundas satvērēju ar iepriekšējo stundu sensoriem.
run motor for [degrees] bloku un spīles fiziski nevar sasniegt šos grādus (jo priekšmets ir pa vidu), programma gaidīs mūžīgi un neies uz priekšu. Risinājums: pirms satveršanas izmantojiet zilo bloku set motor [C] to run for [X] seconds vai nomainiet stāvokli uz "stop motor" pēc sekundi ilgas piepūles.
# SPIKE Word Blocks vizuālā koda tekstuālā reprezentācija
when program starts
set movement motors to [A] and [B]
# 1. Atver satvērēju
run motor [C] to position [0] degrees at [50]% speed
# 2. Brauc pie mērķa
move [Straight] for [30] [cm]
# 3. Satver objektu (izmantojot laiku, lai neiesprūstu)
start motor [C] at [50]% speed
wait [1] seconds
stop motor [C]
# 4. Atgriežas un noliek
move [Backward] for [30] [cm]
run motor [C] to position [0] degrees