lego nxt napredno programiranje 1 · lego® nxt – napredno programiranje 1 25. srpanj 2010 marino...
TRANSCRIPT
-
LEGO® NXT – NAPREDNO PROGRAMIRANJE 1 25. srpanj
2010
Marino Čikeš 1
NXT – Napredno programiranje 1
Skripta je nastala radi proučavanja nekih naprednih postupaka programiranja u LEGO NXT softveru kao na primjer paralelno programiranje ili rad s „BLUETOOTH“. Kako se ne bi sve svelo samo na programiranje, projektiran je model robota koji pleše, odnosno vrti glavom i maše rukama. Sadržaj Uvod…………………………………………………………………………....................………………………………......….1 1. Hardver……………………………………………………………………………………………...……………...............….1 2. NXT softver za rad s „BLUETOOTH“………………………………………….……………......................….….8 3. Aktivnosti .……………………………………………………………………………………………......................…….10 4. NXT softver za upravljanje s memorijom NXT-kocke…………………………………………................13 Zaključak.…...………………………………………………………………………………………………..........................14 1. Hardver
Robot koji pleše
Upute za sklapanje:
Slika 1. Sagraditi ćete robota koji može mahati rukama i okretati glavom
-
Slika 4. Ne daj
LEGO® NXT – NAPREDNO PROGRAMIRAN
Marino Čikeš
Slika 2. Krenite od tijela s nogama
Slika 3. Ovaj robot ima četiri noge
Slika 4. Ne dajte se zbuniti, prednje noge su duže od zadnjih
NAPREDNO PROGRAMIRANJE 1 25. srpanj
2010
2
prednje noge su duže od zadnjih
-
Slika 5. Iako se na slici ne vidi morate spojiti dva osjetila dodira
Slika 6. Ovo su nosači za ruke
Slika 7. Ovo je prednje stopalo
LEGO® NXT – NAPREDNO PROGRAMIRAN
Marino Čikeš
. Iako se na slici ne vidi morate spojiti dva osjetila dodira
Slika 6. Ovo su nosači za ruke robota čiji opis slijedi kasnije
Slika 7. Ovo je prednje stopalo. Trebate sagraditi dva stopala
NAPREDNO PROGRAMIRANJE 1 25. srpanj
2010
3
. Iako se na slici ne vidi morate spojiti dva osjetila dodira
dva stopala
-
LEGO® NXT – NAPREDNO PROGRAMIRANJE 1 25. srpanj
2010
Marino Čikeš 4
Slika 8. Pažnja! Ta dva stopala morate spojiti sprijeda
Slika 9. Ovo je zadnje stopalo. Trebate dva takva stopala
-
LEGO® NXT – NAPREDNO PROGRAMIRAN
Marino Čikeš
Slika 10. Tijelo i noge su zgotovljeni
Slika 11. Ovo je motor za ruke
NAPREDNO PROGRAMIRANJE 1 25. srpanj
2010
5
-
Slika 12. Nisu neke ruke, a
Slika 13. Međusobno s
LEGO® NXT – NAPREDNO PROGRAMIRAN
Marino Čikeš
Slika 12. Nisu neke ruke, ali s njima će robot moći mahati
Slika 13. Međusobno spojite tijelo i ruke
NAPREDNO PROGRAMIRANJE 1 25. srpanj
2010
6
-
Slika 15. Ovo je nosač gl
Slika 16. Spoji
LEGO® NXT – NAPREDNO PROGRAMIRAN
Marino Čikeš
Slika 14. Sastavite glavu
Slika 15. Ovo je nosač glave s ugrađenim osjetilom zvuka
Slika 16. Spojite glavu na nosač te spojite nosač na tijelo
NAPREDNO PROGRAMIRANJE 1 25. srpanj
2010
7
-
Slika 17. Preostalo je spojiti kablovedodira spojite na „INPUT“ 2 i 3 NXT
2. NXT softver za rad s „BLUETOOTH
Pripremne radnje
1. Na USB ulaz računala priključi2. Uključite NXT kocku. Sa svijetlosivim tipkama pronađi
Slika 18. PronađiPronađite ikonu „VISIBILITY
Pronađite ikonu „
3. Na računalu, dvostruki klik na ikonu „4. „START NEW PROGRAM“ 5. Na dnu desno pronađite
LEGO® NXT – NAPREDNO PROGRAMIRAN
Marino Čikeš
Preostalo je spojiti kablove. Elektromotore spojite na „OUTPUT“ A i B NXT “ 2 i 3 NXT kocke, a osjetilo zvuka (mikrofon) spojite
BLUETOOTH“
računala priključite „BLUETOOTH“ stik. kocku. Sa svijetlosivim tipkama pronađite ikonu „BLUETOOTH
Slika 18. Pronađite ikonu „BLUETOOTH“ i pritisnite narančastu tipku.VISIBILITY“ i pritisnite narančastu tipku. Prihvatite „
ikonu „ON/OFF“ i pritisnite narančastu tipku. Prihvatite
vostruki klik na ikonu „NXT 2.0 PROGRAMMING“. “ → „GO>>“
te kontrolora i kliknite na „NXT WINDOW“ .
NAPREDNO PROGRAMIRANJE 1 25. srpanj
2010
8
“ A i B NXT kocke. Osjetila te na „INPUT“ 1
BLUETOOTH“ (vidjeti sliku).
narančastu tipku. „VISIBLE“.
te „ON“
-
Slika 19. Ovo je kontrolor. Klikni
6. Otvara se „NXT WINDOW
Slika 20. Kad kliknete na „SCAN
7. Nakon kraćeg vremena pojavljuje se popis.
Slika 21. S popisa izaberi
8. Ako ovo radite prvi puta tada će se pojaviti skočni prozor „
Slika 22. Ponuđena je lozinka „1234“
LEGO® NXT – NAPREDNO PROGRAMIRAN
Marino Čikeš
Slika 19. Ovo je kontrolor. Kliknite na programsku tipku „NXT WINDOW
NXT WINDOW“. Kliknite na programsku tipku „SCAN“.
SCAN“ računalo će automatski potražiti uređaje s „
Nakon kraćeg vremena pojavljuje se popis.
Slika 21. S popisa izaberite uređaj i kliknite na programsku tipku „CON
prvi puta tada će se pojaviti skočni prozor „ENTER PASSKEY
Slika 22. Ponuđena je lozinka „1234“. Prihvatite s „OK“
NAPREDNO PROGRAMIRANJE 1 25. srpanj
2010
9
NXT WINDOW“
uređaje s „BLUETOOTH“
CONNECT“
ENTER PASSKEY“.
-
9. Sačekajte da se NXT kocka oglasi.
Slika 23. Pritiskom na tipku prihvaćate
10. U „NXT WINDOW“ promijenioračunalo i vaša NXT kocka su sada u vezi i mogu izmjenjivati podatke.
Slika 24. S desne strane prozora moguće
3. Aktivnosti
Prvi program
Ovim ćete programom naučiti kako se u NXT jedinice (na primjer motori) rade neovisno.
Slika 25. i 26. Prvi dio programa. Kada ga završitekliknete na središnju programsku tipku kontrolora koja se naziva „
LEGO® NXT – NAPREDNO PROGRAMIRAN
Marino Čikeš
kocka oglasi. Pritisnite narančastu tipku na NXT kocki.
23. Pritiskom na tipku prihvaćate ponuđenu lozinku „1234“
“ promijenio se status, umjesto „AVAILABLE“ piše „CONNECTkocka su sada u vezi i mogu izmjenjivati podatke.
Slika 24. S desne strane prozora moguće je pratiti stanje baterije NXT kocke. Kliknite na programsku
tipku „CLOSE“
kako se u NXT softveru može programirati paralelno rade neovisno.
vi dio programa. Kada ga završite morate ga otpremiti u memoriju NXT na središnju programsku tipku kontrolora koja se naziva „DOWNLO
NAPREDNO PROGRAMIRANJE 1 25. srpanj
2010
10
kocki.
234“
CONNECTED“. Vaše
knite na programsku
paralelno tako da izlazne
u memoriju NXT kocke tako što DOWNLOAD AND RUN“
-
LEGO® NXT – NAPREDNO PROGRAMIRANJE 1 25. srpanj
2010
Marino Čikeš 11
Objašnjenja Program čeka da netko pritisne lijevo osjetilo dodira (koje je spojeno na „INPUT“ 2 NXT kocke). Kad se to ostvari robot se oglasi s „YES“ i odmah nakon toga zavrti glavom za dvije rotacije (motor glave spojen je na „OUTPUT“ B NXT kocke). Sve se nalazi u beskonačnoj petlji pa se taj dio programa može ponavljati. U nastavku nacrtajte dijagram za drugi dio programa.
Slika 27. i 28. Prvi dio programa ostaje isti, a paralelno njemu dodajete novi dijagram. I ovaj program morate otpremiti u NXT kocku s klikom na odgovarajuću tipku kontrolora
Napomena Radi dobivanja crte koja povezuje paralelni dijagram s početkom programa morate učiniti slijedeće:
• Ispod prvog reda dijagrama (iz prethodnog primjera) dovucite i zalijepite blok „LOOP“.
• Pokazivač miša postavite na donju rupicu početnog bloka (početni blok sliči polegnutom slovu T). Pritisnite i držite pritisnut lijevi klik miša. Potegnite pokazivač miša na početak donjeg bloka „LOOP“ i otpustite lijevi klik miša.
• Nastavite s ubacivanjem blokova u donji dijagram.
Objašnjenja Gornji dio dijagrama je nedirnut tako da se robot ponaša kako je već opisano. U donjem dijelu paralelno je dodan dijagram koji čeka da netko pritisne desno osjetilo dodira (koje je spojeno na „INPUT“ 3 NXT kocke). Kad se to ostvari robot se oglasi s „GOOD“ i odmah nakon toga zavrti rukama za dvije rotacije (motor ruku spojen je na „OUTPUT“ A NXT kocke). Sve se nalazi u beskonačnoj petlji pa se taj dio programa može ponavljati. Radi dokazivanja da se dva motora vrte neovisno pokrenite program te naizmjence pritišćite lijevo i desno osjetilo dodira. Možete i obrnutim redoslijedom, najprije desno, a zatim lijevo osjetilo.
-
LEGO® NXT – NAPREDNO PROGRAMIRANJE 1 25. srpanj
2010
Marino Čikeš 12
Drugi program
Slika 29. Nacrtajte program i otpremite ga u NXT kocku Napomena Iz blokova na slici ne vide se sve postavke pa su navedene ovdje dolje:
• Blok „SOUND“ – kod „FUNCTION:“ čekirajte „REPEAT“; kod „FILE:“ izaberite „! BEATS 04“.
• Blok „WAIT SOUND“- kod „PORT“ izaberite 1; kod „SOUND:“ izaberite > 90.
• Srednji blok „LOOP“ – kod „CONTROL:“ izaberite „SENSOR“; kod „SENSOR“ izaberite „TOUCH SENSOR“; kod „PORT“ izaberite 2.
• Donji blok „LOOP“ – kod CONTROL:“ izaberite „SENSOR“; kod „SENSOR“ izaberite „TOUCH SENSOR“; kod „PORT“ izaberite 3.
Objašnjenja Gornji dijagram pokreće zvuk. Istovremeno, srednji dijagram pokreće motor ruku, a donji dijagram pokreće motor glave. Motor ruku je u petlji, a moguće ga je zaustaviti pritiskom na lijevo osjetilo dodira. Motor glave je također u petlji, a moguće ga je zaustaviti pritiskom na desno osjetilo dodira. Iako nije u petlji, ritam svira neprekidno jer je namještena funkcija ponavljanja (REPEAT). Ritam prestaje kada se ispred osjetila zvuka proizvede jak zvuk, na primjer kada se pljusne rukama.
-
4. NXT softver za upravljanje s memorijom NXT
Obzirom da je memorija NXT kocke relativno malaneminovno je da se popuni do kraja. Kada se to desi valja Sama NXT kocka omogućava brisanje nepotrebnih programa, slika i zvuknapredniji ako se za to koristi računalo.Uključite NXT kocku. Na računaluNXT PROGRAMMING“ pokrenite
U tom prozoru kliknite na izbornik „
Slika 32. Sačekajte trenutak da se prozor ispuni sa
Proučite sadržaj. S lijeve strane u „memorije. Pokraj određene boje nalazi se i ime mape. Mapa „njen sadržaj prikazan u središnjem prozoru. Kliknisredišnji prozor.
LEGO® NXT – NAPREDNO PROGRAMIRAN
Marino Čikeš
za upravljanje s memorijom NXT kocke
kocke relativno mala (oko 100 kB), nakon nekoliko programiranja neminovno je da se popuni do kraja. Kada se to desi valja ju isprazniti.
a brisanje nepotrebnih programa, slika i zvukova, no postupak je znatno ako se za to koristi računalo.
a računalu, u prozoru kontrolora, u softveru „LEGO MINDSTte „NXT WINDOW“.
Slika 30. Prozor kontrolora
Slika 31. Otvara se „NXT WINDOW“
na izbornik „MEMORY“.
trenutak da se prozor ispuni sa sadržajima koji se nalaze u NXT
sadržaj. S lijeve strane u „NXT MEMORY USAGE:“ grafički je prikazana popunjenost
memorije. Pokraj određene boje nalazi se i ime mape. Mapa „SOUND“ je podebljana što znači da je njen sadržaj prikazan u središnjem prozoru. Kliknite na mapu „PROGRAM“ i saček
NAPREDNO PROGRAMIRANJE 1 25. srpanj
2010
13
, nakon nekoliko programiranja
ova, no postupak je znatno
MINDSTORMS EDUCATION
sadržajima koji se nalaze u NXT kocki
“ grafički je prikazana popunjenost “ je podebljana što znači da je
“ i sačekaj da se popuni
-
LEGO® NXT – NAPREDNO PROGRAMIRANJE 1 25. srpanj
2010
Marino Čikeš 14
Slika 33. Za ovaj primjer samo se dva programa nalaze u memoriji
Kako brisati? Pazite, budite inteligentni! Najlakše je kliknuti na programsku tipku „DELETE ALL“, međutim jeste li sigurni da u računalu imate kopije svih tih programa? Jer kad ih pobrišete više nema povratka. Ako neke programe želite sačuvati možete ih otpremiti nazad u računalo. Kako otpremiti programe s NXT kocke na računalo:
• Kliknite na ime programa da postane narančaste boje.
• Kliknite na programsku tipku „UPLOAD“.
• U dijaloškom okviru „BROWSE FOR FOLDER“ izaberite mapu gdje želite da se program pospremi, na primjer „DESKTOP“ i kliknite na „OK“.
• Sada program možete i brisati iz NXT kocke klikom na programsku tipku „DELETE“.
• Pospremljeni program dobiva ime koje je imalo u NXT-kocki, a njegova ekstenzija je .rxe, a to znači da je to program koji je pisan u tako zvanom strojnom kodu te ga nećete moći otvoriti s NXT softverom, ali ćete ga moći ponovno vratiti u memoriju NXT kocke jednostavnim klikom na programsku tipku „DOWNLOAD“. U skočnom prozoru „SELECT A FILE TO DOWNLOAD“ ga trebate pronaći i obilježiti, a zatim kliknuti na „OK“.
Na vrhu prozora „NXT WINDOW“ nalazi se pretinac s imenom „SHOW SYSTEM FILES“. Čekirajte, a u grafičkom prikazu kliknite na „OTHER“. Prikazuje se sadržaj s važnim programima sistema. Preporuka je da to ne brišete jer bi NXT kocka mogla prestati raditi (to je kao kada u računalu prčkate po sistemu Windowsa, a kada sprčkate onda su to problemi). Skinite kvačicu! Zaključak Kao što je vidljivo iz svih ovih primjera NXT softver nije kompliciran, jednostavno treba isprobavati sve što se nudi.