

| Drugi susret Lige kumpanije |
|
|
|
| Srijeda, 01 Prosinac 2010 10:21 |
|
Drugi regionalni susret Lige kumpanije se održao u Srednjoj školi Obrovac u srijedu, 10.11. Sam susret nije bio pretjerano dugotrajan i tematski raznolik. Rješavalo se svega par zadataka vezanih za rad motora, a sljedeće teme, senzora, smo se tek lagano dotakli. Prisustvovali su učenici srednjih škola Zadarske županije – Srednje škole Gračac i Obrovac, naša gimnazija te Tehnička škola. Susretu su se pridružili neki novi učenici i učenice. Atmosfera je ponovno bila ugodna i opuštena. Voditeljica je bila susretljiva Barbara Gavranović sa zagrebačkog FSB-a, koja je na jednostavan način objašnjavala gradivo i pomagala pri rješavanju pojedinih problema. Ugodnosti atmosfere je posebno pridonijela neobična, zanimljiva škola čiji hodnici su ispunjeni najrazličitijim maketama, slikama, biljkama i drugim predmetima te ogromna kutija koja nas je dočekala na središnjem stolu, krcata čokoladnim krafnama, a koja je ispražnjena za svega par minuta.
Sljedeći susret je zakazan za subotu, 4.prosinca, u Tehničkoj školi u Zadru. Uz to, u siječnju se planira nacionalni susret u Velikoj Gorici. Također je na stranici Lige kumpanije na Facebooku svaka škola morala prezentirati svoju grupu. Našu grupu, nazvanu Baraković Skynet Corp. (po zlobnom inteligentnom robotskom sustavu iz filma Terminator) trenutno činimo samo Porin Ćustić iz 3. a i ja (4. a). Voditeljica i prezentatorica grupe sam ja. Ovo je jedan od zadataka sa susreta: Robot se mora kretati u obliku slova L, poput konja (skakača) u šahu. Na njegovom ekranu treba pisati „Igram sah.“. Ovo programiranje je objektno-orijentirano programiranje s kojime naša grupa nije najbolje upoznata. Zato se nadam da mi se nije potkrala koja greška u objašnjenjima. /**Ovo je komentar. Sve unutar komentara ne utječe na izvršavanje programa.*/ /** „{“ označava početak bloka naredbi, „}“ označava kraj bloka naredbi, a „;“ označava kraj svake naredbe*/
/**Uvoz klasa koje će se koristiti u programu:*/ import com.ridgesoft.intellibrain.IntelliBrain; import com.ridgesoft.io.Display; /**klasa koja omogućuje upravljanje malim ekranom na robotu*/ import com.ridgesoft.robotics.Motor; /*klasa koja omogućuje kontroliranje motora robota*/ import com.ridgesoft.robotics.ContinuousRotationServo; /**klasa koja se odnosi na servo motore*/
public class Zadatak1 { /**inicijalizacija varijabli*/
private static final int snaga=14; /**odnosi se na snagu koju će razviti motor, tj. brzinu kojom će se kotači okretati, tj. robot kretati*/
private static Motor lijeviM; /**odnosi se na lijevi motor*/ private static Motor desniM; /** odnosi se na desni motor*/ public static void main(String args[]) {
/** Try je takva naredba koje će pokušati izvršiti sve „pod“ tom naredbom. Kako su moguće slučajne nasumične greške u sustavu (koje nisu zasluga programera), pridružuje joj se naredba „catch“ koja ispravlja te greške.*/
try{
/**inicijalizacija ekrana, kod nužan da bismo mogli dalje ispisivati tekst na njemu*/ Display ekran = IntelliBrain.getLcdDisplay();
/** lijevi kotač će se okretati u smjeru suprotnom od kazaljke na satu, a desni u smjeru kazaljke na satu, brzinom tj. snagom 14*/ Motor lijeviM = new ContinuousRotationServo(IntelliBrain.getServo(1), false, 14); Motor desniM = new ContinuousRotationServo(IntelliBrain.getServo(2), true, 14); /**ispis teksta na ekranu, 0 je prvi redak, 1 je drugi redak ekrana*/ ekran.print(0, "Opet"); ekran.print(1, "igram sah.");
/**početak kretanja*/
/**lijevi i desni motor imaju snagu „snaga“ koja je gore definirana kao 14, odnosno oba kotača, tj. čitav robot se kreće naprijed brzinom 14*/ lijeviM.setPower(snaga); desniM.setPower(snaga); Thread.sleep(1000); /** to će trajati 1000 milisekundi, odnosno 1 sekundu*/ /** sada se lijevi kotač vrti prema naprijed tom istom brzinom, a desni u suprotnom smjeru, suprotnom brzinom, što omogućuje skretanje robota nadesno*/ lijeviM.setPower(snaga); desniM.setPower(-snaga); Thread.sleep(600);
/**robot se ponovno kreće ravno 2 sekunde*/ lijeviM.setPower(snaga); desniM.setPower(snaga); Thread.sleep(2000);
/**robot miruje 2 sekunde, brzina tj.snaga je 0*/ lijeviM.setPower(0); desniM.setPower(0); Thread.sleep(2000);
/**rotacija robota za 180 stupnjeva*/ lijeviM.setPower(snaga); desniM.setPower(-snaga); Thread.sleep(1200);
/**sve se ponavlja, samo sada skreće ulijevo jer se robot mora vratiti na početnu poziciju */ lijeviM.setPower(snaga); desniM.setPower(snaga); Thread.sleep(2000);
lijeviM.setPower(-snaga); desniM.setPower(snaga); Thread.sleep(600); lijeviM.setPower(snaga); desniM.setPower(snaga); Thread.sleep(1000);
} /**kraj try iskaza*/ catch(Throwable t) { t.printStackTrace(); } } } /**kraj programa*/ Napisala Gorana Levačić |
