Tavs šīs stundas izaicinājums: Pievienot robotikas bāzes modelim ultraskaņas distances sensoru, ieprogrammēt to automātiski apstāties pirms sienas un veiksmīgi apbraukt šķēršļus, demonstrējot izpratni par nosacījumu algoritmiem.
Datorika 7. klase (D.7.2.1., D.7.4.1.)Iepriekšējā stundā mēs teicām robotam precīzi, cik tālu braukt (piemēram, 50 cm). Bet reālajā pasaulē robotiem bieži jābrauc nezināmā vidē, līdz tie kaut ko pamana. Šim nolūkam izmanto sensorus un "Gaidīšanas" (Wait) komandas.
start moving bloks ieslēdz motorus un atstāj tos ieslēgtus uz visiem laikiem... ja vien mēs nepavēlam citādi!wait until [Distance in cm] < [15], motors turpinās darboties TIKAI TIK ILGI, kamēr attālums kļūs mazāks par 15 cm. Pēc tam programma pāries pie nākamā bloka (piemēram, apstāšanās).[Ievietot attēlu šeit: Ekrānuzņēmums ar "start moving [Straight]", kam seko oranžais "wait until [sensor port] is closer than [15] cm", un beigās "stop moving" bloks]
Uzmontējiet distances sensoru robota priekšpusē un iemācieties nolasīt tā datus datora ekrānā.
Ieprogrammējiet robotu braukt uz priekšu un automātiski apstāties tieši 10 cm pirms šķēršļa (kastes vai sienas).
set movement motors).start moving [Straight]. (Uzmanību: neizmantojiet bloku, kurā ir norādīts attālums!).wait until. Tajā ievietojiet gaiši zilo sensora bloku [Distance Sensor] closer than [10] [cm].stop moving. Pārbaudiet robotu trasē!Pārveidojiet kodu tā, lai robots nekad neapstātos: ieraugot šķērsli, tas pabrauc atpakaļ, pagriežas un turpina ceļu citā virzienā.
forever ciklā.stop moving bloka, pievienojiet komandu pabraukt nedaudz atpakaļ (piem., move [backward] for [10] [cm]).move [Right] for [150] [degrees]).forever ciklā, pēc pagrieziena robots automātiski atkal sāks braukt uz priekšu, līdz ieraudzīs nākamo šķērsli.Ātrākajām komandām – izveidojiet programmu, kurā robots cenšas ieturēt precīzi 15 cm distanci no jūsu rokas.
forever ciklu un If... Else (Ja... Tad...) loģikas blokus.move [Straight] for [10] cm (kam ir norādīts beigu punkts), tas ignorēs jūsu wait until sensoru. Vienmēr izmantojiet bezgalīgo start moving bloku kopā ar sensoriem.wait until blokā izvēlētais borts (piem., C) sakrīt ar reālo portu, kurā vads iesprausts fiziskajā Hubā.
# 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]%
forever:
start moving [Straight]
wait until [Distance Sensor on C] closer than [15] [cm]
stop moving
move [Backward] for [10] [cm]
move [Right] for [180] [degrees]