Na ostatnich zajęciach współpracowaliśmy z Bolkiem. Wyglądał on podobnie jak jego poprzednicy, różnił się tylko tym że dodatkowo miał wbudowany czujnik światła, dzięki któremu wiedział po jakim kolorze się porusza no i był w sumie trochę bardziej przerażający . Dodatkowo mieliśmy dostępną planszę na której była przestrzeń ograniczona czarną linią oraz kilka innych elementów, między innymi czerwone koło oznaczające klucz do wyjścia z zamkniętego obszaru.
Zdjęcia Bolka:
Na dzisiejszych zajęciach po raz drugi projektowaliśmy algorytmy przy wykorzystaniu interfejsu programistycznego PLNXT. Tym razem do labolatorium dołączona była dodatkowa instrukcja o triggerach i timerach, przy wykorzystaniu których można pisać o algorytmy dużo bardziej zaawansowane niż na poprzednich zajęciach. W tym tygodniu nie mieliśmy żadnych problemów jeśli chodzi o połączenie i komunikację z Bolkiem więc od razu wzięliśmy się za pisanie algorytmu.
Algorytm
Do wyboru mieliśmy kilka algorytmów takich jak: „więzień”, „sprzątacz”, „śledzenie linii”, „co przybyło?”. Postanowiliśmy wybrać algorytm „więzień”, który polegał na zatrzymaniu Bolka w obrębie czarnej linii do póki nie odnajdzie klucza którym było pole oznaczone kolorem czerwonym. Po zdobyciu klucza Bolek mógł zwiać z więzienia.
:-consult('plnxt.pl'). start:- nxt_open, nxt_light_LED(activate,force), go_on_buddy. go_on_buddy:- nxt_go(200), trigger_create(_,linia,[nxt_stop,wycofaj]), trigger_create(_,klucz,[nxt_stop,wyjedz]). wycofaj:- nxt_go_cm(-200,20), nxt_rotate(200,90), go_on_buddy. wyjedz:- nxt_go_cm(900, 100). linia:- nxt_light(Value,force), Value<30. klucz:- nxt_light(Value,force), Value>55, Value<60.
Plik algorytmu: wiezien.pl
Po stworzeniu algorytmów rozpoczęliśmy ich testowanie. Najpierw jednak postanowiliśmy przetestować czujniki jakie Bolek posiadał. Czujnik ultradźwiękowy spisywał się znakomicie, lecz jeśli chodzi o czujnik światła to z tym mieliśmy niestety nie małe problemy.