Robotika

mBot

mBot – izmjenično paljenje i gašenje pojedine LED diode do pritiska tipkala

Zadatak

Izradite kôd po kojem će robot izmjenično paliti LED diode svaku sekundu tako da se po uključivanju robota najprije upali desna LED dioda crvenom bojom dok je lijeva ugašena, a nakon toga da se plavom bojom upali lijeva LED dioda dok je desna ugašena. Ovakva izmjena paljenja i gašenja LED dioda neka traje sve dok se na robotu ne pritisne tipkalo. Pritiskom na tipkalo neka se LED dioda više ne pale.

Rješenje

Objašnjenje

Da bi se LED diode palile i gasile sve dok se ne pritisne tipkalo koristi se naredba repeat until on bord button pressed. Unutar te petlje smještene su naredbe koje će se izvršavati sve dok se ne zadovolji uvjet pritiskanja tipkala. Nakon što se uvjet ispuni, obje LED diode neće svijetliti i to definirano naredbom set all on bord red 0 green 0 blue 0 koja je postavljena ispod repeat until petlje.

Naredba set led on board led right red 150 green 0 blue 0 se nalazi na prvom mjestu unutar repeat petlje i zbog toga će desna LED dioda po uključivanju robota zasvijetliti crveno. Lijeva će LED dioda tada biti ugašena (set led on board led left red 0 green 0 blue). Takva situacija će trajati jednu sekundu (wait 1 secs). Nakon toga se desna LED dioda gasi naredbom set led on board led right red 0 green 0 blue 0, a lijeva se pali plavom bojom (set led on board led left red 0 green 0 blue 150) te to također traje jednu sekundu (wait 1 secs). Nakon toga će se ponovno paliti desna LED dioda crveno, pa lijeva plavo sve dok se ne pritisne tipkalo. Nakon pritiska LED diode se gase.